:root{
  --bg: #232323;
  --bg-soft: #2b2b2a;
  --text: #F5F4F2;
  --text-soft: #C9C5C1;
  --accent: #A9A099;
  --max: 1180px;
  --header-h: 86px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
html{
  scroll-behavior:smooth;
}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"Avenir Next","Avenir","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:400;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;width:100%;position:relative;z-index:1;}

/* Header */
header{
  height:var(--header-h);
  display:flex;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,0.06);
  position:fixed;top:0;left:0;right:0;
  background:var(--bg);
  z-index:50;
}
header .wrap{display:flex;align-items:center;justify-content:space-between;}
header .logo img{height:44px;width:auto;}
header nav{display:flex;align-items:center;gap:40px;}
nav a{font-size:14px;font-weight:500;color:var(--text-soft);transition:color .2s ease;}
nav a:hover, nav a.current{color:var(--text);}
.lang-switch{display:flex;gap:6px;font-size:13px;color:var(--text-soft);margin-left:8px;}
.lang-switch span.active{color:var(--text);}
.nav-toggle{display:none;background:none;border:0;color:var(--text);font-size:24px;cursor:pointer;}

/* Sections de page */
.panel{position:relative;padding:84px 0;}
.panel.page-top{padding-top:calc(var(--header-h) + 64px);}
.panel.bg-soft{background:var(--bg-soft);}

/* Hero: full-bleed background photo behind the whole panel */
.hero{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--header-h) + 40px) 0 56px;}
.hero-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(115% 95% at 10% 30%, var(--bg) 0%, rgba(35,35,35,0.82) 28%, rgba(35,35,35,0.45) 50%, rgba(35,35,35,0.12) 68%, transparent 84%),
    url('hero-photo.jpg') center/cover no-repeat;
  z-index:0;
}
.hero-grid{padding-top:20px;padding-bottom:20px;}
.hero-text{max-width:640px;}
.hero h1{font-weight:300;font-size:52px;line-height:1.15;letter-spacing:-0.01em;}
.hero h1 .accent{color:var(--accent);font-weight:500;}
.hero p.sub{margin-top:22px;font-size:17px;color:var(--text-soft);max-width:54ch;}
.cta-row{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:16px 26px;font-size:14px;font-weight:500;border-radius:2px;
  transition:opacity .2s ease, background .2s ease, border-color .2s ease;
  cursor:pointer;border:1px solid transparent;
}
.btn-primary{background:var(--accent);color:#1c1b1a;}
.btn-primary:hover{opacity:.88;}
.btn-secondary{border:1px solid rgba(245,244,242,0.35);color:var(--text);}
.btn-secondary:hover{border-color:var(--text);}

/* Positioning (inline in hero) */
.positioning-inline{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;
  margin-top:70px;
  background:rgba(20,19,18,0.6);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:40px 44px;
  border-radius:4px;
}
.positioning-inline h2{font-size:26px;font-weight:400;line-height:1.4;}
.positioning-inline .right p{font-size:15px;color:var(--text-soft);margin-bottom:16px;max-width:46ch;}
.positioning-inline .tagline{margin-top:20px;font-size:13px;letter-spacing:.04em;color:var(--accent);}

/* Services row: Service / Stratégie financière side by side */
.services-row{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start;}
.service-sub{padding-bottom:0;}
.service-sub.divider{border-top:none;border-left:1px solid rgba(255,255,255,0.08);padding-left:48px;margin-top:0;}

/* Service blocks (shared: Services row + Immobilier full page) */
.service-block .block-head, .service-sub .block-head{display:block;margin-bottom:28px;}
.service-block .block-head .icon, .service-sub .block-head .icon{width:34px;height:34px;margin-bottom:18px;}
.service-block .block-head .icon svg, .service-sub .block-head .icon svg{width:100%;height:100%;stroke:var(--accent);fill:none;stroke-width:1.2;}
.service-block h2, .service-sub h2{font-size:24px;font-weight:400;line-height:1.3;}
.service-block .eyebrow, .service-sub .eyebrow{font-size:12.5px;color:var(--accent);margin-bottom:12px;}
.service-block .block-head p.intro, .service-sub .block-head p.intro{margin-top:14px;font-size:14.5px;color:var(--text-soft);max-width:70ch;}
.subsections{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.subsections.two{grid-template-columns:repeat(2,1fr);}
.subsections.one{grid-template-columns:1fr;max-width:60ch;}
.subsection h4{font-size:15px;font-weight:500;margin-bottom:8px;}
.subsection p{font-size:13.5px;color:var(--text-soft);}
.office-list{list-style:none;}
.office-list li{font-size:14px;color:var(--text-soft);padding-left:18px;position:relative;margin-bottom:10px;}
.office-list li::before{content:"—";position:absolute;left:0;top:0;color:var(--accent);}
.block-cta{margin-top:26px;}
.services-row .btn{padding:12px 20px;font-size:13px;}

/* About */
.about .heading{max-width:60ch;margin-bottom:44px;}
.about .heading h2{font-size:28px;font-weight:400;margin-bottom:16px;}
.about .heading p{font-size:15px;color:var(--text-soft);}
.people{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.person{display:flex;flex-direction:column;}
.person .photo{width:200px;max-width:55%;aspect-ratio:3/4;overflow:hidden;border-radius:2px;margin-bottom:22px;}
.person .photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:grayscale(0.15) contrast(1.02);}
.person h3{font-size:19px;font-weight:500;margin-bottom:4px;}
.person .role{font-size:13px;color:var(--accent);margin-bottom:14px;letter-spacing:.02em;}
.person p.bio{font-size:14.5px;color:var(--text-soft);max-width:42ch;}

/* Contact */
.contact{overflow:hidden;}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
.contact .eyebrow{font-size:13px;color:var(--accent);margin-bottom:14px;}
.contact h2{font-size:26px;font-weight:400;margin-bottom:28px;}
.contact-cards{display:flex;flex-direction:column;gap:28px;}
.contact-card{padding-top:22px;border-top:1px solid rgba(255,255,255,0.08);}
.contact-card:first-child{border-top:none;padding-top:0;}
.contact-card .name{font-size:17px;font-weight:500;margin-bottom:8px;}
.contact-card p{font-size:14.5px;color:var(--text-soft);margin-bottom:2px;}
.contact-card p a{color:var(--text);}
.contact-form-note{margin-top:20px;font-size:13.5px;color:var(--text-soft);}
.picto-watermark{
  position:absolute;top:50%;right:-60px;transform:translateY(-50%);
  width:380px;opacity:0.07;pointer-events:none;z-index:0;
}
.company-block{margin-top:40px;padding-top:28px;border-top:1px solid rgba(255,255,255,0.08);}
.company-block .name{font-size:15px;font-weight:500;margin-bottom:8px;}
.company-block p{font-size:14px;color:var(--text-soft);margin-bottom:2px;}
.company-block p a{color:var(--text);}

/* Footer (not snapped) */
footer{border-top:1px solid rgba(255,255,255,0.06);padding:26px 0;scroll-snap-align:end;}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
footer .brand{font-size:13px;color:var(--text-soft);}
footer .links{display:flex;gap:24px;}
footer .links a{font-size:13px;color:var(--text-soft);}
footer .links a:hover{color:var(--text);}
footer .copyright{font-size:12.5px;color:rgba(201,197,193,0.5);}

/* Scroll progress dots */
.scroll-dots{
  position:fixed;right:28px;top:50%;transform:translateY(-50%);
  display:flex;flex-direction:column;gap:14px;z-index:40;
}
.scroll-dots a{
  width:7px;height:7px;border-radius:50%;
  background:rgba(245,244,242,0.25);
  transition:background .2s ease, transform .2s ease;
  display:block;
}
.scroll-dots a.active{background:var(--accent);transform:scale(1.3);}

@media (max-width: 860px){
  header nav{display:none;}
  header nav.open{display:flex;flex-direction:column;align-items:flex-start;gap:18px;position:absolute;top:var(--header-h);left:0;right:0;background:var(--bg);padding:24px 32px;border-bottom:1px solid rgba(255,255,255,0.08);}
  .nav-toggle{display:block;}
  .scroll-dots{display:none;}
  .hero h1{font-size:38px;}
  .positioning-inline{grid-template-columns:1fr;margin-top:40px;padding-top:32px;}
  .services-row{grid-template-columns:1fr;gap:32px;}
  .service-sub.divider{border-left:none;border-top:1px solid rgba(255,255,255,0.08);padding-left:0;padding-top:32px;}
  .service-block .block-head, .service-sub .block-head{grid-template-columns:1fr;gap:20px;}
  .subsections{grid-template-columns:1fr;}
  .subsections.two{grid-template-columns:1fr;}
  .people{grid-template-columns:1fr;}
  .contact .wrap{grid-template-columns:1fr;}
  footer .wrap{flex-direction:column;align-items:flex-start;}
  .panel{padding:56px 0;}
  .panel.page-top{padding-top:calc(var(--header-h) + 32px);}
  .hero{min-height:auto;padding-top:calc(var(--header-h) + 32px);}
  header .logo img{height:38px;}
}

/* Legal pages (Mentions légales, Confidentialité) */
.legal-content{padding:calc(var(--header-h) + 56px) 0 90px;max-width:820px;margin:0 auto;}
.legal-content h1{font-size:34px;font-weight:300;margin-bottom:10px;}
.legal-content .legal-updated{font-size:13px;color:var(--text-soft);margin-bottom:48px;}
.legal-content h2{font-size:19px;font-weight:500;margin:40px 0 14px;}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content p{font-size:14.5px;color:var(--text-soft);margin-bottom:14px;max-width:70ch;}
.legal-content ul{margin:0 0 14px 0;padding-left:0;list-style:none;}
.legal-content ul li{font-size:14.5px;color:var(--text-soft);padding-left:18px;position:relative;margin-bottom:8px;max-width:70ch;}
.legal-content ul li::before{content:"—";position:absolute;left:0;top:0;color:var(--accent);}
.legal-content strong{color:var(--text);font-weight:500;}
.legal-content a{color:var(--text);border-bottom:1px solid rgba(245,244,242,0.3);}
.legal-back{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-soft);margin-bottom:36px;}
.legal-back:hover{color:var(--text);}

/* WhatsApp click-to-chat link */
.whatsapp-link{
  display:inline-flex;align-items:center;gap:8px;
  margin-top:10px;
  font-size:13.5px;color:#25D366;
  transition:opacity .2s ease;
}
.whatsapp-link:hover{opacity:.8;}


/* ===== Nouveau contenu (octobre 2026) — même charte, mise en page alignée au texte ===== */
.panel-head{max-width:64ch;margin-bottom:44px;}
.panel-head .eyebrow{font-size:12.5px;color:var(--accent);margin-bottom:12px;}
.panel-head h2{font-size:30px;font-weight:400;line-height:1.3;margin-bottom:16px;}
.panel-head p{font-size:15px;color:var(--text-soft);margin-bottom:6px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:stretch;}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;align-items:stretch;}
.col{display:flex;flex-direction:column;}
.col.divider{border-left:1px solid rgba(255,255,255,0.08);padding-left:48px;}
.three-col .col.divider{padding-left:36px;}
.col .icon{width:34px;height:34px;margin-bottom:18px;}
.col .icon svg{width:100%;height:100%;stroke:var(--accent);fill:none;stroke-width:1.2;}
.col .eyebrow{font-size:12.5px;color:var(--accent);margin-bottom:12px;letter-spacing:.02em;}
.col h2,.col h3{font-size:24px;font-weight:400;line-height:1.3;margin-bottom:6px;}
.col h2.big{font-size:30px;}
.col .tag,.panel-head .tag,.about-text .tag,.left .tag{font-size:15.5px;color:var(--accent);margin:4px 0 14px;font-weight:500;}
.col p,.about-text p,.contact-intro{font-size:14.5px;color:var(--text-soft);margin-top:12px;}
.col p.tag,.about-text .tag{color:var(--accent);}
.col p.keywords{color:var(--text);font-size:15.5px;font-weight:500;margin-top:16px;}
.col strong,.about-text strong{color:var(--text);font-weight:500;}
.note-box{border-left:1px solid var(--accent);padding:2px 0 2px 22px;margin-top:26px;}
.note-box h4{font-size:15px;font-weight:500;margin-bottom:10px;color:var(--text);}
.note-box p{margin-top:10px;font-size:14px;}
.note-box .office-list li{font-size:14px;margin-bottom:8px;}
.col .block-cta{margin-top:auto;padding-top:28px;}
.block-cta.stack{display:flex;flex-wrap:wrap;gap:12px;}
.col .btn{padding:13px 20px;font-size:13px;}
.steps{margin-top:18px;display:flex;flex-direction:column;gap:20px;}
.step{display:grid;grid-template-columns:44px 1fr;gap:12px;}
.step .num{font-size:22px;font-weight:300;color:var(--accent);line-height:1.3;}
.step p{margin:0;font-size:14.5px;color:var(--text-soft);}
.positioning-inline .left .tagline{margin-top:18px;}
.positioning-inline .office-list li{font-size:14.5px;}
/* À propos */
.about-top{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:start;margin-bottom:56px;}
.about-text h2{font-size:30px;font-weight:400;line-height:1.3;margin-bottom:6px;}
.about .people{grid-template-columns:repeat(2,1fr);gap:28px;}
.about .person .photo{width:100%;max-width:200px;}
.about .person h3{font-size:16px;font-weight:500;letter-spacing:.04em;}
.about-bottom{padding-top:40px;border-top:1px solid rgba(255,255,255,0.08);}
.about-bottom .col.divider{border-left:1px solid rgba(255,255,255,0.08);}
/* Contact */
.contact .wrap{align-items:start;}
.contact .left h2{font-size:30px;line-height:1.3;margin-bottom:6px;}
.contact-intro{max-width:46ch;}
.form-label{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,0.12);margin-bottom:26px;}
.tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--text-soft);font-family:inherit;font-size:13px;padding:12px 14px;margin-bottom:-1px;cursor:pointer;transition:color .2s ease,border-color .2s ease;white-space:nowrap;}
.tab:hover{color:var(--text);}
.tab[aria-selected="true"]{color:var(--text);border-bottom-color:var(--accent);font-weight:500;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:7px;}
.field input,.field textarea{width:100%;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.16);border-radius:2px;color:var(--text);font-family:inherit;font-size:15px;padding:13px 14px;outline:none;transition:border-color .2s ease;}
.field input:focus,.field textarea:focus{border-color:var(--accent);}
.field textarea{min-height:130px;resize:vertical;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
button.btn{font-family:inherit;}
.form-msg{display:none;margin-top:18px;padding:14px 18px;border:1px solid var(--accent);font-size:14px;}
.form-msg.show{display:block;}
.form-msg.err{border-color:#c98a7a;color:#e8b9ac;}
.form-msg a{text-decoration:underline;}
/* Footer */
footer{padding:56px 0 24px;}
.foot-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:56px;}
.foot-brand .brand{font-size:14px;letter-spacing:.12em;color:var(--text);margin-bottom:10px;}
.foot-tag{font-size:14px;color:var(--accent);margin-bottom:18px;}
.foot-nav{font-size:13px;color:var(--text-soft);display:flex;flex-wrap:wrap;gap:4px 0;}
.foot-nav a:hover{color:var(--text);}
.foot-nav span{margin:0 9px;color:var(--accent);}
.foot-people{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.fperson .name{font-size:15px;font-weight:500;margin-bottom:6px;}
.fperson .line{display:block;font-size:13.5px;color:var(--text-soft);}
.fperson .line:hover{color:var(--text);}
.fperson .icons{display:flex;gap:10px;margin-top:12px;}
.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center;color:var(--text);transition:background .2s ease,border-color .2s ease,color .2s ease;}
.icon-btn:hover{background:#25D366;border-color:#25D366;color:#fff;}
.icon-btn[href^="mailto"]:hover{background:var(--accent);border-color:var(--accent);color:#1c1b1a;}
.foot-mid{margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,0.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:14px;}
.foot-mid a{color:var(--text);}
.foot-cta{color:var(--accent);}
.foot-bottom{margin-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.foot-bottom .links{display:flex;gap:24px;}
.foot-bottom .links a{font-size:13px;color:var(--text-soft);}
.foot-bottom .links a:hover{color:var(--text);}
footer .wrap{display:block;}
@media (max-width:980px){
  .two-col,.three-col,.about-top,.foot-grid{grid-template-columns:1fr;gap:40px;}
  .col.divider,.three-col .col.divider{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,0.08);padding-top:32px;}
}
@media (max-width:600px){
  .row2,.foot-people{grid-template-columns:1fr;}
  .tab{padding:10px 10px;font-size:12px;}
  .about .people{grid-template-columns:1fr 1fr;}
  .panel-head h2,.about-text h2,.contact .left h2,.col h2.big{font-size:25px;}
}

.col p.tag{margin-top:20px;}
.contact .wrap{grid-template-columns:1fr 1.3fr;}
.tab{padding:12px 12px;}
.block-cta.stack .btn{width:100%;max-width:260px;justify-content:space-between;}


/* ===== Page d'accueil : 4 thèmes côte à côte + « Derrière Speicher Office » ===== */
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:stretch;}
.theme{display:flex;flex-direction:column;padding:0 28px;}
.theme:first-child{padding-left:0;}
.theme:last-child{padding-right:0;}
.theme.divider{border-left:1px solid rgba(255,255,255,0.08);}
.theme .icon{width:32px;height:32px;margin-bottom:18px;}
.theme .icon svg{width:100%;height:100%;stroke:var(--accent);fill:none;stroke-width:1.2;}
.theme h3{font-size:21px;font-weight:400;line-height:1.3;margin-bottom:8px;min-height:2.6em;}
.theme .tag{font-size:15px;color:var(--accent);font-weight:500;margin:0 0 16px;line-height:1.45;}
.theme h4{font-size:14.5px;font-weight:500;margin:0 0 8px;color:var(--text);}
.theme p{font-size:13.5px;color:var(--text-soft);margin-top:10px;line-height:1.6;}
.theme p.goal{color:var(--text);}
.theme .more{margin-top:auto;padding-top:22px;font-size:13px;font-weight:500;color:var(--text);}
.theme .more:hover{color:var(--accent);}
.behind{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start;}
.behind .eyebrow{font-size:12.5px;color:var(--accent);margin-bottom:12px;letter-spacing:.02em;}
.behind h2{font-size:30px;font-weight:400;line-height:1.3;}
.behind-right p{font-size:15px;color:var(--text-soft);margin-bottom:12px;max-width:60ch;}
@media (max-width:1100px){
  .four-col{grid-template-columns:repeat(2,1fr);row-gap:48px;}
  .theme{padding:0 28px 0 0;}
  .theme.divider{border-left:none;}
  .theme:nth-child(even){border-left:1px solid rgba(255,255,255,0.08);padding-left:28px;padding-right:0;}
  .theme h3{min-height:0;}
}
@media (max-width:700px){
  .four-col{grid-template-columns:1fr;row-gap:36px;}
  .theme,.theme:nth-child(even){border-left:none;padding:0;}
  .theme + .theme{border-top:1px solid rgba(255,255,255,0.08);padding-top:32px;}
  .behind{grid-template-columns:1fr;gap:20px;}
}


/* ===== Accueil : les 4 thèmes dans le bandeau du haut (version courte) ===== */
.themes-panel{
  margin-top:56px;
  background:rgba(20,19,18,0.62);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:34px 36px;border-radius:4px;
}
.themes-panel .theme{padding:0 24px;}
.themes-panel .theme:first-child{padding-left:0;}
.themes-panel .theme:last-child{padding-right:0;}
.themes-panel .theme .icon{width:28px;height:28px;margin-bottom:14px;}
.themes-panel .theme h3{font-size:18px;margin-bottom:6px;}
.themes-panel .theme .tag{font-size:14px;margin-bottom:10px;}
.themes-panel .theme p{font-size:13.5px;margin-top:0;}
.themes-panel .theme p strong{color:var(--text);font-weight:500;}
.themes-panel .theme .more{padding-top:16px;}
@media (max-width:1100px){
  .themes-panel .theme{padding:0 24px 0 0;}
  .themes-panel .theme:nth-child(even){padding-left:24px;padding-right:0;}
}
@media (max-width:700px){
  .themes-panel{padding:26px 22px;margin-top:36px;}
  .themes-panel .theme,.themes-panel .theme:nth-child(even){padding:0;}
  .themes-panel .theme + .theme{padding-top:26px;}
}


/* ===== Page Immobilier : vente immobilière mise en avant ===== */
.sale-feature{padding:72px 0;}
.sale-box{display:grid;grid-template-columns:1.5fr 1fr;border:1px solid rgba(169,160,153,0.45);border-radius:4px;background:rgba(255,255,255,0.025);}
.sale-main{padding:46px 50px;}
.sale-main .eyebrow,.sale-estimate .eyebrow{font-size:12.5px;color:var(--accent);margin-bottom:12px;letter-spacing:.02em;}
.sale-main h2{font-size:32px;font-weight:400;line-height:1.3;margin-bottom:8px;}
.sale-main p,.sale-estimate p{font-size:15px;color:var(--text-soft);margin-top:12px;max-width:56ch;}
.sale-estimate{padding:46px 42px;border-left:1px solid rgba(169,160,153,0.45);background:rgba(169,160,153,0.09);display:flex;flex-direction:column;justify-content:center;}
.sale-estimate h3{font-size:25px;font-weight:400;line-height:1.3;}
@media (max-width:900px){
  .sale-box{grid-template-columns:1fr;}
  .sale-main,.sale-estimate{padding:30px 24px;}
  .sale-estimate{border-left:none;border-top:1px solid rgba(169,160,153,0.45);}
  .sale-main h2{font-size:26px;}
}


/* ===== Titres de rubrique (eyebrows) un peu plus grands, sur toutes les pages ===== */
.eyebrow,.panel-head .eyebrow,.col .eyebrow,.behind .eyebrow,.contact .eyebrow,
.sale-main .eyebrow,.sale-estimate .eyebrow{font-size:15px;font-weight:500;letter-spacing:.01em;}
.note-box h4{font-size:16px;}
/* Immobilier : mots-clés en grand */
.col.words{justify-content:center;}
.big-words{list-style:none;margin:0 0 6px;}
.big-words li{font-size:38px;font-weight:300;line-height:1.25;color:var(--text);}
.col.words .tag{margin-top:14px;}
@media (max-width:980px){.big-words li{font-size:30px;}}


/* ===== Immobilier : encadré vente immobilière en un seul bloc (empilé) ===== */
.sale-box{display:block;}
.sale-main{padding:44px 50px 36px;}
.sale-estimate{display:block;border-left:none;border-top:1px solid rgba(169,160,153,0.45);padding:34px 50px 40px;}
.sale-estimate .btn{margin-top:22px;}
@media (max-width:900px){
  .sale-main{padding:30px 24px 26px;}
  .sale-estimate{padding:26px 24px 30px;}
}

/* Pied de page : nom en casse normale */
.foot-brand .brand{font-size:17px;font-weight:500;letter-spacing:.01em;color:var(--text);margin-bottom:10px;}


/* ===== À propos : texte, puis Florine (photo à gauche), puis Julien (photo à droite), puis valeurs ===== */
.about-intro{max-width:64ch;margin-bottom:56px;}
.about-intro h2{font-size:30px;font-weight:400;line-height:1.3;margin-bottom:6px;}
.about-intro .tag{margin:4px 0 14px;}
.about-intro p{font-size:15px;color:var(--text-soft);margin-top:12px;}
.bio{display:grid;align-items:center;gap:44px;max-width:860px;margin-bottom:48px;}
.bio-left{grid-template-columns:220px 1fr;}
.bio-right{grid-template-columns:1fr 220px;margin-left:auto;}
.bio .photo{width:220px;aspect-ratio:3/4;overflow:hidden;border-radius:2px;}
.bio .photo img{width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:grayscale(0.15) contrast(1.02);}
.bio-text h3{font-size:24px;font-weight:400;line-height:1.3;margin-bottom:4px;}
.bio-text p{font-size:15px;color:var(--text-soft);margin-top:12px;max-width:46ch;}
.duo-tag{margin:0 0 48px;font-size:15.5px;color:var(--accent);font-weight:500;}
.about-values{padding-top:40px;border-top:1px solid rgba(255,255,255,0.08);max-width:64ch;}
.about-values h3{font-size:24px;font-weight:400;margin-bottom:14px;}
.about-values .block-cta{margin-top:26px;}
@media (max-width:760px){
  .bio,.bio-left,.bio-right{grid-template-columns:1fr;gap:20px;margin-left:0;}
  .bio .photo{width:180px;}
  .bio-right .photo{order:-1;}
}


/* ===== Texte sur toute la largeur (plus de retours à la ligne au milieu des phrases) ===== */
.panel-head{max-width:none;}
.panel-head h2{max-width:none;}
.about-intro,.about-values{max-width:none;}
.bio-text p,.sale-main p,.sale-estimate p{max-width:none;}

/* Immobilier : introduction pleine largeur */
.imm-intro .icon{width:34px;height:34px;margin-bottom:18px;}
.imm-intro .icon svg{width:100%;height:100%;stroke:var(--accent);fill:none;stroke-width:1.2;}
.imm-intro h2.big{font-size:30px;font-weight:400;line-height:1.3;margin-bottom:6px;}
.imm-intro .tag{font-size:15.5px;color:var(--accent);font-weight:500;margin:4px 0 14px;}
.imm-intro p{font-size:15px;color:var(--text-soft);margin-top:12px;}
.imm-intro p.tag{margin-top:6px;color:var(--accent);}
.big-words.inline{display:flex;flex-wrap:wrap;gap:0 30px;margin:26px 0 8px;}
.big-words.inline li{font-size:38px;}
@media (max-width:700px){.big-words.inline li{font-size:28px;}.big-words.inline{gap:0 18px;}}

/* Immobilier : vente + première étape, sans encadré, même police */
.sale-plain .eyebrow{font-size:15px;font-weight:500;color:var(--accent);margin-bottom:12px;}
.sale-plain h2{font-size:30px;font-weight:400;line-height:1.3;margin-bottom:6px;}
.sale-plain h2.step-title{margin-top:44px;}
.sale-plain p{font-size:15px;color:var(--text-soft);margin-top:12px;}
.sale-plain .btn{margin-top:24px;}
@media (max-width:700px){.sale-plain h2{font-size:25px;}}

/* Immobilier : lignes pleine largeur */
.stack-row + .stack-row{margin-top:40px;padding-top:40px;border-top:1px solid rgba(255,255,255,0.08);}
.stack-row .eyebrow{font-size:15px;font-weight:500;color:var(--accent);margin-bottom:10px;}
.stack-row h3{font-size:24px;font-weight:400;line-height:1.3;margin-bottom:6px;}
.stack-row p{font-size:15px;color:var(--text-soft);margin-top:10px;}
.stack-row p.keywords{color:var(--text);font-weight:500;margin-top:14px;}

/* À propos : texte sur toute la largeur, photos imbriquées avec le texte */
.bio{max-width:none;margin:0 0 26px;gap:40px;}
.bio-left{grid-template-columns:200px 1fr;}
.bio-right{grid-template-columns:1fr 200px;margin-left:0;}
.bio .photo{width:200px;}
.duo-tag{margin:10px 0 40px;}
.about-values{padding-top:36px;}


/* Formulaire : message après préparation de l'e-mail */
.form-msg .alt{margin-top:10px;font-size:13px;color:var(--text-soft);}
.form-msg .alt a,.form-msg .alt button{color:var(--text);text-decoration:underline;background:none;border:0;padding:0;font:inherit;cursor:pointer;}
.form-msg .alt button:hover,.form-msg .alt a:hover{color:var(--accent);}


/* ===== Immobilier : « Première étape » plus petit ===== */
.sale-plain h2.step-title{font-size:21px;font-weight:400;margin-top:38px;margin-bottom:0;}

/* ===== À propos : photos rondes, plus petites, mieux intégrées au texte ===== */
.bio{gap:32px;margin:0 0 22px;}
.bio-left{grid-template-columns:150px 1fr;}
.bio-right{grid-template-columns:1fr 150px;}
.bio .photo{width:150px;height:150px;aspect-ratio:1/1;border-radius:50%;}
.bio .photo img{object-position:center 12%;}
.duo-tag{margin:8px 0 34px;}
@media (max-width:760px){
  .bio,.bio-left,.bio-right{grid-template-columns:1fr;gap:16px;}
  .bio .photo{width:130px;height:130px;}
  .bio-right .photo{order:-1;}
}

/* À propos : le texte de Julien est collé à sa photo (alignement à droite, en miroir de Florine) */
.bio-right .bio-text{text-align:right;}
@media (max-width:760px){.bio-right .bio-text{text-align:left;}}

/* =================== Mise à jour du 13 octobre (soir) =================== */

/* Pictogrammes : trait arrondi un peu plus marqué, comme les nouveaux pictos */
.theme .icon svg,.col .icon svg,.imm-intro .icon svg{stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;}

/* Pied de page minimal (mentions légales / confidentialité) */
.site-foot{padding:22px 0;}
.site-foot .foot-bottom{margin-top:0;align-items:center;}
.site-foot .copyright{font-size:12.5px;color:rgba(201,197,193,0.6);}

/* Accueil : bandeau en 3 parties */
.trio{display:grid;grid-template-columns:1.35fr .9fr 1.15fr;align-items:stretch;}
.trio > div{padding:0 36px;}
.trio-left{padding-left:0 !important;}
.trio-right{padding-right:0 !important;}
.trio-mid,.trio-right{border-left:1px solid rgba(255,255,255,0.08);}
.trio-left h2{font-size:22px;font-weight:400;line-height:1.4;margin-bottom:14px;}
.trio-left p{font-size:14.5px;color:var(--text-soft);}
.trio-mid{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:20px;}
.trio-mid h3{font-size:24px;font-weight:400;line-height:1.3;}
.trio-right{display:flex;flex-direction:column;justify-content:center;gap:22px;}
.trio-right .fperson{display:grid;grid-template-columns:1fr auto;column-gap:16px;align-items:center;}
.trio-right .fperson .icons{grid-column:2;grid-row:1 / span 3;margin-top:0;}
@media (max-width:980px){
  .trio{grid-template-columns:1fr;gap:34px;}
  .trio > div{padding:0 !important;}
  .trio-mid,.trio-right{border-left:none;border-top:1px solid rgba(255,255,255,0.08);padding-top:30px !important;}
  .trio-mid{align-items:flex-start;text-align:left;}
}

/* Immobilier : accroche, financement */
.hook{font-size:38px;font-weight:300;line-height:1.25;color:var(--text);margin:0;}
@media (max-width:980px){.hook{font-size:30px;}}
.fin-title{font-size:24px;font-weight:400;line-height:1.3;margin:4px 0 6px;}
.fin-text{font-size:15px;color:var(--text-soft);margin-top:10px;}
.more-link{display:inline-block;margin-top:18px;font-size:14px;font-weight:500;color:var(--text);border-bottom:1px solid rgba(245,244,242,0.35);padding-bottom:2px;}
.more-link:hover{color:var(--accent);border-color:var(--accent);}

/* À propos : texte commun + encadré photo commune */
.about-main{display:grid;grid-template-columns:1fr 380px;gap:56px;align-items:start;margin-bottom:56px;}
.about-text h2{font-size:30px;font-weight:400;line-height:1.3;margin-bottom:6px;}
.about-text .tag{margin:4px 0 14px;}
.about-text p{font-size:15px;color:var(--text-soft);margin-top:12px;max-width:none;}
.joint-photo{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid rgba(169,160,153,0.45);border-radius:4px;background:rgba(255,255,255,0.02);}
.joint-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 15%;border-radius:2px;filter:grayscale(0.15) contrast(1.02);}
.about-values p{font-size:15px;color:var(--text-soft);margin-top:12px;max-width:none;}
.about-values p.strong{color:var(--text);font-weight:500;margin-top:18px;}
@media (max-width:980px){
  .about-main{grid-template-columns:1fr;gap:32px;}
  .joint-photo{max-width:380px;}
}

/* correctifs : accroche Immobilier + rubrique Financement */
.col p.hook{font-size:38px;font-weight:300;line-height:1.25;color:var(--text);margin:0;}
@media (max-width:980px){.col p.hook{font-size:30px;}}
#financement-immo .eyebrow{color:var(--accent);margin-bottom:10px;}


/* =================== Retouches du 14 octobre =================== */

/* Accueil : bandeau du bas — titres plus petits, « Parlons de votre situation » sur une ligne, boutons près des coordonnées */
.trio{grid-template-columns:1.3fr 1fr 1.1fr;}
.trio > div{padding:0 30px;}
.trio-left h2{font-size:18px;line-height:1.45;margin-bottom:12px;}
.trio-mid h3{font-size:19px;white-space:nowrap;}
.trio-right .fperson{grid-template-columns:max-content max-content;column-gap:18px;justify-content:start;}
@media (max-width:1100px){.trio-mid h3{white-space:normal;}}

/* Immobilier : page continue, rangées en 2 colonnes */
.imm-row{margin-top:52px;padding-top:52px;border-top:1px solid rgba(255,255,255,0.08);}
.imm-row .col h3.step-title{font-size:19px;margin-top:30px;margin-bottom:4px;}
.imm-row .col p{font-size:15px;color:var(--text-soft);margin-top:10px;}
.imm-row .col .btn.imm-action{align-self:flex-start;margin-top:24px;}
.imm-row .col .more-link.imm-action{align-self:flex-start;margin-top:auto;}
.imm-row .col .more-link{padding-top:0;}
.imm-row .col .eyebrow{font-size:15px;font-weight:500;}

/* À propos : texte commun, puis photos, puis « Ce qui compte pour nous » */
.about-main{display:block;margin-bottom:44px;}
.joint-photo{max-width:520px;margin:0 auto 56px;}
.joint-photo img{aspect-ratio:4/5;}
.about-values{border-top:none;padding-top:0;}
.trio-right .fperson{grid-template-columns:162px max-content;column-gap:12px;}

/* =================== Accueil : texte remonté, photo recadrée =================== */
.hero{min-height:0;justify-content:flex-start;padding:calc(var(--header-h) + 44px) 0 60px;}
.hero-grid{padding-top:0;padding-bottom:0;}
.themes-panel{margin-top:44px;}
.hero-bg{background-position:center 38%;}
@media (max-width:860px){.hero{padding:calc(var(--header-h) + 28px) 0 40px;}}


/* =================== Grand « S » discret sur toutes les pages sauf l'accueil =================== */
.panel.page-top,.has-s{position:relative;overflow:hidden;}
.panel.page-top::after,.has-s::after{
  content:"";position:absolute;top:50%;right:-60px;width:380px;height:760px;
  transform:translateY(-50%);
  background:url('s-picto.png') center/contain no-repeat;
  opacity:0.07;pointer-events:none;z-index:0;
}
@media (max-width:760px){
  .panel.page-top::after,.has-s::after{width:240px;height:480px;right:-50px;}
}


/* =================== Retouches du 14 octobre (suite) =================== */

/* Grand S : fixe, toujours au même endroit (toutes les pages sauf l'accueil) ; la page défile par-dessus */
.panel.page-top::after,.has-s::after{content:none;}
.panel.page-top,.has-s{overflow:visible;}
body.page-s::before{
  --s-h:min(760px,92vh);
  content:"";position:fixed;top:50%;right:-50px;
  height:var(--s-h);width:calc(var(--s-h) / 2);
  transform:translateY(-50%);
  background:url('s-picto.png') center/contain no-repeat;
  opacity:0.07;pointer-events:none;z-index:1;
}
@media (max-width:760px){body.page-s::before{--s-h:min(420px,70vh);right:-40px;}}

/* Accueil : plus d'air */
.hero{padding:calc(var(--header-h) + 72px) 0 96px;}
.hero p.sub{margin-top:30px;}
.themes-panel{margin-top:64px;padding:42px 40px;}
.themes-panel .theme .tag{margin-bottom:12px;}
.themes-panel .theme .more{padding-top:20px;}
#bandeau.panel{padding:104px 0;}
@media (max-width:860px){.hero{padding:calc(var(--header-h) + 36px) 0 48px;}.themes-panel{margin-top:40px;padding:28px 22px;}#bandeau.panel{padding:64px 0;}}

/* Immobilier : trois mises en page différentes */
.two-col.imm-featured{grid-template-columns:1.45fr 1fr;}
#vente > h3:not(.step-title){font-size:28px;}
.imm-list{padding-top:0;margin-top:44px;}
.imm-list .imm-item{display:grid;grid-template-columns:260px 1fr;gap:40px;padding:30px 0;border-top:1px solid rgba(255,255,255,0.08);}
.imm-list .imm-item:first-child{border-top:none;padding-top:0;}
.imm-label{font-size:15px;font-weight:500;color:var(--accent);padding-top:6px;}
.imm-content h3{font-size:24px;font-weight:400;line-height:1.3;margin-bottom:6px;}
.imm-content p{font-size:15px;color:var(--text-soft);margin-top:10px;}
@media (max-width:980px){
  .two-col.imm-featured{grid-template-columns:1fr;}
  #vente > h3:not(.step-title){font-size:24px;}
  .imm-list .imm-item{grid-template-columns:1fr;gap:6px;}
}
.imm-list .imm-item:first-child{padding-top:34px;}


/* Accueil : bandeau du bas en 2 parties (texte élargi à gauche, coordonnées à droite) */
.trio{grid-template-columns:1.8fr 1.1fr;}
.trio > div{padding:0 48px;}
.trio-left{padding-left:0 !important;}
.trio-right{padding-right:0 !important;}
.trio-left h2{max-width:none;}
.trio-left p{max-width:none;}
@media (max-width:980px){.trio{grid-template-columns:1fr;}.trio > div{padding:0 !important;}}
.trio-left{display:flex;flex-direction:column;justify-content:center;}


/* Contact : coordonnées de Florine et Julien (WhatsApp + e-mail) */
.contact-people{display:grid;gap:22px;margin-top:34px;}
.contact-people .fperson{display:grid;grid-template-columns:170px max-content;column-gap:14px;justify-content:start;align-items:center;}
.contact-people .fperson .icons{grid-column:2;grid-row:1 / span 3;margin-top:0;}
.contact-people + .company-block{margin-top:34px;}

/* Contact : une seule colonne sur téléphone / tablette (correctif : la règle desktop plus bas écrasait la règle mobile) */
@media (max-width:860px){
  .contact .wrap{grid-template-columns:1fr;gap:40px;}
  .contact-people .fperson{grid-template-columns:170px max-content;}
}

/* =================== Hiérarchie des titres : le thème devient le titre, la phrase devient le sous-titre =================== */
/* Immobilier */
#vente .eyebrow,#financement-immo .eyebrow{font-size:26px;font-weight:400;line-height:1.3;color:var(--text);letter-spacing:0;margin-bottom:6px;}
#vente > h3:not(.step-title),#financement-immo > h3{font-size:18px;font-weight:500;line-height:1.4;color:var(--accent);min-height:0;margin-bottom:14px;}
#vente > h3.step-title{font-size:18px;font-weight:500;color:var(--text);margin-top:30px;margin-bottom:2px;}
.imm-label{font-size:26px;font-weight:400;line-height:1.3;color:var(--text);padding-top:0;}
.imm-content h3{font-size:18px;font-weight:500;line-height:1.4;color:var(--accent);margin-bottom:4px;}
.imm-list .imm-item{grid-template-columns:280px 1fr;}
/* Accompagnement : Notre approche / Notre engagement */
#duree .eyebrow{font-size:26px;font-weight:400;line-height:1.3;color:var(--text);letter-spacing:0;margin-bottom:6px;}
#duree .col h3{font-size:18px;font-weight:500;line-height:1.4;color:var(--accent);margin-bottom:14px;}
@media (max-width:980px){
  #vente .eyebrow,#financement-immo .eyebrow,.imm-label,#duree .eyebrow{font-size:24px;}
  .imm-list .imm-item{grid-template-columns:1fr;}
}


/* =================== À propos : page restructurée =================== */
.ap-hero{display:grid;grid-template-columns:1fr 380px;gap:72px;align-items:center;}
.ap-hero h2{font-size:38px;font-weight:300;line-height:1.2;letter-spacing:-0.01em;margin-bottom:14px;}
.ap-names{font-size:18px;font-weight:500;color:var(--accent);margin-bottom:22px;}
.ap-hero p{font-size:15.5px;color:var(--text-soft);max-width:54ch;}
.portrait-frame{width:100%;max-width:380px;aspect-ratio:4/5;border:1px solid rgba(169,160,153,0.5);border-radius:4px;background:rgba(255,255,255,0.025);justify-self:end;}

.ap-quote-sec{padding:96px 0;}
.ap-quote{max-width:860px;margin:0 auto;text-align:center;}
.ap-quote::before{content:"“";display:block;font-size:84px;line-height:.7;color:var(--accent);margin-bottom:10px;}
.ap-quote p{font-size:30px;font-weight:300;line-height:1.35;color:var(--text);}
.ap-quote cite{display:block;margin-top:22px;font-style:normal;font-size:14px;letter-spacing:.04em;color:var(--accent);}

.ap-title{font-size:26px;font-weight:400;line-height:1.3;margin-bottom:34px;}
.ap-steps{display:grid;grid-template-columns:repeat(3,1fr);}
.ap-step{padding:0 36px;border-left:1px solid rgba(255,255,255,0.08);}
.ap-step:first-child{padding-left:0;border-left:none;}
.ap-step:last-child{padding-right:0;}
.ap-step .num{font-size:38px;font-weight:300;color:var(--accent);line-height:1;margin-bottom:14px;}
.ap-step h4{font-size:20px;font-weight:500;margin-bottom:8px;color:var(--text);}
.ap-step p{font-size:15px;color:var(--text-soft);}
.ap-tagline{margin-top:40px;font-size:16px;font-weight:500;color:var(--accent);}

.ap-values{display:grid;grid-template-columns:340px 1fr;gap:64px;align-items:start;}
.ap-values .ap-title{margin-bottom:0;}
.ap-val-list p{font-size:17px;line-height:1.5;color:var(--text);padding:20px 0;border-top:1px solid rgba(255,255,255,0.1);}
.ap-val-list p:first-child{border-top:none;padding-top:4px;}

.ap-cta{text-align:center;padding:96px 0;}
.ap-cta h2{font-size:34px;font-weight:300;margin-bottom:12px;}
.ap-cta p{font-size:16px;color:var(--text-soft);margin-bottom:30px;}

@media (max-width:980px){
  .ap-hero{grid-template-columns:1fr;gap:40px;}
  .ap-hero h2{font-size:30px;}
  .portrait-frame{justify-self:start;max-width:320px;}
  .ap-quote-sec,.ap-cta{padding:64px 0;}
  .ap-quote p{font-size:24px;}
  .ap-steps{grid-template-columns:1fr;gap:30px;}
  .ap-step,.ap-step:first-child,.ap-step:last-child{padding:0;border-left:none;}
  .ap-values{grid-template-columns:1fr;gap:24px;}
  .ap-cta h2{font-size:28px;}
}


/* =================== Accompagnement / À propos : retouches du 21 octobre =================== */
.col p.goal{color:var(--text);font-weight:500;margin-top:14px;}

/* Bloc commun (Accompagnement) */
.common-block{margin-top:64px;padding-top:56px;border-top:1px solid rgba(255,255,255,0.08);}
.common-head h3{font-size:30px;font-weight:300;line-height:1.25;color:var(--text);margin-bottom:8px;}
.common-head .tag{font-size:16px;font-weight:500;color:var(--accent);margin:0;}
.common-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px;}
.common-item{position:relative;padding:30px 24px 26px;border:1px solid rgba(255,255,255,0.09);border-radius:4px;background:rgba(255,255,255,0.025);}
.common-item::before{content:"";position:absolute;top:0;left:24px;width:32px;height:3px;background:var(--accent);}
.common-item p{font-size:15.5px;line-height:1.55;color:var(--text);margin:0;}
@media (max-width:1100px){.common-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:700px){.common-grid{grid-template-columns:1fr;}.common-head h3{font-size:24px;}}

/* Bandeau en 4 colonnes numérotées (Notre approche, Ce qui compte pour nous) */
.ap-steps.four{grid-template-columns:repeat(4,1fr);}
.ap-steps.four .ap-step{padding:0 28px;}
.ap-steps.four .ap-step:first-child{padding-left:0;}
.ap-steps.four .ap-step:last-child{padding-right:0;}
.ap-step p.statement{font-size:16px;line-height:1.5;color:var(--text);}
#facon{scroll-margin-top:100px;}
@media (max-width:1100px){
  .ap-steps.four{grid-template-columns:repeat(2,1fr);row-gap:36px;gap:36px 0;}
  .ap-steps.four .ap-step{padding:0 28px;border-left:1px solid rgba(255,255,255,0.08);}
  .ap-steps.four .ap-step:nth-child(odd){padding-left:0;border-left:none;}
  .ap-steps.four .ap-step:nth-child(even){padding-right:0;}
}
@media (max-width:700px){
  .ap-steps.four{grid-template-columns:1fr;gap:30px;}
  .ap-steps.four .ap-step,.ap-steps.four .ap-step:nth-child(even){padding:0;border-left:none;}
}

/* Notre engagement */
.eng-sub{font-size:18px;font-weight:500;color:var(--accent);margin:6px 0 14px;}
.eng-title .tag{font-size:15.5px;margin:0;}
.eng-text{font-size:17px;line-height:1.6;color:var(--text-soft);padding-top:6px;}


/* =================== Retouches du 21 octobre (suite) =================== */

/* Accompagnement : Notre approche en carré 2×2, Notre engagement à côté */
.approach-row{display:grid;grid-template-columns:1.7fr 1fr;gap:0;align-items:start;}
.approach-col{padding-right:56px;}
.engagement-col{border-left:1px solid rgba(255,255,255,0.08);padding-left:56px;}
.ap-steps.grid2{grid-template-columns:repeat(2,1fr);gap:44px 48px;}
.ap-steps.grid2 .ap-step,.ap-steps.grid2 .ap-step:first-child,.ap-steps.grid2 .ap-step:last-child{padding:0;border-left:none;}
.engagement-col .eng-text{font-size:16px;line-height:1.6;padding-top:0;}
@media (max-width:980px){
  .approach-row{grid-template-columns:1fr;gap:48px;}
  .approach-col{padding-right:0;}
  .engagement-col{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,0.08);padding-top:40px;}
}
@media (max-width:560px){.ap-steps.grid2{grid-template-columns:1fr;gap:30px;}}

/* À propos : « Ce qui compte pour nous » sans numéros + dernière phrase en très grand */
.ap-steps.four .ap-step:not(:has(.num)){position:relative;padding-top:18px;}
.ap-steps.four .ap-step:not(:has(.num))::before{content:"";position:absolute;top:0;left:28px;width:30px;height:3px;background:var(--accent);}
.ap-steps.four .ap-step:not(:has(.num)):first-child::before{left:0;}
.ap-final{padding:120px 0 130px;text-align:center;}
.ap-closing{font-size:46px;font-weight:300;line-height:1.2;letter-spacing:-0.01em;color:var(--text);max-width:980px;margin:0 auto;}
@media (max-width:980px){.ap-final{padding:72px 0 80px;}.ap-closing{font-size:30px;}}

/* Accueil : la phrase du bandeau du bas devient un vrai titre */
.trio-left h2{font-size:32px;font-weight:300;line-height:1.25;letter-spacing:-0.01em;margin-bottom:18px;}
@media (max-width:980px){.trio-left h2{font-size:26px;}}


/* =================== Accompagnement reconfigurée + Accueil =================== */
.start-row{display:grid;grid-template-columns:1fr 1.3fr;gap:72px;align-items:start;}
.start-head h3{font-size:30px;font-weight:300;line-height:1.25;color:var(--text);margin-bottom:10px;}
.start-head .tag{font-size:16px;font-weight:500;color:var(--accent);margin:0;}
.common-stack{display:grid;gap:14px;}
.common-stack .common-item{padding:22px 28px 22px 34px;}
.common-stack .common-item::before{top:18px;bottom:18px;left:0;width:3px;height:auto;}
.common-stack .common-item p{font-size:16px;}
.eng-center{max-width:760px;margin:0 auto;text-align:center;}
.eng-center .ap-title{font-size:30px;margin-bottom:8px;}
.eng-center .eng-sub{margin:0 0 18px;}
.eng-center .eng-text{font-size:16px;line-height:1.65;color:var(--text-soft);padding-top:0;}
@media (max-width:980px){.start-row{grid-template-columns:1fr;gap:30px;}.start-head h3{font-size:26px;}}

/* Accueil : le paragraphe du hero tient sur deux lignes */
.hero p.sub{max-width:700px;}
@media (max-width:860px){.hero p.sub{max-width:none;}}


/* =================== Accompagnement : questions + engagement côte à côte ; À propos : photo =================== */
.start-row{grid-template-columns:1.75fr 1fr;gap:0;}
.start-main{padding-right:56px;}
.start-head{margin-bottom:28px;}
.engagement-col .ap-title{font-size:30px;font-weight:300;line-height:1.25;margin-bottom:10px;}
.engagement-col .eng-sub{margin:0 0 18px;}
@media (max-width:980px){
  .start-row{grid-template-columns:1fr;gap:44px;}
  .start-main{padding-right:0;}
}

.portrait-frame{aspect-ratio:auto;padding:10px;max-width:370px;}
.portrait-frame img{display:block;width:100%;height:auto;border-radius:2px;}

/* =================== Accueil sur téléphone et tablette : la photo en bandeau visible, puis le texte et les cartes =================== */
@media (max-width:1100px){
  .hero{display:block;min-height:0;padding:var(--header-h) 0 48px;background:var(--bg);}
  .hero-bg{
    position:relative;inset:auto;display:block;width:100%;
    height:clamp(230px,46vw,400px);
    background:
      linear-gradient(to bottom, rgba(35,35,35,0) 52%, var(--bg) 100%),
      url('hero-photo.jpg') center 42%/cover no-repeat;
  }
  .hero-grid{padding-top:26px;padding-bottom:0;}
  .themes-panel{background:var(--bg-soft);-webkit-backdrop-filter:none;backdrop-filter:none;margin-top:36px;}
}
@media (max-width:860px){
  .hero{padding:var(--header-h) 0 40px;}
  .hero-bg{height:clamp(220px,58vw,360px);}
  .themes-panel{margin-top:30px;}
}
