:target { scroll-margin-top: calc(var(--nav-h) + var(--admin-bar) + 20px); }

@media (max-width: 1200px) {
  .mega__inner { grid-template-columns: minmax(0, 1fr) 440px; }
  .mega__visual-back { right: 170px; width: 260px; height: 400px; }
  .mega__visual-front { width: 230px; height: 300px; }
}

@media (max-width: 1024px) {
  .about-stage__sticky { --about-title-h: clamp(250px, 36vh, 360px); }

  .searchbar__menu { min-width: 0; }
  .searchbar__field { min-width: 0; }
  .searchbar__submit { width: 168px; }

  .bien-layout { grid-template-columns: 1fr; }
  .bien-aside { position: static; }
  .sim-grid { grid-template-columns: 1fr; }
  .raisons-grid { grid-template-columns: 1fr; }
  .expertise-grid { grid-template-columns: 1fr; }
  .expertise-grid__visual { position: relative; height: clamp(300px, 48vw, 440px); }
  .expertise-step { opacity: 1; }
  .lead-grid { grid-template-columns: 1fr; }
  .searchbar__submit { width: 160px; }
}

@media (max-width: 960px) {
  .mega,
  .mega-scrim { top: calc(var(--header-h) + var(--admin-bar)); }

  .mega {
    max-height: calc(100vh - var(--header-h) - var(--admin-bar));
    max-height: calc(100svh - var(--header-h) - var(--admin-bar));
  }

  .mega__inner {
    grid-template-columns: 1fr;
    gap: var(--space-32);
    padding: var(--space-32) var(--frame) var(--space-40);
  }

  .mega__visual { display: none; }

  .mega__cols { flex-direction: column; gap: var(--space-24); }
  .mega__col { gap: 0; }

  .mega__link {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding-block: 4px;
    border-bottom: 1px solid var(--color-cream-deep);
    font-size: var(--fs-body);
  }

  .mega__col .mega__link:last-child { border-bottom: none; }

  .metier { grid-template-columns: 1fr; min-height: 0; }
  .metier__visual { min-height: clamp(300px, 58vw, 420px); }
  .metier__arch { display: none; }

  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .types__grid { grid-template-columns: 1fr 1fr; }
  .types__col--mid { margin-top: 0; }
  .type-cell__title,
  .type-cell__title--over { font-size: clamp(2rem, 5.6vw, 3.4rem); left: -6%; }
}

@media (max-width: 900px) {
  .svc-grid,
  .svc-grid--contact { grid-template-columns: 1fr; gap: var(--space-40); }
  .values { grid-template-columns: 1fr; gap: var(--space-48); }
  .values__col--mid { padding-top: 0; }
  .values__media--bleed-left,
  .values__media--bleed-right { margin-inline: 0; }
  .values__body--left,
  .values__body--right,
  .values__body--mid { padding-inline: var(--gutter); }
  .cta-grid { grid-template-columns: 1fr; }
  .form-grid,
  .form-grid--airy { grid-template-columns: 1fr; }
  .hero-form__grid { grid-template-columns: 1fr 1fr; }
  .expertise-grid__visual { height: clamp(280px, 50vw, 420px); }
  .bien-gallery { grid-template-columns: 1fr; height: auto; }
  .bien-gallery > .media { height: clamp(240px, 48vw, 380px); }
  .bien-gallery__side { grid-template-rows: auto; grid-template-columns: 1fr 1fr; height: clamp(150px, 28vw, 220px); }
}

@media (max-width: 820px) {
  .collab--grid { grid-template-columns: 1fr; gap: clamp(24px, 5vw, 34px); }
  .collab--grid .collab__portrait { grid-column: 1; grid-row: 1; max-width: 320px; }
  .collab--grid .collab__body { grid-column: 1; grid-row: 2; }
  .about-stage { height: 180vh; }
  .about-stage__side { display: none; }
  .about-stage__sticky { --about-centre: min(76vw, 520px); }
  .journal-card { grid-template-columns: 1fr; }
  .gazette { height: 340px; max-width: 300px; }
  .lead-step__label { display: none; }
}

@media (max-height: 620px) {
  .page-hero--full { min-height: 0; }
  .about-stage { height: 190vh; }
}

@media (max-width: 720px) {
  :root { --frame: 16px; }

  .select__menu { min-width: 0; }

  .page-hero--full { min-height: 560px; }
  .hero-inset--title { top: 14%; }
  .hero-inset--search { bottom: var(--frame); left: var(--frame); right: var(--frame); }

  .search-tabs {
    flex-wrap: wrap;
    gap: 0 14px;
    padding-inline: var(--space-16);
    overflow: visible;
  }

  .search-tabs__long { display: none; }
  .search-tabs__court { display: inline; }

  .search-tabs__btn {
    flex: 0 0 auto;
    padding-block: 11px 9px;
    font-size: var(--fs-sm);
    letter-spacing: 0.06em;
    white-space: nowrap;
  }

  .hero-form__foot { flex-direction: column; align-items: stretch; gap: var(--space-16); }

  .searchbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: auto;
    padding-left: 0;
  }

  .searchbar__field {
    flex: none;
    height: 54px;
    min-width: 0;
    border-right: 1px solid var(--color-line);
    border-bottom: 1px solid var(--color-line);
  }

  .searchbar__field::after { display: none; }
  .searchbar__field:nth-child(2n) { border-right: none; }

  .searchbar__toggle,
  .searchbar__entry { padding-inline: 14px; gap: 8px; }

  .searchbar__value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .searchbar__icon { flex: none; }

  .searchbar__submit {
    grid-column: 1 / -1;
    width: 100%;
    height: 58px;
  }

  .metiers__tabs { overflow-x: auto; }
  .metiers__tab { flex: 0 0 auto; min-height: 68px; padding-inline: var(--space-20); white-space: nowrap; }

  .header-contact { display: none; }
  .site-brand { width: 144px; height: 49px; }
  :root.is-scrolled .site-brand { width: 122px; height: 42px; }

  .hero-title { font-size: clamp(2rem, 8.5vw, 3.2rem); }
  .intro__title { font-size: clamp(1.9rem, 8vw, 2.6rem); }

  .types__grid { grid-template-columns: 1fr; }
  .types__grid.has-hover .type-cell { opacity: 1; }

  .type-cell--flat {
    height: auto;
    min-height: var(--type-cell-h);
    padding: clamp(40px, 11vw, 60px) clamp(24px, 7vw, 34px);
  }

  .type-cell__title:not(.type-cell__title--over) { display: none; }

  .type-cell__media { height: clamp(300px, 76vw, 420px); }

  .type-cell__media::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: var(--z-raised);
    background: linear-gradient(to top,
      rgba(19, 24, 48, 0.78) 0%,
      rgba(19, 24, 48, 0.32) 34%,
      rgba(19, 24, 48, 0) 62%);
  }

  .type-cell__title--over {
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    padding: var(--space-24) var(--space-20);
    font-size: clamp(1.4rem, 6.4vw, 2rem);
    font-weight: var(--fw-regular);
    line-height: var(--lh-snug);
    text-shadow: none;
  }

  .type-cell__title [class*="l-"] { opacity: 1; }

  .anchor-bar { flex-direction: column; }
  .anchor-bar__link,
  .anchor-bar__cta { flex: 1 1 auto; text-align: center; }

  .filters__inner { gap: 14px 18px; }
  .filters__field { min-width: 132px; }

  .biens-grid { grid-template-columns: 1fr; }
  .form-actions { gap: var(--space-16); }
  .form-actions--spread { justify-content: flex-start; }

  .btn {
    padding: 16px 26px;
    font-size: var(--fs-sm);
    letter-spacing: var(--ls-tab);
  }

  .btn--compact { padding: 15px 24px; }
  .btn--outline { padding: 14px 24px; }
  .btn--slim    { padding: 14px 20px; }

  .anchor-bar__link,
  .anchor-bar__cta { padding-block: 18px; letter-spacing: var(--ls-tab); }

  .mega__foot { flex-direction: column; align-items: flex-start; gap: var(--space-20); }

  .to-top { right: var(--space-16); bottom: var(--space-16); width: 46px; height: 46px; }
  .carousel-nav { gap: 28px; }
}

@media (max-width: 420px) {
  .btn { padding: 15px 20px; font-size: var(--fs-xs); }
  .btn--compact { padding: 14px 18px; }

  .searchbar__toggle,
  .searchbar__entry { padding-inline: 12px; gap: 7px; }

  .searchbar__value,
  .searchbar__input { font-size: var(--fs-sm); }

  .search-tabs { gap: 0 11px; }
  .search-tabs__btn { font-size: var(--fs-xs); letter-spacing: 0.04em; }
  .hero-form__grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .site-footer__legal { gap: 12px 16px; }
  .sim-rows { grid-template-columns: 1fr; }
  .sim-headline { grid-template-columns: 1fr; }
  .sim-headline__item + .sim-headline__item { border-left: 0; border-top: 1px solid var(--color-on-dark-line); }
  .bien-gallery__side { grid-template-columns: 1fr; height: auto; }
  .bien-gallery__side > .media { height: clamp(180px, 40vw, 260px); }
  .bien-specs { grid-template-columns: 1fr; }
  .review { width: min(300px, 86vw); }
  .journal-card { width: min(420px, 84vw); }
}

@media (max-width: 1024px) {
  .offers { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .collab-hero { grid-template-columns: 1fr; }
  .collab-hero__portrait { position: static; max-width: 320px; }
  .collab-facts__row { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 720px) {
  .article-head { padding-top: clamp(44px, 12vw, 72px); }
  .article-body blockquote { padding-left: var(--space-20); }
  .article-share a { padding: 8px 14px; }
}

@media (max-width: 560px) {
  .collab--inline { grid-template-columns: 1fr; }
  .collab--inline .collab__portrait { max-width: 200px; }
}

@media (max-width: 900px) {
  .sell-hero-card { max-width: 100%; }
}
