/* =======================================================================
   MAISON ILÉ IFÈ · Édition architecturale — V8
   Couleurs pleines, sans glassmorphism, mise en page éditoriale.
   Cette feuille complète style.css sans modifier ses interactions.
   ======================================================================= */
:root{
  --ed-green:#0b2b20;
  --ed-green2:#12382b;
  --ed-green3:#1b4736;
  --ed-cream:#f5f4ee;
  --ed-white:#fff;
  --ed-ink:#182e24;
  --ed-muted:#526457;
  --ed-coral:#b65238;
  --ed-coral-bright:#e77a58;
  --ed-rule:#d5dcd3;
  --ed-dark-rule:#315344;
  --ed-gutter:clamp(20px,4.1vw,48px);
  --wrap:1200px;
  --gutter:var(--ed-gutter);
}
html{scroll-behavior:smooth}
body{font-size:1.025rem;line-height:1.6;background:var(--ed-green);color:var(--ed-ink)}
body,button,input,textarea,select{font-family:var(--f-text)}
h1,h2,h3{letter-spacing:-.014em}
.section{padding-block:clamp(58px,5.6vw,82px)}
.section--light{background:var(--ed-cream);--fg:var(--ed-ink);--muted:var(--ed-muted);--line:var(--ed-rule);--surface:#fff}
.section--deep,.section--palm{background:var(--ed-green);--fg:#fff;--muted:#d6e3d9;--line:var(--ed-dark-rule);--surface:var(--ed-green2);color:#fff}
.section:nth-of-type(2n).section--light{background:#f9f8f4}
.wrap{max-width:calc(1200px + var(--gutter)*2)}
.section__head{margin-bottom:clamp(24px,3.3vw,38px)}
.h1{font-size:clamp(3rem,5.4vw,5.2rem);line-height:1.045}
.h2{font-size:clamp(2rem,3.1vw,2.95rem);line-height:1.13;max-width:20ch}
.h3{font-size:clamp(1.32rem,1.8vw,1.64rem);line-height:1.23}
.h4{font-size:1.07rem}
.lead{font-size:clamp(1rem,1.16vw,1.11rem);line-height:1.65;margin-top:13px;max-width:59ch}
.note{font-size:.875rem;line-height:1.53}
.credit{font-size:.75rem;line-height:1.5}
.section__eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--ed-coral)!important;font-weight:800;font-size:.78rem!important;letter-spacing:.12em;margin-bottom:16px!important}
.section--deep .section__eyebrow,.section--palm .section__eyebrow{color:#e9a38b!important}
.section__eyebrow .ui-icon{width:21px;height:21px;flex:none;stroke-width:1.8}
.section__eyebrow span{font-variant-numeric:tabular-nums;color:inherit}
.section__eyebrow::after{display:none!important}
.section--deep .h2,.section--deep .h3,.section--deep .h4,.section--palm .h2,.section--palm .h3,.section--palm .h4{color:#fff}
.section--deep .lead,.section--deep .note,.section--deep .credit,.section--palm .lead,.section--palm .note,.section--palm .credit{color:#d9e6de}
.section--light .h2,.section--light .h3,.section--light .h4{color:var(--ed-ink)}
.section--light .lead,.section--light .note{color:var(--ed-muted)}
:where(.section,.hero) :where(button,a){-webkit-tap-highlight-color:transparent}
:where(.section,.hero) button:focus-visible,:where(.section,.hero) a:focus-visible{outline:3px solid #d89075;outline-offset:4px}

/* NO GLASS / SOLID COLORS */
.site-header,.site-header.is-solid,.site-header.is-open{background:var(--ed-green)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;border-bottom:1px solid #315042}
.site-header .nav{gap:clamp(10px,1.5vw,22px)}
.site-header .nav a:not(.btn){font-weight:650;font-size:.88rem}
.site-header .nav a.is-current:not(.btn){border-color:var(--ed-coral-bright);color:#fff}
.nav.is-open{background:var(--ed-green)!important}
.btn{font-size:.91rem;font-weight:750;border-radius:6px;min-height:46px;padding-inline:20px;box-shadow:none!important;transition:background-color .2s,transform .2s,border-color .2s}
.btn--coral{background:var(--ed-coral);color:#fff!important}
.btn--coral:hover{background:#ae4f36;color:#fff!important}
.btn--ink{background:var(--ed-green);color:#fff!important}
.btn--ink:hover{background:#1e4e3b;color:#fff!important}
.btn--ghost{background:transparent;border-color:currentColor;color:inherit}
.section--deep .btn--ghost,.section--palm .btn--ghost,.hero .btn--ghost{color:#fff!important;border-color:#819e8c}
.section--light .btn--ghost{color:var(--ed-ink)!important}
.btn--sm{min-height:40px;padding-inline:14px}
.nav__cta{border-radius:6px}

/* EDITORIAL HEADER */
.hero{background:var(--ed-green)!important;padding-top:calc(var(--header-h) + clamp(38px,5vw,72px));overflow:hidden}
.hero__lattice{opacity:.065}
.hero__grid{align-items:center;gap:clamp(32px,4.2vw,64px);padding-bottom:clamp(30px,4vw,54px)}
@media(min-width:980px){.hero__grid{grid-template-columns:1.08fr .92fr}}
.hero__eyebrow{letter-spacing:.11em;font-weight:750;font-size:.76rem;color:#e99f86}
.hero__tagline{margin-top:8px;color:#efc6b6;font-size:1.06rem;letter-spacing:.008em}
.hero__lead{max-width:49ch;font-size:clamp(1.06rem,1.28vw,1.2rem);line-height:1.62;margin-top:21px}
.hero__coverline{margin-top:16px;padding-left:14px;border-left:3px solid var(--ed-coral-bright);color:#e5eee7;font-size:.86rem;line-height:1.5}
.hero__coverline span{opacity:.75}
.hero__cta{margin-top:23px;gap:10px}
.hero__proof{font-size:.87rem;margin-top:20px;color:#cedbd2}
.hero__arch{max-width:480px}
.hero__frame{padding:0;background:none!important;box-shadow:none!important;border:0!important}
.hero__frame::before{opacity:.7}
.arch{border-radius:220px 220px 5px 5px}
.hero__arch .credit{margin-top:22px}
.hero__stats{background:transparent!important;box-shadow:none!important;border-top:1px solid var(--ed-dark-rule)!important;border-radius:0!important;gap:0}
.hero__stats>div{padding:18px 24px 20px 0}
.hero__stats dd{font-size:clamp(1.7rem,2.6vw,2.28rem)}
.hero__stats dt{font-size:.82rem;color:#c4d4c8}

/* PROJECT — remove nested boxes */
.split{gap:clamp(26px,3.4vw,48px)}
@media(min-width:980px){.split--wide{grid-template-columns:1.09fr .91fr}}
.steps3{margin-top:24px;gap:0;max-width:64ch}
.steps3 li{padding:13px 0 14px 46px;border-bottom:1px solid var(--ed-rule);background:none!important;border-radius:0!important;line-height:1.52;font-size:.95rem}
.steps3 li:first-child{border-top:1px solid var(--ed-rule)}
.steps3 li::before{width:28px;height:28px;top:13px;background:var(--ed-green);font-size:.89rem;color:#fff}
.fund{background:#fff!important;border:1px solid #e1e5de!important;border-radius:8px!important;box-shadow:none!important;padding:clamp(22px,2.5vw,32px)}
.fund__title{font-size:.91rem;color:var(--ed-muted)}
.fund__title strong{font-size:1.85rem;color:var(--ed-ink)}
.fund__bar{margin-top:18px;height:76px;border-radius:5px}
.fund__seg{padding:13px}
.fund__seg--raise{background:var(--ed-coral);color:#fff}
.fund__seg--raise strong{color:#fff!important}
.fund__legend{gap:12px;margin-top:16px}
.fund__legend li{background:none!important;padding:0;font-size:.89rem;line-height:1.5}
.fund__legend b{color:var(--ed-ink)}

/* ARCHITECTURE — image as hero, text in editorial columns */
#concept .wrap{display:block}
#concept .section__head{max-width:850px}
@media(min-width:1000px){
 #concept .wrap{display:grid;grid-template-columns:1.16fr .84fr;grid-template-areas:'head head' 'gallery cols' 'gallery roles';gap:20px 42px;align-items:start}
 #concept .section__head{grid-area:head;margin-bottom:6px;max-width:none}
 #concept .gallery{grid-area:gallery}
 #concept .concept__cols{grid-area:cols;display:grid;grid-template-columns:1fr;gap:22px;margin-top:0}
 #concept .roles{grid-area:roles;align-self:end;margin-top:5px}
}
.gallery{margin-top:0}
.gallery__stage{aspect-ratio:16/10;border-radius:5px!important;border:0!important;background:#14382b!important;box-shadow:none!important}
.gallery__cap{padding:11px 18px;background:#112b21!important;color:#fff!important;box-shadow:none!important}
.gallery__nav{width:38px;height:38px;border-radius:4px;background:#0c3023!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.gallery__nav:hover{background:var(--ed-coral)!important;color:#fff!important}
.gallery__thumbs{gap:7px;margin-top:8px}
.thumb{border-radius:2px;box-shadow:none!important}
.gallery__tour{background:var(--ed-green3)!important;color:#fff!important;border:1px solid #4c6c59!important;border-radius:5px;box-shadow:none!important}
.gallery__bottom{margin-top:12px}
.concept__col{padding:0!important;border:0!important;border-top:1px solid var(--ed-dark-rule)!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.concept__col .h3{font-size:clamp(1.25rem,1.6vw,1.54rem);margin:14px 0 8px;color:#fff}
.concept__col p{color:#dbe8df!important;font-size:.95rem;line-height:1.58}
.roles{border-top:1px solid var(--ed-dark-rule);padding-top:14px;margin-top:17px;font-size:.82rem}

/* EARTH — natural vertical rhythm, no tiles */
#ecologie{background:#f7f6f1}
@media(min-width:980px){.split--eco{grid-template-columns:1.15fr .85fr;align-items:start}}
.earth{margin-top:26px;gap:18px 24px}
@media(min-width:660px){.earth{grid-template-columns:repeat(2,minmax(0,1fr))}}
.earth__item{padding:12px 0 0;border:0!important;border-top:2px solid #cbd4c9!important;background:none!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
.earth__item:hover{border-color:var(--ed-coral)!important}
.earth__item dt{font-size:.96rem;margin:0 0 5px;color:var(--ed-ink)}
.earth__item dd{font-size:.9rem;line-height:1.54;color:var(--ed-muted)}
.eco__fig img{aspect-ratio:1/1.05;object-fit:cover;border-radius:5px;box-shadow:none!important}
.eco__fig{position:static!important}
.quote{margin-top:27px;border-color:var(--ed-coral);padding-left:22px}
.quote p{font-size:clamp(1.25rem,1.85vw,1.58rem);line-height:1.32}
.quote footer{font-size:.88rem}

/* CLIMATE — clean controls, graphic, table */
#climat{background:#103629}
.climate__grid{gap:22px 40px;align-items:center}
@media(min-width:960px){.climate__grid{grid-template-columns:.78fr 1.22fr}}
.climate__tabs{gap:7px}
.ctab{min-height:46px;padding:11px 14px;border-radius:3px;background:transparent!important;border:1px solid #3a5c4a;color:#fff!important;font-size:.92rem}
.ctab:hover{background:var(--ed-green3)!important}
.ctab.is-on{background:var(--ed-coral)!important;border-color:var(--ed-coral)!important;color:#fff!important;box-shadow:none!important}
.ctab::before{width:7px;height:7px}
.ctab.is-on::before{background:#fff;border-color:#fff}
.climate__text{padding:12px 0 0;color:#e1eade!important;font-size:.95rem;line-height:1.55;min-height:0}
.climate__svg{border:0;border-radius:5px}
.climate__legend{color:#d8e4db;font-size:.82rem}
.compare{margin-top:32px}
.compare__head{margin-bottom:14px}
.seg{border-color:#6c937d;border-radius:4px}
.seg__b{font-size:.8rem;border-radius:2px;padding:9px 10px;color:#fff!important}
.seg__b.is-on{background:var(--ed-coral)!important;color:#fff!important}
.compare__table{box-shadow:none!important}
.compare__table th,.compare__table td{padding:11px 13px;border-color:#355647;font-size:.9rem;color:#e1ece3!important}
.compare__table thead th{background:none!important;color:#e7efe7!important}
.compare[data-pick=ile] .c-ile,.compare[data-pick=classic] .c-classic{background:#1b4938!important;color:#fff!important}
.duo{margin-top:23px;gap:20px}
.duo p{background:none!important;border:0!important;box-shadow:none!important;border-top:1px solid #527160!important;border-radius:0!important;padding:12px 0 0;color:#dbe8df!important;font-size:.94rem}
.duo b{color:#fff}

/* PLANS — data at glance, large plan */
#plans{background:#f7f7f2}
.facts{border-top:1px solid #c9d3c8}
.facts>div{padding-block:16px}
.facts dd{font-size:clamp(1.75rem,2.8vw,2.44rem);color:var(--ed-ink)}
.facts dt{font-size:.83rem;color:var(--ed-muted)}
.plans{margin-top:25px}
.plans__tabs{margin-bottom:17px}
.ptab{border:1px solid var(--ed-rule);border-radius:4px;padding:9px 15px;font-size:.9rem}
.ptab.is-on{background:var(--ed-green)!important;color:#fff!important;border-color:var(--ed-green)}
.plan{gap:24px}
@media(min-width:1000px){.plan{grid-template-columns:1.12fr .88fr}}
.plan__stage,.plan__stage img{border-radius:4px;box-shadow:none!important}
.rooms{gap:0}
.rooms li{background:none!important;border-bottom:1px solid var(--ed-rule);border-radius:0}
.rooms li button{padding:10px 5px;color:var(--ed-ink)!important;font-size:.91rem;border:0;background:transparent!important}
.rooms li button:hover,.rooms li.is-on button{background:#e9eee6!important}
.rooms li button b{font-size:.73rem;color:var(--ed-muted)}
.includes{margin-top:32px;gap:28px}
.ticks{gap:10px}
.ticks li{font-size:.93rem}
.includes__fig img{border-radius:4px;box-shadow:none!important;aspect-ratio:16/9}

/* LOCATION — list lines vs image */
#localisation{background:#0e3023}
@media(min-width:980px){.split--loc{grid-template-columns:1fr 1fr}}
.ladder{margin-top:22px;gap:0}
.ladder__row{padding:11px 0;border-bottom:1px solid #375746}
.ladder__row:hover{padding-left:0}
.ladder__name{font-size:.95rem;color:#fff}
.ladder__time,.ladder__note{font-size:.83rem;color:#e0eae1!important}
.ladder__time b{font-size:1.17rem;color:#f0a88f}
.ladder__track{height:4px;margin-top:8px;background:#264d3a}
.ladder__note{margin-top:5px}
.loc__img{aspect-ratio:1.3/1;border-radius:4px;border:0}
.callout{background:var(--ed-green2)!important;border:0!important;border-left:3px solid var(--ed-coral)!important;border-radius:0!important;box-shadow:none!important;margin-top:17px;padding:17px 19px}
.callout .h3{font-size:1.27rem;color:#fff!important}
.callout p{font-size:.91rem;line-height:1.58;color:#e0eae1!important}

/* INVESTMENT — two offers, one strong simulator */
#investir{background:#f7f6f1}
@media(min-width:1100px){
 #investir .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:'head head' 'formulas sim' 'tr sim' 'journey journey';gap:20px 32px;align-items:start}
 #investir .section__head{grid-area:head;margin-bottom:6px}
 #investir .formulas{grid-area:formulas;grid-template-columns:1fr;margin:0}
 #investir .sim{grid-area:sim}
 #investir .tr{grid-area:tr;margin:0}
 #investir .journey{grid-area:journey;margin-top:12px}
}
.formulas{gap:10px}
.formula__body{padding:17px 20px;border:1px solid var(--ed-rule);border-radius:5px!important;background:#fff!important;box-shadow:none!important}
.formula:hover .formula__body{border-color:#98a99c;box-shadow:none;transform:none}
.formula input:checked+.formula__body{border-color:var(--ed-coral)!important;box-shadow:inset 3px 0 0 var(--ed-coral)!important}
.formula__stake{font-size:clamp(2rem,3vw,2.8rem);color:var(--ed-ink)}
.formula__top{align-items:center}
.formula__seats{border-radius:3px;font-size:.78rem}
.formula__rows{margin-top:10px}
.formula__rows span{padding:8px 0;font-size:.87rem}
.sim{padding:clamp(21px,2.3vw,30px);border:0!important;border-radius:5px!important;background:var(--ed-green)!important;box-shadow:none!important}
.sim__top .h3{color:#fff}
.sim__read{font-size:.96rem;line-height:1.56;color:#dfe8df;min-height:0}
.sim__read strong{color:#ffc1aa}
.chart{margin-top:19px}
.chart__plot{height:clamp(200px,21vw,265px)}
.chart__axis,.chart__years,.chart__legend{color:#d6e3da}
.sim__controls{margin-top:17px}
.sim__controls label{font-size:.86rem}
.sim .btn--ink{background:#fff!important;color:var(--ed-green)!important}
.sim .btn--ink:hover{background:#e9efeb!important;color:var(--ed-green)!important}
.kpis{margin-top:21px;background:transparent!important;border-radius:0;gap:0;border-top:1px solid #315745;border-bottom:1px solid #315745}
.kpis>div{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:14px 10px 13px}
.kpis dt{color:#b4cbb9;font-size:.77rem}
.kpis dd{color:#fff;font-size:clamp(1.08rem,1.3vw,1.35rem);overflow-wrap:anywhere}
.sim__cta{margin-top:20px}
.sim__cta .note{color:#d4dfd6}
.table-more{border-top:1px solid #315745;margin-top:18px;padding:0;background:none!important;border-radius:0!important;box-shadow:none!important}
.table-more summary{padding:12px 0;font-size:.9rem;color:#fff}
.tbl{font-size:.84rem}
.tbl th,.tbl td{padding:9px 10px}
.tbl thead th{color:#dce7df}
.tbl--schedule{min-width:700px}
.sched-card{background:#153b2d!important;border:1px solid #315745!important;border-radius:4px;box-shadow:none!important}
.sched-card__col{background:#1c4736!important;border-radius:3px}
.sched-card dt,.sched-card__total span{color:#c6d7cc!important}
.sched-card dd,.sched-card__title,.sched-card__head h4{color:#fff!important}
.tr__bar{margin-top:12px;gap:6px}
.tr__seg{border:1px solid #d7ded5!important;border-radius:4px!important;background:#fff!important;color:var(--ed-ink)!important;padding:10px!important}
.tr__seg.is-on{background:var(--ed-green)!important;color:#fff!important;border-color:var(--ed-green)!important}
.tr__seg.is-on .tr__name,.tr__seg.is-on .tr__pct{color:#fff!important}
.tr__seg:hover{transform:none;border-color:var(--ed-green)!important}
.tr__pct{font-size:1.5rem}
.tr__name{font-size:.75rem}
.tr__panel{padding:14px 16px;border:1px solid var(--ed-rule);border-radius:4px;background:#fff;box-shadow:none!important}
.tr__panel>p:not(.tr__lead){font-size:.86rem}
.tr__amts{margin-top:11px;gap:10px 18px}
.tr__amts dd{font-size:1.25rem}
.journey--h{margin-top:30px}
@media(min-width:900px){.journey--h{gap:17px}}
.journey--h li{font-size:.86rem;line-height:1.5}
.journey b{color:var(--ed-ink)}
.journey span{color:var(--ed-muted)}

/* RENTABILITY — simulator and calculations well organized */
#rentabilite{background:#0e3024}
.stress{background:var(--ed-green2)!important;border:0!important;border-radius:5px!important;box-shadow:none!important;padding:clamp(18px,2.2vw,28px)}
.stress__ctrl .h3{color:#fff}
.range{margin-top:16px}
.range label{font-size:.9rem}
.gauge{background:#244d39;border-radius:4px}
.gauge__net{background:var(--ed-coral);color:#fff!important;border-radius:4px}
.gauge__pay span{color:#fff}
.stress__out>div{padding:11px 0}
.stress__out dt,.stress__out dd{font-size:.93rem}
.stress__out .is-main dd{color:#ffc1aa}
.status{border-radius:3px;background:#1f5b44;color:#fff}
.yields{margin-top:31px}
.yields .h3{margin-bottom:8px}
.table-more--dark{margin-top:15px}
#rentabilite .duo p{border-color:#52705d}

/* COMPANY — timeline and narrative without boxes */
#porteur{background:#f7f6f1}
.porteur__logo{margin-bottom:18px}
.facts--tight{margin-top:21px}
.facts--tight dd{font-size:1.87rem}
.journey--v{gap:0}
.journey--v li{padding:0 0 23px 46px;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.journey--v li::before{background:var(--ed-green);color:#fff}
.journey--v li b{color:var(--ed-ink)}
.journey--v li span{font-size:.9rem}
#porteur .duo p{background:none!important;border:0!important;border-top:1px solid #c7d1c6!important;box-shadow:none!important;padding:12px 0 0;color:var(--ed-muted)}
#porteur .duo p b{color:var(--ed-ink)}
#porteur .quote{margin-top:28px}

/* WHY — simple text columns and official ODD colors */
#pourquoi{background:#103428}
.why{gap:20px}
.why__item{padding:12px 0 0!important;background:none!important;border:0!important;border-top:2px solid #b26d55!important;border-radius:0!important;box-shadow:none!important}
.why__item .h4{font-size:1rem;color:#fff}
.why__item p{color:#dce8df;font-size:.91rem;line-height:1.58}
.odd__title{margin-top:30px;margin-bottom:15px}
.odd{gap:8px}
.odd__item{min-height:103px;border-radius:3px;box-shadow:none!important;padding:12px}
.odd__item b{font-size:1.6rem}
.odd__item span{font-size:.78rem;line-height:1.4}

/* FAQ — divider rows; not glass or floating boxes */
#faq{background:#f8f7f3}
.faq{margin-top:22px;border-top:1px solid var(--ed-rule)}
.faq__item{border:0!important;border-bottom:1px solid var(--ed-rule)!important;background:none!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
.faq__item summary{padding:16px 4px;font-size:.98rem;color:var(--ed-ink)}
.faq__item[open]{border-left:0!important;padding-left:0!important}
.faq__item summary:hover{color:var(--ed-coral)}
.faq__item p{padding:2px 4px 17px;color:var(--ed-muted)}
.faq__ico{color:var(--ed-coral)}
.faq__more{margin-top:18px;color:var(--ed-muted)}

/* CONTACT — one white form, no nested glass tiles */
#reserver{background:var(--ed-green)!important}
@media(min-width:980px){.split--form{grid-template-columns:.88fr 1.12fr;align-items:start}}
.reserve__copy .lead{max-width:47ch}
.contact{margin-top:22px;gap:11px}
.contact a,.contact__addr{color:#fff!important;font-size:.91rem}
.formcard{background:#fff!important;color:var(--ed-ink)!important;border:0!important;border-radius:5px!important;box-shadow:none!important;padding:clamp(23px,2.9vw,38px)}
.formcard .h3,.formcard label,.formcard legend,.formcard p,.formcard .note,.formcard .check span{color:var(--ed-ink)!important}
.formcard .opt{color:var(--ed-muted)!important}
.form__formula legend{font-size:.93rem;color:var(--ed-ink)}
.pill span{border-radius:4px;font-size:.86rem}
.pill input:checked + span{background:var(--ed-green)!important;color:#fff!important}
.field input,.field textarea,.field select{border:1px solid #c7d1c9;border-radius:4px;background:#fff;color:var(--ed-ink)}
.field input:focus,.field textarea:focus{box-shadow:0 0 0 2px #a9c3b1;border-color:var(--ed-green)}
.formcard .btn--coral{background:var(--ed-coral);color:#fff!important}
.formcard .btn--coral:hover{background:#aa4b33;color:#fff!important}
.formcard .btn--ghost{border-color:var(--ed-green);color:var(--ed-green)!important}

/* FOOTER / DOCK */
.footer{background:#071c15!important}
.footer__grid{gap:28px}
.footer__h{font-size:.95rem}
.footer__legal{padding-top:17px;border-color:#305043}
.dock{background:var(--ed-green)!important;border:1px solid #315445;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
.wa{box-shadow:none;border:2px solid #fff}

/* Layout safeguards */
.section .wrap,.hero .wrap{min-width:0}
.split > *, .plan > *, .formulas > *, .sim, .gallery{min-width:0}
.table-scroll{max-width:100%;scrollbar-width:thin}
input,textarea,select{max-width:100%}

@media(min-width:1100px){
 .section__head:has(>.section__eyebrow):has(>.lead)>.h2{font-size:clamp(2rem,2.65vw,2.65rem)}
 #investir .tr__bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
}
@media(max-width:1020px){
 .section{padding-block:56px}
 #concept .wrap{display:block}
 #concept .concept__cols{grid-template-columns:1fr 1fr;gap:22px;margin-top:21px}
 .gallery__stage{aspect-ratio:16/10}
}
@media(max-width:759px){
 .section{padding-block:clamp(44px,6vw,56px)}
 .section__head{margin-bottom:23px}
 .h1{font-size:clamp(2.65rem,10vw,3.7rem)}
 .h2{font-size:clamp(1.86rem,6.8vw,2.42rem);max-width:23ch}
 .lead{font-size:1rem}
 .hero{padding-top:calc(var(--header-h) + 27px)}
 .hero__grid{gap:24px}
 .hero__arch{max-width:310px}
 .hero__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero__stats>div{padding:13px 10px 14px 0}
 .hero__stats dd{font-size:clamp(1.35rem,5.8vw,1.95rem)}
 .steps3 li{padding-left:43px}
 .fund{padding:20px}
 .earth{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .eco__fig img{aspect-ratio:16/9;max-height:none}
 .climate__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .climate__text{grid-column:1/-1}
 .room li button{padding:9px 5px}
 .rooms{grid-template-columns:1fr 1fr}
 .includes{margin-top:30px}
 .formula__body{padding:17px}
 .sim{padding:20px}
 .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .kpis>div{padding:11px 10px}
 .kpis dd{font-size:1.13rem}
 .chart__plot{height:205px}
 .stress{padding:19px}
 .schedule-mobile{gap:9px}
 .sched-card__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .odd{grid-template-columns:repeat(4,minmax(0,1fr))}
 .footer{padding-bottom:84px}
}
@media(max-width:560px){
 .hero__arch{max-width:290px}
 #concept .concept__cols{grid-template-columns:1fr}
 .earth{grid-template-columns:1fr 1fr}
 .rooms{grid-template-columns:1fr 1fr}
 .odd{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sched-card__grid{grid-template-columns:1fr}
 .ladder__top{flex-wrap:wrap}
 .tr__bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .tr__seg{min-width:0}
 .tr__pct{font-size:1.3rem}
}
@media(max-width:380px){
 .earth{grid-template-columns:1fr}
 .hero__stats dt{font-size:.75rem}
 .hero__stats dd{font-size:1.4rem}
 .rooms{grid-template-columns:1fr}
 .compare__head{display:block}
 .compare__head .seg{margin-top:11px;max-width:100%;display:flex}
 .seg__b{flex:1;font-size:.73rem}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *{animation-duration:.001ms!important;transition-duration:.001ms!important}
}


/* =======================================================================
   V8.1 — Correctifs de disposition et de responsive sur sections signalées
   ======================================================================= */

/* POURQUOI INVESTIR */
#pourquoi .why{display:grid;grid-template-columns:1fr;gap:22px 26px}
@media (min-width:760px){#pourquoi .why{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1180px){#pourquoi .why{grid-template-columns:repeat(4,minmax(0,1fr));}}
#pourquoi .why__item{min-width:0;padding-top:16px}
#pourquoi .why__item p{font-size:.95rem;line-height:1.55}
#pourquoi .odd{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (min-width:760px){#pourquoi .odd{grid-template-columns:repeat(4,minmax(0,1fr));}}
#pourquoi .odd__item{min-height:118px;padding:14px;border-radius:12px}
#pourquoi .odd__item span{font-size:.84rem;line-height:1.35}

/* BADER PROPERTY */
#porteur .split--porteur{display:grid;gap:32px;align-items:start}
@media (min-width:980px){#porteur .split--porteur{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:44px}}
#porteur .facts--tight{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
@media (max-width:759px){
  #porteur .facts--tight{grid-template-columns:1fr;border-top:1px solid var(--ed-rule)}
  #porteur .facts--tight>div{padding-block:16px}
  #porteur .facts--tight>div+div{padding-left:0;border-left:0;border-top:1px solid var(--ed-rule)}
}
#porteur .duo{display:grid;grid-template-columns:1fr;gap:18px;margin-top:30px}
@media (min-width:840px){#porteur .duo{grid-template-columns:1fr 1fr;gap:22px}}
#porteur .duo p{margin:0;padding:18px 20px 20px!important;border:1px solid #d6ddd3!important;border-top:3px solid var(--ed-coral)!important;border-radius:12px!important;background:#fff!important;color:#42584d!important;line-height:1.62}
#porteur .duo p b{display:block;margin-bottom:6px;font-size:1.03rem;color:var(--ed-ink)!important}
#porteur .quote{margin-top:30px}

/* INVESTISSEMENT */
#investir .wrap{display:grid;gap:24px}
@media (min-width:1200px){
  #investir .wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:'head head' 'formulas sim' 'tr sim' 'journey journey';align-items:start;gap:24px 32px}
  #investir .section__head{grid-area:head}
  #investir .formulas{grid-area:formulas}
  #investir .sim{grid-area:sim}
  #investir .tr{grid-area:tr}
  #investir .journey--h{grid-area:journey}
}
#investir .sim{overflow:hidden}
#investir .tr{padding:22px 24px;border:1px solid var(--ed-rule);border-radius:14px;background:#fff}
#investir .tr .lead{max-width:52ch}
@media (max-width:560px){#investir .tr{padding:18px}}
#investir .journey--h{display:grid;gap:18px}
@media (min-width:900px){#investir .journey--h{grid-template-columns:repeat(4,minmax(0,1fr));}}
#investir .schedule-more{margin-top:24px}
#investir .schedule-more .table-scroll{width:100%;overflow:auto}
#investir .tbl--schedule{min-width:860px}
#investir .tbl--schedule th,#investir .tbl--schedule td{white-space:nowrap}
@media (max-width:1199px){
  #investir .formulas,#investir .tr,#investir .sim,#investir .journey--h{width:100%}
  #investir .tbl--schedule{min-width:780px}
  .schedule-desktop{display:none!important}
  .schedule-mobile{display:grid!important}
}
@media (min-width:1200px){
  .schedule-desktop{display:block!important}
  .schedule-mobile{display:none!important}
}

/* PLANS */
#plans .plans{margin-top:30px}
#plans .plan{display:grid;gap:24px;align-items:start}
@media (min-width:920px){#plans .plan{grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:32px}}
#plans .plan__fig{max-width:none;margin:0}
#plans .plan__stage{overflow:hidden}
#plans .rooms{display:grid;grid-template-columns:1fr;align-content:start;gap:6px}
#plans .rooms li{padding:0;border:1px solid var(--ed-rule);border-radius:10px;overflow:hidden;background:#fff}
#plans .rooms li button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;background:transparent;border:0;text-align:left}
#plans .rooms li button span{font-weight:650}
#plans .rooms li button b{display:inline-block;font-size:.78rem;color:var(--ed-muted)}
#plans .rooms li button:hover,#plans .rooms li.is-on button{background:#f7eee8!important}
#plans .includes{display:grid;gap:28px;align-items:start}
@media (min-width:960px){#plans .includes{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}}
@media (max-width:759px){
  #plans .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  #plans .plan{grid-template-columns:1fr}
  #plans .rooms{margin-top:8px}
  #plans .rooms li button{padding:12px 12px;font-size:.9rem}
}
@media (max-width:480px){
  #plans .rooms li button{flex-direction:column;align-items:flex-start}
  #plans .rooms li button b{display:block}
}

/* CLIMAT / COMPARATIF */
#climat .climate__grid{display:grid;gap:24px;align-items:start}
@media (min-width:980px){#climat .climate__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}
#climat .climate__tabs{align-content:start}
#climat .climate__text{min-height:0}
#climat .climate__fig{margin:0}
#climat .climate__svg{width:100%;height:auto;max-height:none}
#climat .compare{margin-top:36px}
#climat .compare__head{display:flex;flex-direction:column;gap:14px}
@media (min-width:1020px){#climat .compare__head{flex-direction:row;justify-content:space-between;align-items:end}}
#climat .seg{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}
#climat .seg__b{min-height:44px;padding:10px 14px;border-radius:10px;white-space:normal}
#climat .compare__table{width:100%;table-layout:fixed}
#climat .compare__table tbody th{width:22%}
#climat .compare__table th,#climat .compare__table td{overflow-wrap:anywhere}
@media (max-width:700px){
  #climat .compare__table,
  #climat .compare__table tbody,
  #climat .compare__table tr,
  #climat .compare__table th,
  #climat .compare__table td{display:block;width:100%}
  #climat .compare__table thead{display:none}
  #climat .compare__table tbody tr{padding:14px 0;border-bottom:1px solid #355647}
  #climat .compare__table tbody th{padding:0 0 10px;color:#fff;border-bottom:0}
  #climat .compare__table td{padding:8px 0;border-bottom:0}
  #climat .compare__table td.c-classic::before,
  #climat .compare__table td.c-ile::before{display:block;font-weight:700;margin-bottom:4px;color:#e9a38b}
  #climat .compare__table td.c-classic::before{content:'Construction classique en parpaing'}
  #climat .compare__table td.c-ile::before{content:'Maison Ilé Ifè'}
}

/* CONTACT / FOOTER */
#reserver.section{padding-block:54px}
.reserve .split--form{display:grid;gap:28px;align-items:start}
@media (min-width:980px){.reserve .split--form{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}}
.formcard{max-width:720px}
@media (min-width:980px){.formcard{justify-self:end;width:100%}}
.footer__grid{align-items:start}
@media (min-width:860px){.footer__grid{grid-template-columns:1.1fr .95fr .95fr}}
.footer__legal{max-width:100%;gap:12px}
.footer__links li+li{margin-top:6px}

/* GARDE-FOUS GÉNÉRAUX */
.wrap,.section,.section *{min-width:0}
@media (max-width:759px){
  .h2{max-width:20ch}
  .lead{max-width:100%}
}


/* =======================================================================
   V8.1.1 — Correctif affichage tableau investissement + contraste
   ======================================================================= */

/* Réorganisation de la section Investissement :
   - formules à gauche
   - étapes de chantier à droite
   - simulateur + tableau sur toute la largeur
*/
@media (min-width:1200px){
  #investir .wrap{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    grid-template-areas:
      'head head'
      'formulas tr'
      'sim sim'
      'journey journey';
    gap:24px 32px;
    align-items:start;
  }
  #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}
}

/* Blocs plus propres */
#investir .formulas,
#investir .tr,
#investir .sim,
#investir .journey--h{min-width:0}
#investir .sim{padding:24px 26px 26px;overflow:visible}
@media (max-width:560px){#investir .sim{padding:18px}}

/* Texte lisible dans la zone sombre */
#investir .sim,
#investir .sim p,
#investir .sim li,
#investir .sim .note,
#investir .sim .sim__read,
#investir .sim .chart__axis,
#investir .sim .chart__years,
#investir .sim .chart__legend,
#investir .sim .table-more summary,
#investir .sim .tbl,
#investir .sim .tbl th,
#investir .sim .tbl td,
#investir .sim .tbl caption,
#investir .sim .tbl tbody th,
#investir .sim .tbl tfoot th,
#investir .sim .tbl tfoot td{color:#eef5ef!important}

#investir .sim .kpis dt,
#investir .sim .sched-card dt,
#investir .sim .sched-card__total span,
#investir .sim .chart__axis,
#investir .sim .chart__years{color:#cfe0d5!important}

#investir .sim .sim__read strong,
#investir .sim .tbl tr.is-rec th,
#investir .sim .tbl tr.is-rec td,
#investir .sim .sched-card__badge,
#investir .sim .sched-card__total strong{color:#ffbeab!important}

/* Tableau desktop : afficher complètement, sans contenu noir */
#investir .schedule-desktop{display:block}
#investir .schedule-desktop .table-scroll{
  overflow-x:visible;
  max-width:100%;
}
#investir .tbl--schedule{
  width:100%;
  min-width:0!important;
  table-layout:fixed;
  border-collapse:collapse;
}
#investir .tbl--schedule thead th,
#investir .tbl--schedule tbody th,
#investir .tbl--schedule td,
#investir .tbl--schedule tfoot th,
#investir .tbl--schedule tfoot td{
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-size:.9rem;
  line-height:1.38;
  border-color:#315745;
}
#investir .tbl--schedule thead th{font-size:.88rem;color:#f2f7f3!important}
#investir .tbl--schedule tbody th{font-weight:700}
#investir .tbl--schedule .num{text-align:right}
#investir .tbl--schedule tfoot th,
#investir .tbl--schedule tfoot td{font-weight:700;color:#ffffff!important}
#investir .tbl--schedule tr.is-rec{background:rgba(255,190,171,.10)}

/* Largeurs de colonnes pour rester lisible */
#investir .tbl--schedule thead th:nth-child(1),
#investir .tbl--schedule tbody th,
#investir .tbl--schedule tfoot th{width:22%}
#investir .tbl--schedule thead th:nth-child(2),
#investir .tbl--schedule thead th:nth-child(3),
#investir .tbl--schedule thead th:nth-child(4),
#investir .tbl--schedule thead th:nth-child(5),
#investir .tbl--schedule thead th:nth-child(6){width:15.6%}

/* Sur tablette/mobile : cartes mobiles conservées */
@media (max-width:1199px){
  #investir .schedule-desktop{display:none!important}
  #investir .schedule-mobile{display:grid!important}
}
@media (min-width:1200px){
  #investir .schedule-mobile{display:none!important}
}

/* Ajustements des cartes d'échéancier mobile */
#investir .sched-card{background:#163629!important;border:1px solid #355846!important}
#investir .sched-card__col{background:#1d4233!important}
#investir .sched-card__title,
#investir .sched-card dd,
#investir .sched-card__head h4{color:#fff!important}

/* Étapes chantier : structure plus compacte */
#investir .tr{padding:24px;border:1px solid var(--ed-rule);border-radius:14px;background:#fff}
#investir .tr__panel{max-width:none}
@media (max-width:560px){#investir .tr{padding:18px}}

/* ========================================================================
   V8.1.2 — Vérification finale : contraste, tableaux, petits écrans
   ======================================================================== */

/* La barre d'action flottante reste réellement lisible sur fond vert foncé. */
.dock .btn--ghost,
.dock .btn--ghost:visited {
  color:#ffffff !important;
  background:#1c4a38 !important;
  border:1px solid #94b7a1 !important;
}
.dock .btn--ghost:hover,
.dock .btn--ghost:focus-visible {
  background:#286049 !important;
  color:#ffffff !important;
}
.dock .btn--coral {color:#ffffff !important}

/* Le comparatif s'étale sur toute la largeur disponible sur petit écran.
   Une ancienne règle donnait 22 % de largeur aux en-têtes, même en mode bloc. */
@media (max-width:700px) {
  #climat .compare__table tbody tr {
    display:block;
    width:100%;
    padding:16px 0;
  }
  #climat .compare__table tbody th {
    display:block;
    width:100% !important;
    max-width:none !important;
    overflow-wrap:normal;
    word-break:normal;
    font-size:1.02rem;
    line-height:1.5;
    padding:0 0 12px;
  }
  #climat .compare__table tbody td {
    display:block;
    width:100% !important;
    max-width:none !important;
    overflow-wrap:break-word;
    word-break:normal;
    line-height:1.52;
    padding:8px 10px 12px;
  }
  #climat .compare__head .seg {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    gap:8px;
  }
  #climat .compare__head .seg__b {
    width:100%;
    min-width:0;
    min-height:54px;
    padding:10px;
    font-size:.82rem;
    line-height:1.4;
  }
}

/* À 320 px, les valeurs du simulateur locatif poussaient la page de 9 px.
   On garde des valeurs intactes et on dispose libellés/valeurs verticalement. */
@media (max-width:420px) {
  #rentabilite .stress__out > div {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:4px;
  }
  #rentabilite .stress__out dt,
  #rentabilite .stress__out dd {
    max-width:100%;
    min-width:0;
    white-space:normal;
    text-align:left;
    overflow-wrap:anywhere;
  }
  #rentabilite .stress__viz,
  #rentabilite .stress__out {
    min-width:0;
    max-width:100%;
  }
}

/* Contraste des totaux, en-têtes et cellules du calendrier sur fond foncé. */
#investir .sim .tbl--schedule thead th,
#investir .sim .tbl--schedule tbody th,
#investir .sim .tbl--schedule tbody td,
#investir .sim .tbl--schedule tfoot th,
#investir .sim .tbl--schedule tfoot td {
  color:#f5faf5 !important;
}
#investir .sim .tbl--schedule tr.is-rec th,
#investir .sim .tbl--schedule tr.is-rec td {
  color:#ffc3af !important;
}

/* Empêcher les petits écrans de gagner une largeur de scroll fantôme. */
#rentabilite .stress,
#rentabilite .stress__viz {min-width:0}

/* Les tuiles ODD conservent leurs couleurs officielles, mais le texte doit
   être suffisamment contrasté sur le bronze (12) et le vert moyen (3). */
#pourquoi .odd__item:nth-child(3),
#pourquoi .odd__item:nth-child(7),
#pourquoi .odd__item:nth-child(3) b,
#pourquoi .odd__item:nth-child(7) b,
#pourquoi .odd__item:nth-child(3) span,
#pourquoi .odd__item:nth-child(7) span {
  color:#13251d !important;
}

/* La légende des remboursements ne se confond plus avec la ligne blanche
   du repère vertical dans le simulateur locatif. */
#rentabilite .gauge__pay span {
  background:#163e2e;
  border:1px solid #49755a;
  border-radius:4px;
  padding:2px 7px;
  color:#ffffff !important;
}

/* Le compte d'exploitation est lisible en cartes sur téléphone.
   Chaque cellule affiche son propre intitulé, aucun chiffre supprimé. */
@media (max-width:1023px) {
  #rentabilite .table-more--dark .table-scroll {
    overflow-x:visible;
    width:100%;
  }
  #rentabilite .tbl--operating,
  #rentabilite .tbl--operating tbody,
  #rentabilite .tbl--operating tr,
  #rentabilite .tbl--operating th,
  #rentabilite .tbl--operating td {
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  #rentabilite .tbl--operating thead {display:none}
  #rentabilite .tbl--operating tbody tr {
    margin-bottom:12px;
    border:1px solid #3a634e;
    border-radius:9px;
    padding:12px;
    background:#153e2e;
  }
  #rentabilite .tbl--operating tbody th {
    text-align:left;
    border-bottom:1px solid #3a634e;
    padding:0 0 10px;
    margin-bottom:10px;
    color:#fff !important;
    font-size:.96rem;
  }
  #rentabilite .tbl--operating tbody td {
    border:0;
    padding:5px 0;
    text-align:right;
    white-space:normal;
    overflow-wrap:anywhere;
    color:#fff !important;
    font-size:.94rem;
    font-variant-numeric:tabular-nums;
  }
  #rentabilite .tbl--operating tbody td::before {
    content:attr(data-label);
    float:left;
    margin-right:12px;
    max-width:54%;
    text-align:left;
    font-weight:500;
    font-size:.82rem;
    color:#d2e2d5;
  }
}


/* ========================================================================
   V8.1.3 — Corrections d'accessibilité et de responsive réel
   ======================================================================== */
/* Une lettre longue ne doit jamais agrandir la largeur de la page quand
   l'utilisateur augmente sa taille de texte à 150 ou 200 %. */
.section .h2, .section .h3, .section .h4, .hero .h1,
.section__head, .hero__copy, .section__eyebrow,
.section p, .section dt, .section dd, .footer p, .footer a,
.formula__stake, .form__formula, .formcard {
  min-width:0;
  overflow-wrap:anywhere;
}
.section .h2 { hyphens:auto; }
/* Les ODD sont des panneaux proportionnels, jamais des colonnes min-content. */
#pourquoi .odd{grid-template-columns:repeat(2,minmax(0,1fr));}
#pourquoi .odd__item{min-width:0;max-width:100%;overflow-wrap:anywhere;}
#pourquoi .odd__item span{min-width:0;overflow-wrap:anywhere;}
@media(min-width:760px){#pourquoi .odd{grid-template-columns:repeat(4,minmax(0,1fr));}}
/* Footer : éviter qu'une adresse ou un lien force la colonne à dépasser. */
.footer__grid > *, .footer__links, .footer__legal{
  min-width:0;
  overflow-wrap:anywhere;
}
@media (min-width:860px){
 .footer__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,.8fr);}
}
/* Pas de largeur figée pour les éléments de formulaire et de navigation. */
.contact a, .contact__addr, .contact li, .formcard, .check, .check span,
.range, .range label, .range output,
.stress, .stress__ctrl, .stress__viz, .stress__out,
.tr__bar, .tr__seg, .sim__controls,
.dock, .dock .btn{min-width:0;max-width:100%;}
.contact a, .contact__addr, .check span, .range label{overflow-wrap:anywhere;}
.range label{white-space:normal;flex-wrap:wrap;}
.range output{white-space:normal;max-width:100%;}
/* Actions flottantes : les libellés peuvent tenir sur deux lignes. */
@media(max-width:899px){
 .dock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;}
 .dock .btn{width:100%;height:auto;min-height:44px;line-height:1.25;padding:10px 8px;
  white-space:normal!important;overflow-wrap:anywhere;text-align:center;}
}
/* Augmenter la surface des liens tactiles sans multiplier les cartes. */
.footer__links a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px;max-width:100%;}
.footer a{overflow-wrap:anywhere;}
.footer__grid a[href^="tel:"],.footer__grid a[href^="mailto:"]{display:inline-block;min-height:44px;padding-block:8px;}
.contact a, .contact__addr{min-height:44px;align-items:center;}
.contact svg{flex:0 0 18px;}
/* Icône textuelle de visite automatique, blanche et explicite. */
.gallery__tour-icon{color:#fff!important;font-size:1rem;font-weight:800;}
/* Tableaux d'exploitation sur tablette : largeur de lecture disponible en
   cartes sous 1024px; leurs intitulés restent attachés aux montants. */
@media (max-width:1023px){
 #rentabilite .tbl--operating tbody td{
   display:grid;grid-template-columns:minmax(0,1fr) auto;
   gap:12px;align-items:start;text-align:right;overflow-wrap:anywhere;
 }
 #rentabilite .tbl--operating tbody td::before{
   content:attr(data-label);float:none;display:block;max-width:none;margin:0;
   text-align:left;min-width:0;
 }
}
/* Garde-fous de mise en page avec typographie agrandie */
@media(max-width:1200px){
 .section .wrap,.section__head,.section__head > *, .split > *,
 .footer__grid,.footer__grid > *{min-width:0;max-width:100%;}
 .sim__controls label{white-space:normal;}
 .tr__seg .tr__pct,.tr__seg .tr__name{overflow-wrap:anywhere;}
}
@media(max-width:699px){
 .section__eyebrow{display:flex;flex-wrap:wrap;max-width:100%;}
 .hero__cta .btn{max-width:100%;white-space:normal;}
 .form__formula,.form__formula .pill{min-width:0;}
}

/* Mise à l'échelle extrême : colonnes financières et repères climatiques */
@media(max-width:699px){
 #investir .formula__rows > span{display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
 #investir .formula__rows > span > b{max-width:100%;overflow-wrap:anywhere;}
 #investir .sched-card__total{display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
 #investir .sched-card__total strong{text-align:left;max-width:100%;overflow-wrap:anywhere;}
 #localisation .ladder__top{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:flex-start;}
 #localisation .ladder__name,#localisation .ladder__time{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;}
}
@media(max-width:420px){
 #climat .climate__tabs{grid-template-columns:minmax(0,1fr);}
 #climat .ctab,#climat .ctab__t{min-width:0;max-width:100%;overflow-wrap:anywhere;}
 #climat .compare__head .seg{grid-template-columns:minmax(0,1fr);}
 #climat .compare__head .seg__b{min-width:0;overflow-wrap:anywhere;}
}
@media (min-width:421px) and (max-width:760px){
 #localisation .ladder__top{flex-wrap:wrap;}
 #localisation .ladder__time{white-space:normal;max-width:100%;overflow-wrap:anywhere;}
}
@media(max-width:359px){
 #rentabilite .gauge__pay span{left:auto;right:-4px;transform:none;max-width:110px;width:max-content;white-space:normal;text-align:right;line-height:1.2;font-size:.7rem;}
}

@media(max-width:420px){
 #plans .plans__tabs{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;}
 #plans .ptab{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;}
 #plans .pin__tip{max-width:min(190px,66vw);white-space:normal;overflow-wrap:anywhere;}
 #investir .formula__top{flex-wrap:wrap;gap:6px 10px;}
 #investir .formula__name,#investir .formula__seats{min-width:0;max-width:100%;overflow-wrap:anywhere;}
 #investir .journey--h li,#investir .journey--h li span{min-width:0;overflow-wrap:anywhere;}
 #investir .chart__years{font-size:.7rem;}
 #investir .chart__years li{min-width:0;overflow-wrap:anywhere;font-size:inherit;}
 #investir .chart__bars li{min-width:0;}
}
