/* REBRICK · site · styles communs (accueil + pages biens) */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--ink);color:var(--text);font-family:var(--sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
h1,h2,h3{color:var(--white);text-wrap:balance;letter-spacing:-.01em}
.serif{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--orange);letter-spacing:0}
.kicker{font-family:var(--mono);font-size:var(--fs-kicker);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.hook{display:inline-block;width:14px;height:14px;border-top:2px solid var(--orange);border-left:2px solid var(--orange);vertical-align:-1px;margin-right:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#0F0F0F;font-weight:700;font-size:14px;padding:12px 20px;border-radius:var(--r);transition:background .15s,transform .15s}
.btn:hover{background:#FF7A40}
.btn:active{transform:translateY(1px)}
.btn.sm{padding:9px 16px;font-size:13px}
.btn.lg{padding:15px 24px;font-size:15px}
.btn.ghost{background:transparent;color:var(--white);border:1px solid var(--line2)}
.btn.ghost:hover{border-color:var(--white);background:var(--panel2)}

/* ---------- header (transparent, posé sur le hero) ---------- */
.top{position:absolute;top:0;left:0;right:0;z-index:40;background:transparent}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:96px;gap:24px}
.logo img{height:26px;width:auto}
.nav{display:flex;gap:30px;align-items:center}
.nav a{font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--white);white-space:nowrap}
.nav a:hover{color:var(--orange)}
.right{display:flex;align-items:center;gap:22px}
.wa{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#25D366;color:#0F0F0F;transition:transform .15s,background .15s}
.wa:hover{background:#2EE07A;transform:translateY(-1px)}
.wa svg{width:24px;height:24px;fill:currentColor}
.burger{display:none;width:40px;height:40px;place-items:center}
.burger svg{width:22px;height:22px;stroke:var(--white);fill:none;stroke-width:1.8}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero .media{position:absolute;inset:0}
.hero video,.hero .poster{width:100%;height:100%;object-fit:cover;filter:saturate(.5) brightness(.66) contrast(1.05)}
.hero .media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,15,.8) 0%,rgba(15,15,15,.38) 55%,rgba(15,15,15,.08) 100%),linear-gradient(180deg,rgba(15,15,15,.3),rgba(15,15,15,0) 30%,rgba(15,15,15,.6) 100%)}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.hero .wrap{position:relative;z-index:1;padding-top:140px;padding-bottom:120px;width:100%}
.scrollhint{position:absolute;left:50%;bottom:22px;z-index:2;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0;color:var(--orange)}
.scrollhint svg{width:22px;height:12px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.2;animation:hint 1.5s ease-in-out infinite}
.scrollhint svg:nth-child(2){animation-delay:.2s}
.scrollhint svg:nth-child(3){animation-delay:.4s}
@keyframes hint{0%,60%,100%{opacity:.2}30%{opacity:.9}}
.hero h1{font-size:72px;line-height:.98;font-weight:800;margin:0 0 22px;max-width:12ch}
.hero h1 .serif{font-size:1.04em}
.hero p{font-size:25px;line-height:1.45;color:var(--white);max-width:44ch;margin-bottom:36px;text-shadow:0 1px 18px rgba(0,0,0,.45)}
.hero .row{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- sections de contenu ---------- */
.sec{padding:136px 0;border-bottom:1px solid var(--line)}
.sec .kicker{margin-bottom:18px}
.sec h2{font-size:40px;line-height:1.08;font-weight:800;margin-bottom:26px}
.sec h2 .serif{font-size:1.04em}
.sec p{font-size:16.5px;line-height:1.6;color:var(--text);max-width:58ch}
.sec p+p{margin-top:18px}

/* 02 · transformation urbaine et sociale */
.transfo .wrap{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:72px;align-items:center;max-width:1040px}
.transfo p{font-size:18.5px;max-width:52ch}
.transfo h2{font-size:44px}
.transfo blockquote{margin-top:30px;padding-left:22px;border-left:2px solid var(--orange)}
.transfo blockquote p{font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.4;color:var(--white);max-width:40ch}
.transfo .who{margin-top:28px;display:flex;align-items:flex-end;gap:28px}
.transfo .who b{display:block;color:var(--white);font-weight:700;font-size:15px}
.transfo .who span{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
.transfo .who img{height:64px;width:auto;opacity:.9}
.transfo figure{margin:0;position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--panel);aspect-ratio:2/3}
.transfo figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.2) contrast(1.05)}
.transfo figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,15,15,0) 55%,rgba(15,15,15,.7) 100%)}
.transfo figcaption{position:absolute;left:16px;bottom:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);padding:6px 9px;background:rgba(15,15,15,.78);border-left:2px solid var(--orange);z-index:1}


/* 03 · notre mission */
.mission{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.mission .bg{position:absolute;inset:0}
.mission .bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.25) brightness(.28) contrast(1.05)}
.mission .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,15,.9) 0%,rgba(15,15,15,.6) 50%,rgba(15,15,15,.35) 100%)}
.mission .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:80px;align-items:center;padding-top:120px;padding-bottom:120px}
.mission h2{font-size:40px;line-height:1.08;font-weight:800;margin-bottom:34px}
.mission h2 .serif{font-size:1.04em}
.mission .quotes{display:grid;gap:34px}
.mission blockquote{padding-left:22px;border-left:2px solid var(--orange)}
.mission blockquote p{font-family:var(--sans);font-weight:400;font-size:21px;line-height:1.5;color:var(--white);max-width:40ch}
.mission blockquote p+p{margin-top:12px}
.mission figure{margin:0;position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--panel);aspect-ratio:1/1}
.mission figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.3) contrast(1.05)}
.mission figcaption{position:absolute;left:16px;bottom:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);padding:6px 9px;background:rgba(15,15,15,.78);border-left:2px solid var(--orange)}

/* 04 · locaux d'activité */
.activite .intro{display:grid;grid-template-columns:5fr 7fr;gap:80px;align-items:start}
.activite .intro>div:first-child>p{font-size:18px;line-height:1.55;color:var(--text);max-width:40ch}
.activite .items{border-top:1px solid var(--line2)}
.activite .items>div{padding:26px 0;border-bottom:1px solid var(--line2);display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}
.activite .items h3{font-size:17px;font-weight:700;line-height:1.3}
.activite .items p{font-size:14.5px;line-height:1.6;color:var(--muted);max-width:56ch}
.activite .stack{margin-top:40px;display:grid;gap:28px}
.activite .stack figure{margin:0;position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--panel);aspect-ratio:16/10}
.activite .stack img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02)}
.activite .stack figcaption{position:absolute;left:14px;top:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);padding:6px 9px;background:rgba(15,15,15,.78);border-left:2px solid var(--orange)}
.activite .txt p{font-size:17px;line-height:1.5;color:var(--white);max-width:40ch}
.activite .stat{margin-top:18px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.activite .stat b{font-size:40px;line-height:1;font-weight:800;color:var(--white);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.activite .stat b em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--orange);font-size:.9em}
.activite .stat span{font-size:13.5px;color:var(--muted);max-width:28ch}
.activite .txt p.sub{margin-top:18px;font-size:15px;color:var(--muted)}

/* 05 · logements (même construction, colonnes inversées) */
.logements .intro>div:first-child{order:2}
.logements .intro{grid-template-columns:7fr 5fr;align-items:center}

/* 06 · nos réalisations */
.realisations .head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:40px}
.realisations .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px}
.realisations article{display:flex;flex-direction:column;gap:14px}
.realisations figure{margin:0;position:relative;border-radius:var(--r-card);overflow:hidden;background:var(--panel);aspect-ratio:1/1}
.realisations figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02);transition:transform .5s}
.realisations article:hover figure img{transform:scale(1.02)}
.realisations .city{font-size:24px;font-weight:800;line-height:1.15;color:var(--white);margin:0;padding-left:14px;border-left:3px solid var(--orange)}
.realisations .facts{display:flex;gap:28px;flex-wrap:wrap;padding:2px 0 10px;border-bottom:1px solid var(--line2)}
.realisations .facts b{display:block;font-size:22px;font-weight:800;color:var(--white);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.realisations .facts span{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.realisations article p{font-size:14px;line-height:1.6;color:var(--muted);max-width:none}
.realisations .cta{margin-top:56px;display:flex;justify-content:center}

/* 07 · notre méthode */
.methode .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.methode .row{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap}
.methode h2{font-size:112px;line-height:.9;font-weight:800;letter-spacing:-.03em;text-transform:uppercase;text-align:left;margin:0}
.methode h2 .serif{display:block;text-transform:none;font-size:1.02em}
.methode .box{border:2px solid var(--orange);padding:18px 34px;font-size:150px;line-height:.9;font-weight:800;color:var(--white);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.methode .box em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--orange);font-size:.72em;letter-spacing:0}
.methode p{margin-top:40px;font-size:24px;line-height:1.45;color:var(--white);max-width:48ch}

/* 08 · nos valeurs */
.valeurs h2{font-size:112px;line-height:.9;font-weight:800;letter-spacing:-.03em;text-transform:uppercase;margin:0 0 -22px;position:relative;z-index:1}
.valeurs h2 .serif{display:block;text-transform:none;font-size:1.02em}
.valeurs .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:0}
.valeurs .grid>div{border:1px solid var(--line2);border-radius:0;padding:64px 32px 32px;display:flex;flex-direction:column;gap:40px;min-height:380px}
.valeurs .grid p{font-size:15px;line-height:1.6;color:var(--text);flex:1}
.valeurs h3{font-family:var(--sans);font-size:20px;line-height:1.2;letter-spacing:.02em;text-transform:uppercase;color:var(--white);font-weight:800;margin:0}

/* 09 · on parle de nous */
.presse .logos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.presse .logos a,.presse .logos div{display:flex;align-items:center;justify-content:center;border-radius:var(--r-card);background:#ECE6DA;aspect-ratio:3/2;padding:40px;transition:transform .2s}
.presse .logos a:hover{transform:translateY(-2px)}
.presse .logos img{width:100%;height:100%;object-fit:contain;max-height:120px;filter:grayscale(1) sepia(.35) contrast(.92) brightness(.92);opacity:.88;transition:filter .3s,opacity .3s}
.presse .logos a:hover img{filter:none;opacity:1}

/* 10 · contact · deux blocs : mail à gauche, WhatsApp à droite */
.contact h2{margin-bottom:36px}
.contact .blocks{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.contact .block{border:1px solid var(--line2);border-radius:var(--r-card);background:var(--panel);padding:30px 30px 28px;display:flex;flex-direction:column;gap:18px}
.contact .block .head{display:flex;align-items:center;gap:14px}
.contact .block .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none}
.contact .block .ico svg{width:24px;height:24px}
.contact .ico.mail{background:var(--orange);color:#0F0F0F}
.contact .ico.mail svg{fill:none;stroke:currentColor;stroke-width:1.8}
.contact .ico.whatsapp{background:#25D366;color:#0F0F0F}
.contact .ico.whatsapp svg{fill:currentColor}
.contact .block h3{font-size:19px;font-weight:700;margin:0}
.contact .block .sub{font-size:13.5px;color:var(--muted);margin-top:2px}
.contact .tf-embed{flex:1;min-height:560px;margin-top:18px;border-radius:var(--r);overflow:hidden}
.contact .tf-embed>div{height:100%;min-height:560px}
.contact .tf-embed iframe{display:block;width:100%;height:100%;min-height:560px;border:0}
.tffallback{display:flex;flex-direction:column;gap:10px;padding:34px 24px;min-height:560px}
.tffallback p{color:var(--white);font-size:19px;margin:0 0 6px}
.tffallback a{display:block;border:1px solid var(--line2);border-radius:var(--r);padding:13px 16px;color:var(--white);font-size:15.5px;background:rgba(255,255,255,.03);transition:border-color .2s}
.tffallback a:hover{border-color:var(--orange)}
.tffallback span{margin-top:auto;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact form{display:grid;gap:12px}
.contact .field{display:grid;gap:6px}
.contact label{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.contact input,.contact textarea{width:100%;background:var(--ink);border:1px solid var(--line2);border-radius:var(--r);color:var(--white);font:inherit;font-size:15px;padding:13px 14px}
.contact input::placeholder,.contact textarea::placeholder{color:var(--dim)}
.contact input:focus,.contact textarea:focus{outline:none;border-color:var(--orange)}
.contact textarea{min-height:140px;resize:vertical}
.contact .submit{margin-top:6px;justify-self:start}
.contact .btn.green{background:#25D366;color:#0F0F0F}
.contact .btn.green:hover{background:#2EE07A}
.contact .btn.green svg{width:18px;height:18px;fill:currentColor}
.contact .waphoto{margin:0;flex:1;min-height:220px;border-radius:var(--r);overflow:hidden;background:var(--ink)}
.contact .waphoto img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.3) contrast(1.05)}
.contact .btn.green{justify-self:start;align-self:flex-start}

/* footer */
.foot{padding:40px 0 36px}
.foot .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot .logo img{height:22px}
.foot nav{display:flex;gap:26px;flex-wrap:wrap}
.foot nav a{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}
.foot nav a:hover{color:var(--orange)}
.foot small{display:block;width:100%;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--dim)}

/* pages légales */
.page-legal .top{position:sticky;background:rgba(15,15,15,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.page-legal .top .wrap{height:80px}
.legal{padding:88px 0 112px}
.legal .wrap{max-width:820px}
.legal .kicker{margin-bottom:18px}
.legal h1{font-size:48px;line-height:1.02;font-weight:800;margin-bottom:26px}
.legal h1 .serif{font-size:1.04em}
.legal .lead{font-size:17px;line-height:1.6;color:var(--white);max-width:62ch;padding-bottom:36px;border-bottom:1px solid var(--line2);margin-bottom:12px}
.legal h2{font-size:20px;font-weight:700;margin:44px 0 14px;padding-top:0}
.legal p{font-size:15.5px;line-height:1.65;color:var(--text);max-width:68ch}
.legal p+p{margin-top:12px}
.legal a{color:var(--white);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
.legal a:hover{text-decoration-color:var(--orange)}
.legal ul{list-style:none;margin:14px 0 0;display:grid;gap:12px;max-width:68ch}
.legal li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.6;color:var(--text)}
.legal li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;background:var(--orange)}
.legal li b{color:var(--white);font-weight:600}
.legal .note{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.legal dl{margin:16px 0 4px;display:grid;gap:0;border-top:1px solid var(--line);max-width:68ch}
.legal dl>div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.legal dt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.legal dd{font-size:15px;color:var(--white)}

/* page biens à vendre */
.biens{padding:80px 0 112px}
.biens .kicker{margin-bottom:18px}
.biens h1{font-size:48px;line-height:1.02;font-weight:800;margin-bottom:18px}
.biens h1 .serif{font-size:1.04em}
.biens .lead{font-size:17px;line-height:1.6;color:var(--muted);max-width:62ch;margin-bottom:44px}
.lotgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lotcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;background:var(--panel);transition:border-color .2s,transform .2s}
a.lotcard:hover{border-color:var(--line2);transform:translateY(-2px)}
.lotcard figure{margin:0;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--panel2)}
.lotcard figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02);transition:transform .5s}
a.lotcard:hover figure img{transform:scale(1.03)}
.lotcard figure.ph{display:grid;place-items:center}
.lotcard figure.ph span{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.lotcard figcaption{position:absolute;left:12px;top:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--white);padding:6px 9px;background:rgba(15,15,15,.78);border-left:2px solid var(--orange)}
.lotcard .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.lotcard .kicker{font-size:10.5px}
.lotcard .ville{font-size:19px;font-weight:700;color:var(--white);line-height:1.2;margin-top:-2px}
.lotcard h3{font-size:19px;font-weight:700;line-height:1.2;margin-top:-4px}
.lotcard ul{list-style:none;display:grid;gap:6px;margin:2px 0 6px;flex:1}
.lotcard li{position:relative;padding-left:16px;font-size:14px;color:var(--muted)}
.lotcard li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--orange)}
.lotcard .btn{align-self:flex-start}
.lotcard.soon{opacity:.72}
.lotcard.sold{border-color:#25D366;box-shadow:0 0 0 1px rgba(37,211,102,.35),0 0 28px rgba(37,211,102,.3)}
.btn.green{background:#25D366;color:#0F0F0F}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .nav{display:none}.burger{display:grid}
  .scrollhint{display:none}
  .hero{min-height:0}
  .transfo .wrap{grid-template-columns:1fr;gap:40px}
  .transfo figure{aspect-ratio:4/5;max-width:420px}
  .mission .wrap{grid-template-columns:1fr;gap:40px;padding-top:80px;padding-bottom:80px}
  .mission figure{max-width:420px}
  .activite .intro{grid-template-columns:1fr;gap:40px}
  .logements .intro>div:first-child{order:0}
  .realisations .grid{grid-template-columns:1fr 1fr}
  .lotgrid{grid-template-columns:1fr 1fr}
  .methode h2,.valeurs h2{font-size:80px}
  .methode .box{font-size:110px}
  .valeurs .grid{grid-template-columns:1fr}
  .valeurs .grid>div{min-height:0;padding:48px 28px 28px}
  .contact .blocks{grid-template-columns:1fr}
  .activite .items>div{grid-template-columns:1fr;gap:10px}
}
@media (max-width:680px){
  .top .wrap{height:80px}
  .top .btn{display:none}
  .logo img{height:22px}
  .hero .wrap{padding-top:160px;padding-bottom:96px}
  .hero{min-height:0;display:block}
  .hero h1{font-size:44px}
  .hero p{font-size:16px}
  .btn.lg{width:100%}
  .sec{padding:72px 0}
  .sec h2{font-size:30px}
  .transfo blockquote p{font-size:19px}
  .transfo figure{aspect-ratio:4/5;max-width:none}
  .mission h2{font-size:30px}
  .mission blockquote p{font-size:17px}
  .mission figure{max-width:none}
  .activite .intro>div:first-child>p{font-size:16px}
  .activite .stat b{font-size:36px}
  .realisations .grid{grid-template-columns:1fr;gap:32px}
  .lotgrid{grid-template-columns:1fr}
  .biens{padding:56px 0 72px}
  .biens h1{font-size:34px}
  .methode h2,.valeurs h2{font-size:52px}
  .methode .box{font-size:80px;padding:12px 22px}
  .methode p{font-size:18px;margin-top:28px}
  .valeurs h2{margin-bottom:-14px}
  .valeurs .grid>div{padding:40px 22px 24px;gap:28px}
  .valeurs h3{font-size:17px}
  .presse .logos{grid-template-columns:1fr}
  .contact .submit{width:100%}
  .contact .block{padding:22px 18px}
  .wa{width:40px;height:40px}
  .foot .wrap{flex-direction:column;align-items:flex-start}
  .legal{padding:56px 0 72px}
  .legal h1{font-size:34px}
  .legal dl>div{grid-template-columns:1fr;gap:4px}
}

/* ---------- hero : animation « Reconstruire le passé » → « Construire le futur » ---------- */
.hero h1.morph .re{display:inline-block;overflow:hidden;vertical-align:bottom;max-width:var(--w,1.4em);transition:max-width .7s cubic-bezier(.6,0,.2,1),opacity .45s ease}
.hero h1.morph.on .re{max-width:0;opacity:0}
.hero h1.morph .cap{display:inline-block;transition:opacity .22s ease}
.hero h1.morph .cap.fade{opacity:0}
.hero h1.morph .sw{display:inline-grid;justify-items:start}
.hero h1.morph .sw>span{grid-area:1/1;transition:opacity .6s ease .25s,transform .6s ease .25s,filter .6s ease .25s}
.hero h1.morph .sw .b{opacity:0;transform:translateY(.3em);filter:blur(6px)}
.hero h1.morph.on .sw .a{opacity:0;transform:translateY(-.3em);filter:blur(6px)}
.hero h1.morph.on .sw .b{opacity:1;transform:none;filter:none}
.hero h1.morph .re,.hero h1.morph .sw .a{position:relative}
.hero h1.morph .re::after,.hero h1.morph .sw .a::after{content:"";position:absolute;left:0;right:0;top:calc(58% - .045em);height:.09em;background:var(--orange);transform:scaleX(0);transform-origin:left center}
.hero h1.morph.strike .re::after{transform:scaleX(1);transition:transform .45s ease}
.hero h1.morph.strike .sw .a::after{transform:scaleX(1);transition:transform .5s ease .15s}
.hero h1.morph.noanim *{transition:none!important}
.realisations .city.long{font-size:19.5px;letter-spacing:-.01em;padding-top:2px}



/* ---------- jauge de commercialisation (cartes biens + pages lots) ---------- */
.gauge{display:grid;gap:7px}
.gauge .bar{height:6px;border-radius:3px;background:var(--line2);overflow:hidden}
.gauge .bar i{display:block;height:100%;background:var(--orange);border-radius:3px}
.gauge.full .bar i{background:#25D366}
.gauge .lbl{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;color:var(--text)}
.gauge .lbl b{color:var(--white);font-weight:700}
.gauge.full .lbl b{color:#25D366}

/* ---------- biens : étiquettes plus visibles, recherche spécifique ---------- */
.lotcard .kicker{font-size:12.5px;letter-spacing:.14em;color:var(--white);font-weight:500}
.biens .searchbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid var(--line2);border-radius:var(--r-card);background:var(--panel);padding:18px 22px;margin:-16px 0 32px}
.biens .searchbar p{font-size:15.5px;color:var(--text);margin:0}
.biens .searchbar p b{color:var(--white)}
.lotcard .links{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lotcard .links .more{font-size:13.5px;color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
.lotcard .links .more:hover{color:var(--white);text-decoration-color:var(--orange)}

@media (max-width:680px){
  .hero p{font-size:19px}
  .transfo h2{font-size:30px}
  .transfo p{font-size:16.5px}
  .transfo blockquote p{font-size:20px}
  .realisations .city{font-size:21px}
  .biens .searchbar .btn{width:100%}
}

