@media (min-width:901px){
  html{scroll-behavior:smooth;scroll-snap-type:y proximity;scroll-padding-top:0}
  body{background:#fff}
  .topbar{height:82px}

  /* ÉCRAN 1 = header + hero + bureau = exactement 100vh */
  .hero{box-sizing:border-box;height:57vh;min-height:0;grid-template-columns:57% 43%;align-items:stretch;background:#fff;margin:0}
  .hero-copy{display:flex;flex-direction:column;justify-content:center;padding-top:24px;padding-bottom:24px}
  .hero-photo{height:100%;min-height:0;padding-right:4vw;background:#fff;box-sizing:border-box}
  .hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
  .about-office{box-sizing:border-box;height:calc(43vh - 82px);min-height:0;display:flex;flex-direction:column;justify-content:center;padding-top:22px;padding-bottom:22px;background:#fff;margin:0}
  .about-office h2{font-size:clamp(29px,2.15vw,41px);margin-bottom:12px}
  .about-office p{font-size:14px;line-height:1.52}

  /* ÉCRAN 2 = services = exactement 100vh */
  .services{box-sizing:border-box;height:100vh;min-height:760px;padding:50px 5.5vw;background:#f4efe6;margin:0;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start}
  .services .section-head{margin-bottom:24px}
  .services .service-grid{gap:14px}
  .services .service-grid a{box-sizing:border-box;min-height:164px;padding:21px 25px;display:flex;flex-direction:column;background:#fff}
  .services .service-grid h3{font-size:20px;line-height:1.17;margin:25px 0 7px}
  .services .service-grid p{font-size:14px;line-height:1.42;margin:0 0 6px}
  .services .service-more{margin-top:auto;padding-top:4px;font-size:11px}
  .projects{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}

  /* ÉCRAN 3 = contact + footer = exactement 100vh */
  .contact{box-sizing:border-box;height:calc(100vh - 290px);min-height:500px;margin:0;padding:54px 5.5vw 44px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:center;background:#102337;scroll-snap-align:start}
  .contact>.contact-copy,.contact>form{align-self:center;transform:none}
  .contact h2{color:#fff}
  .contact .eyebrow{color:#c6ad8b}
  .contact p,.contact a,.contact .direct,.contact .contact-note,.contact form label{color:#c9d0d7}
  .contact .direct{gap:10px;margin-top:25px;margin-bottom:22px}
  .site-footer{box-sizing:border-box;height:290px;min-height:290px;background:#091a2c;padding:0 5.5vw;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:230px 60px;column-gap:18vw;row-gap:0;align-items:center;margin:0;border:0}
  .site-footer>.footer-col{align-self:center;justify-self:stretch;text-align:center;margin:0;padding:0}
  .site-footer>.footer-col:first-child{grid-column:1;grid-row:1}
  .site-footer>.footer-col:nth-child(2){grid-column:2;grid-row:1}
  .site-footer .footer-brand{width:max-content;margin:0 auto}
  .site-footer .footer-brand strong,.site-footer .footer-brand small,.site-footer .footer-col p,.site-footer .footer-label{text-align:center}
  .site-footer>.footer-bottom{grid-column:1/-1;grid-row:2;align-self:stretch;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between}
}
@media(max-width:900px){.hero,.about-office,.services,.contact,.site-footer{height:auto;min-height:auto}.projects{display:none!important}.hero-photo{min-height:330px;padding-right:0}.hero-photo img{object-fit:cover}.services{padding:70px 22px}.contact{padding:90px 22px;grid-template-columns:1fr;gap:50px}}


/* GEO4 — accueil allégé, services détaillés sur une page dédiée */


/* GEO4 — Services accueil = écran 2 complet — v3 */
@media (min-width:901px){
  .home-services-preview{
    box-sizing:border-box!important;
    width:100%!important;
    height:100vh!important;
    min-height:100vh!important;
    max-height:none!important;
    margin:0!important;
    padding:42px 5.5vw 44px!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    row-gap:28px!important;
    align-content:stretch!important;
    background:#f4efe6!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:normal!important;
  }
  .home-services-preview .section-head{
    margin:0!important;
    align-self:start!important;
  }
  .home-services-preview .home-service-grid{
    min-height:0!important;
    height:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    gap:15px!important;
    align-items:stretch!important;
    align-content:stretch!important;
  }
  .home-services-preview .home-service-grid>a{
    box-sizing:border-box!important;
    min-height:0!important;
    height:100%!important;
    padding:22px 24px!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .home-services-preview .home-service-grid h3{
    margin:18px 0 8px!important;
    font-size:19px!important;
    line-height:1.15!important;
  }
  .home-services-preview .home-service-grid p{
    font-size:13px!important;
    line-height:1.5!important;
    margin:0 0 6px!important;
  }
  .home-services-preview .service-more{margin-top:auto!important}
  .home-services-intro{max-width:540px!important}
  html{scroll-snap-type:y proximity!important}
}
@media(max-width:900px){
  .home-services-preview{height:auto!important;min-height:auto!important;padding:68px 22px!important;display:block!important}
  .home-services-preview .home-service-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}
}
@media(max-width:560px){.home-services-preview .home-service-grid{grid-template-columns:1fr!important}}

@media (min-width:901px){
  .topbar{scroll-snap-align:start;scroll-snap-stop:normal}
}


/* GEO4 — TEST SERVICES ÉDITORIAL : image dynamique + liste, sans cartes */
.services-editorial{
  box-sizing:border-box;
  height:100vh!important;
  min-height:760px!important;
  padding:38px 5.5vw 44px!important;
  background:#f4efe6!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:26px!important;
  justify-content:stretch!important;
  scroll-snap-align:start;
}
.services-editorial__head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:6vw;
  align-items:end;
}
.services-editorial__head .eyebrow{margin:0 0 16px;color:#806342}
.services-editorial__head h2{
  margin:0;
  font-size:clamp(38px,3.3vw,58px);
  line-height:1.02;
  letter-spacing:-2.1px;
  font-weight:500;
  color:#102337;
}
.services-editorial__head>p{
  max-width:500px;
  margin:0 0 4px auto;
  color:#64707b;
  font-size:14px;
  line-height:1.7;
}
.services-editorial__body{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);
  gap:clamp(36px,4.4vw,72px);
  align-items:stretch;
}
.services-editorial__visual{
  position:relative;
  min-height:0;
  margin:0;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 55px rgba(16,35,55,.08);
}
.services-editorial__visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 68%,rgba(7,20,34,.44));
}
.services-editorial__visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transition:opacity .22s ease,transform .55s ease;
}
.services-editorial__visual img.is-changing{opacity:.18;transform:scale(1.012)}
.services-editorial__visual figcaption{
  position:absolute;
  left:24px;
  bottom:20px;
  z-index:2;
  color:#fff;
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
}
.services-editorial__visual figcaption span{
  color:#d8bea0;
  font-size:10px;
  letter-spacing:.16em;
  margin-right:10px;
}
.services-editorial__list{
  min-height:0;
  display:grid;
  grid-template-rows:repeat(9,minmax(0,1fr));
  border-top:1px solid rgba(16,35,55,.17);
}
.services-editorial__list a{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 34px;
  gap:10px;
  align-items:center;
  min-height:0;
  padding:0 8px 0 2px;
  border-bottom:1px solid rgba(16,35,55,.17);
  color:#102337;
  transition:padding .25s ease,color .25s ease,background .25s ease;
}
.services-editorial__list a::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:0;
  background:#806342;
  transition:width .25s ease;
}
.services-editorial__list a>span{
  color:#806342;
  font-size:9px;
  letter-spacing:.14em;
  transition:transform .25s ease;
}
.services-editorial__list strong{
  font-size:clamp(15px,1.2vw,20px);
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.25px;
}
.services-editorial__list i{
  justify-self:end;
  font-style:normal;
  font-size:17px;
  color:#83909b;
  transition:transform .25s ease,color .25s ease;
}
.services-editorial__list a:hover,
.services-editorial__list a:focus,
.services-editorial__list a.is-active{
  padding-left:14px;
  background:rgba(255,255,255,.52);
  outline:none;
}
.services-editorial__list a:hover::before,
.services-editorial__list a:focus::before,
.services-editorial__list a.is-active::before{width:3px}
.services-editorial__list a:hover i,
.services-editorial__list a:focus i,
.services-editorial__list a.is-active i{transform:translateX(4px);color:#806342}
.services-editorial__list a:hover>span,
.services-editorial__list a:focus>span,
.services-editorial__list a.is-active>span{transform:translateX(2px)}

@media(max-width:1000px){
  .services-editorial{height:auto!important;min-height:auto!important;padding:76px 5.5vw!important;display:block!important}
  .services-editorial__head{grid-template-columns:1fr;gap:20px;margin-bottom:34px}
  .services-editorial__head>p{margin:0;max-width:660px}
  .services-editorial__body{grid-template-columns:1fr;gap:28px}
  .services-editorial__visual{height:48vw;min-height:320px;max-height:520px}
  .services-editorial__list{grid-template-rows:none}
  .services-editorial__list a{min-height:62px}
}
@media(max-width:560px){
  .services-editorial{padding:64px 22px!important}
  .services-editorial__head h2{font-size:38px;letter-spacing:-1.5px}
  .services-editorial__visual{height:300px;min-height:0}
  .services-editorial__list a{grid-template-columns:34px 1fr 26px;min-height:58px}
  .services-editorial__list strong{font-size:15px}
}

/* Audit 2026-09-29 — contraste renforcé sans modifier la palette GEO4 */
.services-editorial__head .eyebrow,.services-editorial__list a>span,.services-editorial__list a.is-active i,.services-editorial__list a:hover i,.services-editorial__list a:focus i{color:#806342}
.services-editorial__list a::before{background:#806342}

/* Page Le bureau */
.bureau-page{background:#f7f7f4;color:#102337}
.bureau-page .topbar{position:relative}
.bureau-page main{overflow:hidden}
.bureau-hero{padding:110px 8vw 105px;background:#fff;border-bottom:1px solid #e4e3dd}
.bureau-hero>*{max-width:1120px;margin-left:auto;margin-right:auto}
.bureau-hero .eyebrow{margin-bottom:28px;color:#806342}
.bureau-hero h1{font-size:clamp(48px,6vw,86px);line-height:1;letter-spacing:-.055em;font-weight:500;margin-top:0;margin-bottom:30px}
.bureau-hero h1 em{font-style:normal;color:#806342}
.bureau-hero>p:last-child{max-width:790px;font-size:18px;line-height:1.75;color:#52616f}
.bureau-associates{padding:110px 8vw 125px}
.bureau-section-head{max-width:1120px;margin:0 auto 65px;display:grid;grid-template-columns:.55fr 1.45fr;gap:7vw;align-items:start}
.bureau-section-head .eyebrow{color:#806342;margin-top:10px}
.bureau-section-head h2{font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.04em;font-weight:500;margin:0}
.associate-grid{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d8d8d2;border-left:1px solid #d8d8d2}
.associate-grid article{padding:48px 50px 52px;background:#fff;border-right:1px solid #d8d8d2;border-bottom:1px solid #d8d8d2}
.associate-index{font-size:11px;letter-spacing:.16em;color:#806342;font-weight:700}
.associate-grid h3{font-size:clamp(38px,4vw,56px);font-weight:500;letter-spacing:-.04em;margin:42px 0 8px}
.associate-role{min-height:42px;color:#806342!important;font-size:13px!important;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.associate-grid p{font-size:15px;line-height:1.78;color:#52616f;margin:0 0 18px}
.profile-link{display:inline-block;margin-top:13px;color:#806342;font-size:13px;font-weight:700;border-bottom:1px solid currentColor}
.bureau-team{padding:95px 8vw;background:#102337;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}
.bureau-team>div,.bureau-team>p{max-width:550px}
.bureau-team .eyebrow{color:#c6ad8b;margin-bottom:22px}
.bureau-team h2{font-size:clamp(34px,3.5vw,52px);line-height:1.07;letter-spacing:-.04em;font-weight:500;margin:0}
.bureau-team>p{color:#c9d0d7;font-size:17px;line-height:1.8;margin:0}
.bureau-coverage{padding:100px 8vw 115px;background:#eeede8;text-align:center}
.bureau-coverage .eyebrow{color:#806342;margin-bottom:24px}
.bureau-coverage h2{font-size:clamp(36px,4vw,58px);font-weight:500;letter-spacing:-.04em;margin:0 0 25px}
.bureau-coverage>p:last-child{max-width:780px;margin:auto;color:#565f66;line-height:1.8}
@media(max-width:800px){.bureau-hero,.bureau-associates,.bureau-team,.bureau-coverage{padding-left:22px;padding-right:22px}.bureau-section-head,.bureau-team{grid-template-columns:1fr;gap:28px}.associate-grid{grid-template-columns:1fr}.bureau-hero{padding-top:75px;padding-bottom:75px}.bureau-associates{padding-top:75px;padding-bottom:80px}.bureau-section-head{margin-bottom:40px}.bureau-team{padding-top:72px;padding-bottom:76px}.bureau-coverage{padding-top:72px;padding-bottom:78px}}
@media(max-width:560px){.bureau-hero h1{font-size:44px}.bureau-hero>p:last-child{font-size:16px}.associate-grid article{padding:35px 27px 38px}.associate-role{min-height:0}.bureau-page .site-footer{grid-template-columns:1fr}}
