/*
  Page Team Building Cocktail Paris — Étape 4
  Pose desktop 1920 px protégée + adaptation responsive. Interactions à venir.
*/

:root {
  /* -------------------------------------------------------------------------- */
  /* Territoire visuel Team Building — corporate premium                         */
  /* -------------------------------------------------------------------------- */

  --team-bg-ivory: #F5F0EB;
  --team-bg-warm: #eee7dd;
  --team-surface: #ffffff;
  --team-surface-soft: #fbf8f3;
  --team-surface-card: rgba(255, 255, 255, 0.76);

  --team-text-primary: #171411;
  --team-text-secondary: color: rgba(0,0,0,0.90);
  --team-text-muted: #877d72;
  --team-text-inverse: #fffaf4;

  --team-black-luxe: #090806;
  --team-panel-dark: #100d0a;
  --team-panel-dark-soft: #17110d;
  --team-bronze: #b18a5a;
  --team-bronze-dark: #8a6943;
  --team-bronze-soft: #d5bd98;
  --team-line: #ded1c3;
  --team-line-soft: rgba(177, 138, 90, 0.34);
  --team-line-dark: rgba(255, 250, 244, 0.16);

  --team-metal: #b8b2a8;
  --team-metal-dark: #615b52;
  --team-corporate-blue: #2f3b46;
  --team-corporate-blue-soft: rgba(47, 59, 70, 0.12);
  --team-speakeasy-amber: #8f6237;
  --team-lab-mineral: #d9d6ce;

  /* -------------------------------------------------------------------------- */
  /* Grille et mesures desktop de référence                                      */
  /* -------------------------------------------------------------------------- */

  --team-frame-width: 1920px;
  --team-first-viewport-h: 1080px;
  --team-container-desktop: 1760px;
  --team-margin-desktop: 80px;
  --team-grid-columns: 12;
  --team-grid-gutter: 20px;
  --team-baseline: 8px;

  --team-section-hero-h: 950px;
  --team-section-proof-h: 70px;
  --team-section-promise-h: 675px;
  --team-section-formats-h: 750px;
  --team-section-shaker-h: 750px;
  --team-section-infos-h: 140px;
  --team-section-project-cta-h: 310px;
  --team-section-utility-h: 190px;
  --team-section-footer-h: 760px;

  /* Repères hero normalisés — documentation de production, non posés en layout. */
  --team-header-x: 80px;
  --team-header-y: 32px;
  --team-header-w: 1760px;
  --team-header-h: 80px;
  --team-hero-copy-x: 88px;
  --team-hero-copy-y: 380px;
  --team-hero-copy-w: 650px;
  --team-hero-copy-h: 480px;
  --team-hero-media-x: 910px;
  --team-hero-media-y: 0px;
  --team-hero-media-w: 1010px;
  --team-hero-media-h: 930px;
  --team-hero-primary-cta-x: 88px;
  --team-hero-primary-cta-y: 660px;
  --team-hero-primary-cta-w: 260px;
  --team-hero-primary-cta-h: 58px;
  --team-hero-secondary-cta-x: 380px;
  --team-hero-secondary-cta-y: 660px;
  --team-hero-secondary-cta-w: 330px;
  --team-hero-secondary-cta-h: 58px;

  /* -------------------------------------------------------------------------- */
  /* Typographie, états et composants futurs                                     */
  /* -------------------------------------------------------------------------- */

  --team-h1-size-desktop: 86px;
  --team-h1-line: 1.02;
  --team-h1-tracking: -0.034em;
  --team-h2-size-desktop: 58px;
  --team-h2-line: 1.06;
  --team-card-title-size: 28px;
  --team-body-size-desktop: 18px;
  --team-body-line: 1.66;
  --team-small-size: 14px;
  --team-kicker-size: 13px;
  --team-kicker-tracking: 0.16em;

  --team-card-radius: 14px;
  --team-panel-radius: 18px;
  --team-pill-radius: 999px;
  --team-shadow-card: 0 8px 24px rgba(0, 0, 0, 0.055);
  --team-shadow-dark-panel: 0 18px 60px rgba(0, 0, 0, 0.25);
  --team-focus-ring: var(--focus-ring, 2px solid #8a6943);
  --team-focus-shadow: var(--focus-shadow, 0 0 0 4px rgba(177, 138, 90, 0.14));
}

/* -------------------------------------------------------------------------- */
/* Base préparatoire page Team Building                                        */
/* -------------------------------------------------------------------------- */

.page-shell--team-building {
  background: var(--team-bg-ivory);
  color: var(--team-text-primary);
}

.page-shell--team-building .section-shell {

  margin-inline: auto;
}

.page-shell--team-building .page-section {
  position: relative;
  scroll-margin-block-start: 96px;
}

.page-shell--team-building :where(ul, ol) {
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-shell--team-building :where(figure, h1, h2, h3, h4, p) {
  margin: 0;
}

.page-shell--team-building .eyebrow {
  color: var(--team-bronze-dark);
  font-family: var(--font-kicker);
  font-size: var(--team-kicker-size);
  font-weight: 700;
  letter-spacing: var(--team-kicker-tracking);
  line-height: 1.25;
  text-transform: uppercase;
}

.page-shell--team-building a:focus-visible,
.page-shell--team-building button:focus-visible {
  outline: var(--team-focus-ring);
  outline-offset: 4px;
  box-shadow: var(--team-focus-shadow);
}

/* -------------------------------------------------------------------------- */
/* Structure minimale d’étape 2 — aucun layout desktop final                    */
/* -------------------------------------------------------------------------- */

.team-hero,
.team-corporate-promise,
.team-formats,
.team-shaker-signature,
.team-project-cta {
  padding-block: 96px;
}

.team-proof-bar,
.team-b2b-infos,
.team-utility-bar {
  padding-block: 32px;
  border-block: 1px solid var(--team-line);
  background: color-mix(in srgb, var(--team-bg-ivory) 84%, #fff 16%);
}

.team-hero__inner,
.team-corporate-promise__inner,
.team-shaker-signature__inner,
.team-project-cta__inner {
  display: grid;
  gap: 40px;
}

.team-hero__copy,
.team-corporate-promise__copy,
.team-shaker-signature__copy,
.team-project-cta__copy,
.team-formats__heading {
  display: grid;
  gap: 18px;
}

.team-hero__title,
.team-corporate-promise .section-heading__title,
.team-formats .section-heading__title,
.team-shaker-signature .section-heading__title,
.team-project-cta .section-heading__title {
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-weight: 800;
  letter-spacing: -0.026em;
  line-height: var(--team-h2-line);
}

.team-hero__title {
  font-size: clamp(48px, 6vw, var(--team-h1-size-desktop));
  line-height: var(--team-h1-line);
}

.team-corporate-promise .section-heading__title,
.team-formats .section-heading__title,
.team-shaker-signature .section-heading__title,
.team-project-cta .section-heading__title {
  font-size: clamp(34px, 4vw, var(--team-h2-size-desktop));
}

.team-hero__text,
.team-corporate-promise__copy p,
.team-format-card p,
.team-shaker-signature__copy p,
.team-project-cta__copy p,
.team-quote-form__header p {
  color: var(--team-text-secondary);
  font-size: var(--team-body-size-desktop);
  line-height: var(--team-body-line);
}

.team-hero__chips,
.team-proof-bar__list,
.team-b2b-infos__list,
.team-utility-bar__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.team-chip,
.team-proof-bar__item,
.team-b2b-infos__item,
.team-utility-bar__item {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  min-block-size: 44px;
  padding: 10px 14px;
  border: 1px solid var(--team-line);
  border-radius: var(--team-pill-radius);
  background: rgba(255, 255, 255, 0.58);
  color: var(--team-text-primary);
}

.team-hero__actions,
.team-project-cta__copy .button {
  margin-block-start: 10px;
}

.team-hero__media,
.team-format-card__media,
.team-shaker-signature__media,
.team-project-cta__media {
  overflow: hidden;
  border: 1px solid var(--team-line-soft);
  border-radius: var(--team-panel-radius);
  background: var(--team-panel-dark);
}

.team-hero__media img,
.team-format-card__media img,
.team-shaker-signature__media img,
.team-project-cta__media img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  object-fit: cover;
}

.team-promise-cards,
.team-formats__grid {
  display: grid;
  gap: 18px;
}

.team-promise-card,
.team-format-card,
.team-quote-form {
  border: 1px solid var(--team-line);
  border-radius: var(--team-card-radius);
  background: var(--team-surface-card);
  box-shadow: var(--team-shadow-card);
}

.team-promise-card {
  display: grid;
  gap: 12px;
  padding: 24px;
}

.team-promise-card h3,
.team-format-card h3,
.team-quote-form h3 {
  color: var(--team-text-primary);
  font-size: var(--team-card-title-size);
  line-height: 1.14;
}

.team-format-card__body {
  display: grid;
  gap: 12px;
  padding: 22px;
}

.team-format-card__use,
.team-shaker-signature__microcopy,
.team-quote-form small {
  color: var(--team-text-muted);
  font-size: var(--team-small-size);
  line-height: 1.5;
}

.team-format-card__cta,
.team-format-card__secondary {
  justify-self: start;
}

.team-shaker-signature__details {
  display: grid;
  gap: 10px;
  color: var(--team-text-secondary);
}

.team-shaker-signature__details li {
  padding-inline-start: 18px;
  position: relative;
}

.team-shaker-signature__details li::before {
  position: absolute;
  inset-inline-start: 0;
  color: var(--team-bronze-dark);
  content: "✓";
}

.team-quote-form {
  display: grid;
  gap: 22px;
  padding: 24px;
}

.team-quote-form__grid {
  display: grid;
  gap: 16px;
}

.team-quote-form__field {
  display: grid;
  gap: 8px;
  color: var(--team-text-primary);
  font-size: var(--team-small-size);
  font-weight: 600;
}

.team-quote-form__field input,
.team-quote-form__field select,
.team-quote-form__field textarea {
  inline-size: 100%;
  min-block-size: 44px;
  padding: 12px 14px;
  border: 1px solid var(--team-line);
  border-radius: 10px;
  background: var(--team-surface);
  color: var(--team-text-primary);
  font: inherit;
}

.team-quote-form__field textarea {
  resize: vertical;
}

/* -------------------------------------------------------------------------- */
/* Historique des sections et repères de production                             */
/* -------------------------------------------------------------------------- */

/*
  [Étape 2] HTML : terminé. Sections présentes :
  - hero Team Building : data-section="hero"
  - proof bar : data-section="proof_bar"
  - promesse corporate : data-section="corporate_promise"
  - formats atelier : data-section="workshop_formats"
  - shaker signature : data-section="signature_shaker"
  - infos B2B : data-section="b2b_infos"
  - CTA projet / devis : data-section="project_cta"
  - utility bar : data-section="utility_bar"
  - footer : data-section="site-footer"

  [Étape 3] Desktop 1920 : posé.
  - hauteurs normalisées via les tokens --team-section-*-h
  - hero + proof bar contenus dans 1920 × 1080
  - grille 1760 / 80 / 12 colonnes / 20 gutter

  [Étape 4] Responsive :
  - chips mobile en scroll horizontal
  - formats 4 colonnes → 2×2 → pile
  - shaker signature image puis texte sur mobile
  - CTA sticky mobile futur

  [Étape 5] Interactions :
  - menu commun
  - ancre #devis
  - pré-remplissage futur des formats
  - upload logo optionnel futur
  - hooks tracking abstraits
*/

/* Hooks de composants futurs. Les règles finales seront posées par étapes. */
.team-hero {}
.team-proof-bar {}
.team-corporate-promise {}
.team-format-card {}
.team-shaker-signature {}
.team-b2b-infos {}
.team-project-cta {}
.team-quote-form-future {}
.sticky-cta-shell--team-building {}

/* -------------------------------------------------------------------------- */
/* Étape 3 — Pose desktop 1920 px                                               */
/* -------------------------------------------------------------------------- */

.page-shell--team-building {
  min-inline-size: 320px;
  overflow-x: clip;
  background:
    linear-gradient(180deg, var(--team-bg-ivory) 0%, #f7f3ee 52%, #f2ece3 100%);
}

.page-shell--team-building .site-main {
  background: var(--team-bg-ivory);
}

.page-shell--team-building .section-shell {

}

/* Header commun intégré au hero */

.page-shell--team-building .site-header {
  position: absolute;
  inset-block-start: var(--team-header-y);
  inset-inline: 0;
  z-index: 40;
  pointer-events: none;
}

.page-shell--team-building .site-header__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-block-size: var(--team-header-h);
}

.page-shell--team-building .brand {
  inline-size: 252px;
  min-block-size: 74px;
  gap: 14px;
  color: var(--team-text-primary);
  pointer-events: auto;
  text-shadow: 0 1px 16px rgba(255,255,255,.36);
}

.page-shell--team-building .brand__mark {
  flex: 0 0 54px;
  inline-size: 54px;
  block-size: 66px;
}

.page-shell--team-building .brand__logo-mark {
  opacity: .78;
  object-position: center -30%;
}

.page-shell--team-building .brand__text {
  inline-size: 176px;
  color: var(--team-text-primary);
  font-size: 22px;
  line-height: 1.12;
  letter-spacing: .13em;
}

.page-shell--team-building .menu-button {
  position: fixed;
  inset-block-start: 42px;
  inset-inline-end: var(--team-margin-desktop);
  inline-size: 64px;
  block-size: 64px;
  gap: 5px;
  border: 1px solid rgba(177, 138, 90, .42);
  background: rgba(255, 250, 244, .92);
  color: var(--team-text-primary);
  pointer-events: auto;
  box-shadow: 0 16px 42px rgba(9, 8, 6, .12);
  backdrop-filter: blur(14px);
}

.page-shell--team-building .menu-button__line {
  inline-size: 22px;
  block-size: 2px;
  background: currentColor;
  color: currentColor;
}

/* Hero — 1920 × 930 */

.team-hero {
  position: relative;
  block-size: var(--team-section-hero-h);
  padding: 0;
  overflow: hidden;
}

.team-hero::before {
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: calc((100vw - var(--team-container-desktop)) / 2 + 650px);
  z-index: 4;
  inline-size: 390px;
  pointer-events: none;
}

.team-hero::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 6;
  block-size: 160px;
  pointer-events: none;
}

.team-hero__inner {
  position: relative;
  block-size: 100%;
}

.team-hero__copy {
  position: absolute;
  inset-block-start: var(--team-hero-copy-y);
  inset-inline-start: max(var(--team-margin-desktop), calc((100vw - var(--team-container-desktop)) / 2 + 8px));
  z-index: 10;
  inline-size: 700px;
  gap: 0;
  margin-left: -6.5%;
}

.team-hero__eyebrow {
  margin-block-end: 32px;
}

.team-hero__title {
  max-inline-size: 700px;
  font-size: 76px;
  letter-spacing: var(--team-h1-tracking);
  line-height: 1.03;
}

.team-hero__text {
  max-inline-size: 636px;
  margin-block-start: 26px;
  color: var(--team-text-secondary);
  font-size: 17px;
  line-height: 1.72;
}

.team-hero__chips {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  inline-size: 760px;
  margin-block-start: 36px;
}

.team-chip {
  min-block-size: 54px;
  padding: 9px 10px;
  border-color: rgba(177,138,90,.24);
  border-radius: 0;
  background: transparent;
  color: var(--team-text-primary);
  box-shadow: none;
}

.team-chip__icon {
  display: inline-grid;
  flex: 0 0 24px;
  inline-size: 24px;
  block-size: 24px;
  place-items: center;
  color: var(--team-bronze-dark);
}

.team-chip__icon img {
  inline-size: 22px;
  block-size: 22px;
  object-fit: contain;
  opacity: .72;
}

.team-chip strong {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.team-hero__actions {
  display: flex;
  gap: 26px;
  align-items: center;
  margin-block-start: 34px;
}

.team-hero__actions .button {
  min-block-size: 62px;
  padding: 19px 28px;
  font-size: 12px;
}

.team-hero__media {
  position: absolute;
  inset-block: 0;
  inset-inline-start: calc((100vw - var(--team-container-desktop)) / 2 + 830px);
  inset-inline-end: 0;
  z-index: 2;
  border: 0;
  border-radius: 0;
  background: var(--team-panel-dark);
  box-shadow: none;
}

.team-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 62% 20%, rgba(255,255,255,.14), transparent 28%),
    linear-gradient(90deg, rgba(9,8,6,.08) 0%, rgba(9,8,6,.18) 34%, rgba(9,8,6,.62) 100%);
  pointer-events: none;
}

.team-hero__image {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 54% center;
  filter: saturate(.9) contrast(1.06) brightness(.82);
}

.team-hero__fade {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 38%;
  z-index: 3;
  background: linear-gradient(90deg, rgba(246,242,237,.98), rgba(246,242,237,.58) 44%, rgba(246,242,237,0));
  pointer-events: none;
}

/* Proof bar — 1920 × 110 */

.team-proof-bar {
  block-size: var(--team-section-proof-h);
  padding: 0;
  border-block: 1px solid rgba(177,138,90,.16);
  background: rgba(255,255,255,.62);
}

.team-proof-bar .section-shell {
  block-size: 100%;
}

.team-proof-bar__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  block-size: 100%;
}

.team-proof-bar__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-block-size: 100%;
  padding: 0 28px;
  border: 0;
  border-inline-start: 1px solid rgba(177,138,90,.18);
  border-radius: 0;
  background: transparent;
  color: var(--team-text-secondary);
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.team-proof-bar__item:first-child {
  border-inline-start: 0;
}

.team-proof-bar__icon img {
  inline-size: 20px;
  block-size: 20px;
  opacity: .62;
}

/* Promesse corporate — 1920 × 560 */

.team-corporate-promise {
  block-size: var(--team-section-promise-h);
  padding: 0;
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.76), rgba(255,255,255,0) 42%),
    var(--team-bg-ivory);
}

.team-corporate-promise__inner {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 58px;
  block-size: 100%;
  padding-block: 76px 70px;
}

.team-corporate-promise__copy {
  max-inline-size: 1060px;
  margin-inline: auto;
  gap: 18px;
  text-align: center;
}

.team-corporate-promise__copy .section-heading__title {
  max-inline-size: 880px;
  margin-inline: auto;
  font-size: 58px;
  line-height: 1.08;
}

.team-corporate-promise__copy p:not(.eyebrow) {
  max-inline-size: 980px;
  margin-inline: auto;
  color: var(--team-text-secondary);
  font-size: 17px;
  line-height: 1.72;
}

.team-promise-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  align-self: end;
}

.team-promise-card {
  min-block-size: 160px;
  padding: 26px 38px 18px;
  border: 0;
  border-inline-start: 1px solid rgba(177,138,90,.2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-align: center;
}

.team-promise-card:first-child {
  border-inline-start: 0;
}

.team-promise-card__icon {
  display: grid;
  place-items: center;
  min-block-size: 48px;
  margin-block-end: 14px;
}

.team-promise-card__icon img {
  inline-size: 42px;
  block-size: 42px;
  opacity: .74;
}

.team-promise-card h3 {
  font-family: var(--font-ui);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.01em;
}

.team-promise-card p {
  margin-block-start: 10px;
  color: var(--team-text-secondary);
  font-size: 15px;
  line-height: 1.62;
}

/* Formats d'atelier — 1920 × 650 */

.team-formats {
  block-size: var(--team-section-formats-h);
  padding: 0;
  background: linear-gradient(180deg, #f9f5ee 0%, #f4ebdc 100%);
}

.team-formats__inner {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 44px;
  block-size: 100%;
  padding-block: 64px 70px;
}

.team-formats__heading {
  max-inline-size: 720px;
  margin-inline: auto;
  text-align: center;
}

.team-formats .section-heading__title {
  font-size: 46px;
  line-height: 1.08;
}

.team-formats__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  align-self: stretch;
}

.team-format-card {
  position: relative;
  display: grid;
  grid-template-rows: 230px 1fr;
  min-block-size: 438px;
  overflow: hidden;
  border: 1px solid rgba(177,138,90,.22);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 14px 38px rgba(33, 25, 17, .07);
}

.team-format-card__media {
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--team-panel-dark);
}

.team-format-card__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.86) contrast(1.04) brightness(.9);
}

.team-format-card__body {
  align-content: start;
  gap: 13px;
  padding: 24px 26px 22px;
}

.team-format-card__use {
  min-block-size: 34px;
  color: var(--team-bronze-dark);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 399;
  letter-spacing: .04em;
  line-height: 1.35;
  text-transform: uppercase;
}

.fixUtility{
	block-size: 120px !important;
	padding-block: 0 !important;
}
/* -------------------------------------------------------------------------- */
/* Team Building — trust strip dans le hero                                    */
/* -------------------------------------------------------------------------- */

.page-shell--team-building .team-hero > .trust-strip {
  position: absolute;
  inset-inline: 0;
  inset-block-start: auto !important;
  inset-block-end: 66px !important;
  z-index: 7;
  padding-block: 0;
  pointer-events: none;
}

@media (max-width: 1279px) {
  .page-shell--team-building .team-hero > .trust-strip {
    position: relative;
    inset: auto !important;
    margin-block-start: 34px;
    padding-block: 0;
    z-index: 1;
    pointer-events: none;
  }
}

.team-format-card h3 {
  font-family: var(--font-display);
  font-size: 29px;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.05;
}

.team-format-card p:not(.team-format-card__use) {
  color: var(--team-text-secondary);
  font-size: 15px;
  line-height: 1.58;
}

.team-format-card__cta,
.team-format-card__secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-block-start: 2px;
  color: var(--team-text-primary);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}

.team-format-card__secondary {
  color: var(--team-bronze-dark);
  font-size: 11px;
}

/* Objet signature — panneau 1760 × 450 */

.team-shaker-signature {
  block-size: 800px;
  padding: 0;
  background: var(--team-bg-ivory);
}

.team-shaker-signature__inner {
  display: grid;
  grid-template-columns: 42% 58%;
  gap: 0;
  block-size: var(--team-section-shaker-h);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background:
    radial-gradient(circle at 28% 36%, rgba(177,138,90,.22), rgba(177,138,90,0) 32%),
    linear-gradient(90deg, #0b0907 0%, #0f0c09 48%, #15100c 100%);
  color: var(--team-text-inverse);
  box-shadow: var(--team-shadow-dark-panel);
}

.team-shaker-signature__media {
  border: 0;
  border-radius: 0;
  background: #090806;
}

.team-shaker-signature__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: 40% center;
  filter: saturate(.86) contrast(1.08) brightness(.8);
}

.team-shaker-signature__copy {
  align-self: center;
  display: grid;
  gap: 20px;
  max-inline-size: 720px;
  padding: 62px 90px;
}

.team-shaker-signature__copy .eyebrow {
  color: var(--team-bronze-soft);
}

.team-shaker-signature .section-heading__title {
  color: var(--team-text-inverse);
  font-size: 56px;
  line-height: 1.05;
}

.team-shaker-signature__copy p {
  color: rgba(255,250,244,.78);
  font-size: 17px;
  line-height: 1.66;
}

.team-shaker-signature__details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 28px;
  color: rgba(255,250,244,.76);
  font-size: 14px;
}

.team-shaker-signature__details li::before {
  color: var(--team-bronze-soft);
}

.team-shaker-signature__microcopy {
  max-inline-size: 620px;
  color: var(--team-bronze-soft);
  font-size: 14px;
}

/* Infos B2B — panneau 1760 × 180 */

.team-b2b-infos {
  block-size: 0px;
  padding: 0;
  border: 0;
  background: var(--team-bg-ivory);
}

.team-b2b-infos .section-shell {
  display: grid;
  align-items: center;
  block-size: var(--team-section-infos-h);
  border: 1px solid rgba(177,138,90,.16);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 16px 44px rgba(33,25,17,.055);
}

.team-b2b-infos__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  block-size: 100%;
}

.team-b2b-infos__item {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-block-size: 100%;
  padding: 24px 18px;
  border: 0;
  border-inline-start: 1px solid rgba(177,138,90,.16);
  border-radius: 0;
  background: transparent;
  text-align: center;
}

.team-b2b-infos__item:first-child {
  border-inline-start: 0;
}

.team-b2b-infos__item img {
  inline-size: 34px;
  block-size: 34px;
  opacity: .72;
}

.team-b2b-infos__item strong {
  color: var(--team-text-primary);
  font-family: var(--font-ui);
  font-size: 15px;
  line-height: 1.35;
}

/* CTA projet / devis — panneau 1760 × 310 */

.team-project-cta {
  block-size: 390px;
  padding: 0;
  background: var(--team-bg-ivory);
}

.team-project-cta__inner {
  position: relative;
  display: grid;
  grid-template-columns: 380px 1fr;
  align-items: center;
  gap: 64px;
  block-size: var(--team-section-project-cta-h);
  padding: 40px;
  overflow: hidden;
  border: 1px solid rgba(177,138,90,.14);
  border-radius: 18px;
  background:
    radial-gradient(circle at 86% 42%, rgba(177,138,90,.09), transparent 34%),
    rgba(255,255,255,.72);
  box-shadow: 0 18px 60px rgba(33,25,17,.07);
}

.team-project-cta__media {
  inline-size: 340px;
  block-size: 200px;
  border-radius: 12px;
}

.team-project-cta__media img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(1.05) brightness(.84);
}

.team-project-cta__copy {
  max-inline-size: 650px;
}

.team-project-cta .section-heading__title {
  font-size: 54px;
  line-height: 1.05;
}

.team-project-cta__copy p:not(.eyebrow) {
  max-inline-size: 520px;
  font-size: 16px;
  line-height: 1.64;
}

.team-project-cta__copy .button {
  justify-self: start;
  min-block-size: 62px;
  margin-block-start: 16px;
  padding: 20px 34px;
}

.team-quote-form-future {
  display: none;
}

/* Utility bar — 1920 × 190 */

.team-utility-bar {
  block-size: var(--team-section-utility-h);
  padding: 0;
  border-block: 1px solid rgba(177,138,90,.14);
  background: rgba(255,255,255,.62);
}

.team-utility-bar .section-shell {
  block-size: 100%;
}

.team-utility-bar__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  block-size: 100%;
}

.team-utility-bar__item {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 7px;
  min-block-size: 100%;
  padding: 26px 18px;
  border: 0;
  border-inline-start: 1px solid rgba(177,138,90,.16);
  border-radius: 0;
  background: transparent;
  color: var(--team-text-secondary);
  text-align: center;
}

.team-utility-bar__item:first-child {
  border-inline-start: 0;
}

.team-utility-bar__item img {
  inline-size: 30px;
  block-size: 30px;
  opacity: .7;
}

.team-utility-bar__item strong {
  color: var(--team-text-primary);
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.team-utility-bar__item span,
.team-utility-bar__item a {
  color: var(--team-text-secondary);
  font-size: 13px;
  line-height: 1.36;
  text-decoration: none;
}

/* États interactifs sobres */

.page-shell--team-building :where(.button, .team-format-card__cta, .team-format-card__secondary, .discovery-footer a) {
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease, opacity .22s ease;
}

.page-shell--team-building .button:hover,
.page-shell--team-building .team-format-card__cta:hover,
.page-shell--team-building .team-format-card__secondary:hover {
  transform: translateY(-1px);
}

.team-format-card,
.team-promise-card,
.team-b2b-infos__item,
.team-utility-bar__item {
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.team-format-card:hover {
  transform: translateY(-3px);
  border-color: rgba(177,138,90,.42);
  box-shadow: 0 18px 46px rgba(33,25,17,.1);
}

/* -------------------------------------------------------------------------- */
/* Étape 4 — Responsive premium Team Building                                  */
/* -------------------------------------------------------------------------- */

@media (max-width: 1919px) and (max-height: 1280px) {
  :root {
    --team-container-desktop: 1280px;
    --team-margin-desktop: 80px;
    --team-section-hero-h: 780px;
    --team-section-proof-h: 96px;
    --team-section-promise-h: 500px;
    --team-section-formats-h: 750px;
    --team-section-shaker-h: 550px;
    --team-section-infos-h: 160px;
    --team-section-project-cta-h: 292px;
    --team-section-utility-h: 166px;
    --team-section-footer-h: 640px;
    --team-header-y: 26px;
    --team-header-h: 72px;
    --team-hero-copy-y: 158px;
  }

  .page-shell--team-building .brand {
    inline-size: 232px;
  }

  .page-shell--team-building .brand__mark {
    flex-basis: 48px;
    inline-size: 48px;
    block-size: 60px;
  }

  .page-shell--team-building .brand__text {
    font-size: 20px;
  }

  .page-shell--team-building .menu-button {
    inset-block-start: 34px;
    inline-size: 58px;
    block-size: 58px;
  }

  .team-hero::before {
    inset-inline-start: 43vw;
    inline-size: 300px;
  }

  .team-hero__copy {
    
    inline-size: 560px;
  }

  .team-hero__title {
    font-size: 62px;
  }

  .team-hero__text {
    max-inline-size: 520px;
    font-size: 15.5px;
    line-height: 1.64;
  }

  .team-hero__chips {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    inline-size: 560px;
    margin-block-start: 28px;
  }

  .team-chip {
    min-block-size: 48px;
  }

  .team-hero__actions {
    gap: 18px;
    margin-block-start: 26px;
  }

  .team-hero__actions .button {
    min-block-size: 56px;
    padding: 17px 22px;
  }

  .team-hero__media {
    inset-inline-start: 48vw;
  }

  .team-proof-bar__item,
  .team-utility-bar__item strong {
    font-size: 12px;
  }

  .team-corporate-promise__inner {
    padding-block: 58px 54px;
    gap: 42px;
  }

  .team-corporate-promise__copy .section-heading__title {
    font-size: 48px;
  }

  .team-promise-card {
    padding-inline: 24px;
  }

  .team-formats__inner {
    padding-block: 54px 56px;
    gap: 34px;
  }

  .team-formats .section-heading__title {
    font-size: 42px;
  }

  .team-formats__grid {
    gap: 20px;
  }

  .team-format-card {
    grid-template-rows: 198px 1fr;
    min-block-size: 408px;
  }

  .team-format-card__body {
    padding: 20px 20px 18px;
  }

  .team-format-card h3 {
    font-size: 25px;
  }

  .team-format-card p:not(.team-format-card__use) {
    font-size: 14px;
    line-height: 1.5;
  }

  .team-shaker-signature {
    block-size: 580px;
  }

  .team-shaker-signature__copy {
    padding: 44px 58px;
  }

  .team-shaker-signature .section-heading__title {
    font-size: 46px;
  }

  .team-b2b-infos {
    block-size: 244px;
  }

  .team-project-cta {
    block-size: 360px;
  }

  .team-project-cta__inner {
    grid-template-columns: 330px 1fr;
    gap: 48px;
    padding: 34px;
  }

  .team-project-cta__media {
    inline-size: 300px;
    block-size: 190px;
  }

  .team-project-cta .section-heading__title {
    font-size: 46px;
  }

  .team-building-footer {
    padding-block-start: 78px;
  }

  .team-building-footer .discovery-footer__inner {
    grid-template-columns: 300px 1fr;
    gap: 74px;
    min-block-size: calc(var(--team-section-footer-h) - 120px);
  }

  .team-building-footer .discovery-footer__nav {
    gap: 34px;
  }
}

@media (max-width: 1439px) and (min-width: 1280px) {
  :root {
    --team-container-desktop: 1160px;
    --team-margin-desktop: 60px;
    --team-section-hero-h: 760px;
    --team-section-footer-h: 620px;
    --team-header-y: 24px;
    --team-header-h: 70px;
    --team-hero-copy-y: 145px;
  }

  .page-shell--team-building .section-shell {
    inline-size: min(calc(100% - 120px), var(--team-container-desktop));
  }

  .page-shell--team-building .brand {
    inline-size: 220px;
    min-block-size: 66px;
  }

  .page-shell--team-building .brand__mark {
    flex-basis: 46px;
    inline-size: 46px;
    block-size: 56px;
  }

  .page-shell--team-building .brand__text {
    font-size: 19px;
  }

  .page-shell--team-building .menu-button {
    inset-block-start: 32px;
    inline-size: 56px;
    block-size: 56px;
  }

  .team-hero::before {
    inset-inline-start: 45vw;
    inline-size: 250px;
  }

  .team-hero__copy {
    inset-block-start: var(--team-hero-copy-y);
    inline-size: 520px;
  }

  .team-hero__title {
    font-size: 56px;
    line-height: 1.04;
  }

  .team-hero__text {
    max-inline-size: 500px;
    font-size: 15px;
    line-height: 1.58;
  }

  .team-hero__chips {
    display: flex;
    flex-wrap: wrap;
    inline-size: 520px;
    gap: 8px;
    margin-block-start: 24px;
  }

  .team-chip {
    flex: 0 1 calc(50% - 4px);
    min-block-size: 46px;
  }

  .team-chip strong {
    font-size: 11.5px;
  }

  .team-hero__actions {
    gap: 14px;
    margin-block-start: 24px;
  }

  .team-hero__actions .button {
    min-block-size: 54px;
    padding: 16px 20px;
    font-size: 11px;
  }

  .team-hero__media {
    inset-inline-start: 52vw;
  }

  .team-proof-bar {
    block-size: auto;
  }

  .team-proof-bar__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-block-size: 120px;
    padding-block: 10px;
  }

  .team-proof-bar__item {
    min-block-size: 52px;
    padding: 10px 16px;
    border-block-start: 1px solid rgba(177,138,90,.14);
    font-size: 11.5px;
  }

  .team-proof-bar__item:nth-child(-n+3) {
    border-block-start: 0;
  }

  .team-corporate-promise {
    block-size: auto;
  }

  .team-corporate-promise__inner {
    padding-block: 62px;
    gap: 38px;
  }

  .team-corporate-promise__copy .section-heading__title {
    font-size: 44px;
  }

  .team-promise-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: rgba(177,138,90,.16);
  }

  .team-promise-card {
    min-block-size: 150px;
    border: 0;
    background: rgba(246,242,237,.98);
  }

  .team-formats {
    block-size: auto;
  }

  .team-formats__inner {
    padding-block: 56px 64px;
  }

  .team-formats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .team-format-card {
    grid-template-rows: 210px 1fr;
    min-block-size: 420px;
  }

  .team-shaker-signature {
    padding-block: 54px;
  }

  .team-shaker-signature__inner {
    grid-template-columns: 42% 58%;
    block-size: 526px;
  }

  .team-shaker-signature__copy {
    padding: 36px 42px;
  }

  .team-shaker-signature .section-heading__title {
    font-size: 42px;
  }

  .team-shaker-signature__details {
    grid-template-columns: 1fr;
  }

  .team-b2b-infos {
    block-size: auto;
    padding-block: 12px 52px;
  }

  .team-b2b-infos .section-shell {
    block-size: auto;
  }

  .team-b2b-infos__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .team-b2b-infos__item {
    min-block-size: 132px;
    border-block-start: 1px solid rgba(177,138,90,.16);
  }

  .team-b2b-infos__item:nth-child(-n+3) {
    border-block-start: 0;
  }

  .team-project-cta {
    block-size: auto;
    padding-block-end: 58px;
  }

  .team-project-cta__inner {
    grid-template-columns: 320px 1fr;
    gap: 42px;
    block-size: auto;
    min-block-size: 290px;
    padding: 34px;
  }

  .team-project-cta .section-heading__title {
    font-size: 42px;
  }

  .team-utility-bar {
    block-size: auto;
  }

  .team-utility-bar__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .team-utility-bar__item {
    min-block-size: 118px;
    border-block-start: 1px solid rgba(177,138,90,.14);
  }

  .team-utility-bar__item:nth-child(-n+3) {
    border-block-start: 0;
  }

  .team-building-footer {
    min-block-size: var(--team-section-footer-h);
    padding-block: 70px 34px;
  }

  .team-building-footer .discovery-footer__inner {
    grid-template-columns: 280px 1fr;
    gap: 58px;
    min-block-size: auto;
  }

  .team-building-footer .discovery-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 34px;
  }
}

@media (max-width: 1279px) {
  :root {
    --team-container-desktop: 928px;
    --team-margin-desktop: 48px;
  }

  .page-shell--team-building .section-shell {
    inline-size: min(calc(100% - 96px), var(--team-container-desktop));
  }

  .page-shell--team-building .site-header {
    inset-block-start: 24px;
  }

  .page-shell--team-building .brand {
    inline-size: 218px;
    min-block-size: 62px;
  }

  .page-shell--team-building .brand__mark {
    flex-basis: 44px;
    inline-size: 44px;
    block-size: 54px;
  }

  .page-shell--team-building .brand__text {
    font-size: 18px;
  }

  .page-shell--team-building .menu-button {
    inset-block-start: 28px;
    inset-inline-end: var(--team-margin-desktop);
    inline-size: 54px;
    block-size: 54px;
  }

  .team-hero {
    block-size: auto;
    min-block-size: 0;
    padding-block: 136px 64px;
   
  }

  .team-hero::before,
  .team-hero::after,
  .team-hero__fade {
    display: none;
  }

  .team-hero__inner {
    display: grid;
    gap: 36px;
    block-size: auto;
  }

  .team-hero__copy,
  .team-hero__media {
    position: relative;
    inset: auto;
    inline-size: 100%;
  }

  .team-hero__copy {
    max-inline-size: 760px;
  }

  .team-hero__title {
    max-inline-size: 760px;
    font-size: clamp(48px, 6vw, 64px);
    line-height: 1.03;
  }

  .team-hero__text {
    max-inline-size: 720px;
    font-size: 16px;
  }

  .team-hero__chips {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    inline-size: 100%;
    max-inline-size: 820px;
    margin-block-start: 30px;
  }

  .team-hero__actions {
    margin-block-start: 28px;
  }

  .team-hero__media {
    block-size: 430px;
    border-radius: 18px;
    box-shadow: var(--team-shadow-dark-panel);
  }

  .team-proof-bar {
    block-size: auto;
  }

  .team-proof-bar__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    block-size: auto;
    padding-block: 12px;
    background: rgba(177,138,90,.12);
  }

  .team-proof-bar__item {
    min-block-size: 58px;
    border: 0;
    background: rgba(255,255,255,.72);
  }

  .team-corporate-promise,
  .team-formats,
  .team-shaker-signature,
  .team-b2b-infos,
  .team-project-cta,
  .team-utility-bar {
    block-size: auto;
  }

  .team-corporate-promise__inner {
    padding-block: 76px 70px;
    gap: 42px;
  }

  .team-corporate-promise__copy {
    text-align: left;
    margin-inline: 0;
  }

  .team-corporate-promise__copy .section-heading__title,
  .team-corporate-promise__copy p:not(.eyebrow) {
    margin-inline: 0;
  }

  .team-corporate-promise__copy .section-heading__title {
    font-size: 48px;
  }

  .team-promise-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .team-promise-card {
    min-block-size: 176px;
    border: 1px solid rgba(177,138,90,.18);
    border-radius: 14px;
    background: rgba(255,255,255,.68);
    text-align: left;
  }

  .team-formats__inner {
    padding-block: 70px;
    gap: 38px;
  }

  .team-formats__heading {
    margin-inline: 0;
    text-align: left;
  }

  .team-formats .section-heading__title {
    font-size: 46px;
  }

  .team-formats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .team-format-card {
    grid-template-rows: 220px 1fr;
    min-block-size: 430px;
  }

  .team-shaker-signature {
    padding-block: 72px;
  }

  .team-shaker-signature__inner {
    grid-template-columns: 1fr;
    block-size: auto;
  }

  .team-shaker-signature__media {
    block-size: 390px;
  }

  .team-shaker-signature__copy {
    max-inline-size: none;
    padding: 48px;
  }

  .team-shaker-signature .section-heading__title {
    font-size: 46px;
  }

  .team-b2b-infos {
    padding-block-end: 68px;
  }

  .team-b2b-infos .section-shell {
    block-size: auto;
  }

  .team-b2b-infos__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: rgba(177,138,90,.14);
  }

  .team-b2b-infos__item {
    min-block-size: 128px;
    border: 0;
    background: rgba(255,255,255,.72);
  }

  .team-project-cta {
    padding-block-end: 72px;
  }

  .team-project-cta__inner {
    grid-template-columns: 1fr;
    gap: 28px;
    block-size: auto;
    min-block-size: 0;
    padding: 34px;
  }

  .team-project-cta__media {
    inline-size: 100%;
    block-size: 250px;
  }

  .team-project-cta__copy {
    max-inline-size: 680px;
  }

  .team-project-cta .section-heading__title {
    font-size: 46px;
  }

  .team-quote-form-future {
    display: none;
  }

  .team-utility-bar__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    background: rgba(177,138,90,.12);
  }

  .team-utility-bar__item {
    min-block-size: 120px;
    border: 0;
    background: rgba(255,255,255,.72);
  }

  .team-building-footer {
    min-block-size: auto;
    padding-block: 72px 34px;
  }

  .team-building-footer .discovery-footer__inner {
    grid-template-columns: 1fr;
    gap: 54px;
    min-block-size: auto;
  }

  .team-building-footer .discovery-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px;
  }

  .team-building-footer .discovery-footer__bottom {
    display: grid;
    gap: 22px;
  }
}

@media (max-width: 1023px) {
  :root {
    --team-container-desktop: 100%;
    --team-margin-desktop: 40px;
  }

  .page-shell--team-building .section-shell {
    inline-size: calc(100% - 80px);
  }

  .team-hero {
    padding-block: 128px 58px;
  }

  .team-hero__title {
    font-size: clamp(42px, 6.2vw, 52px);
  }

  .team-hero__chips {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-hero__actions {
    flex-wrap: wrap;
  }

  .team-hero__media {
    block-size: 360px;
  }

  .team-proof-bar__list,
  .team-b2b-infos__list,
  .team-utility-bar__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-corporate-promise__inner,
  .team-formats__inner {
    padding-block: 64px;
  }

  .team-corporate-promise__copy .section-heading__title,
  .team-formats .section-heading__title,
  .team-shaker-signature .section-heading__title,
  .team-project-cta .section-heading__title {
    font-size: 42px;
  }

  .team-promise-cards,
  .team-formats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-format-card {
    grid-template-rows: 190px 1fr;
  }

  .team-shaker-signature {
    padding-block: 62px;
  }

  .team-shaker-signature__media {
    block-size: 320px;
  }

  .team-shaker-signature__copy {
    padding: 38px;
  }

  .team-shaker-signature__details {
    grid-template-columns: 1fr;
  }

  .team-project-cta__inner {
    padding: 30px;
  }

  .team-project-cta__media {
    block-size: 220px;
  }

  .team-building-footer .discovery-footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  :root {
    --team-margin-desktop: 24px;
  }

  .page-shell--team-building {
    overflow-x: clip;
  }

  .page-shell--team-building .section-shell {
    inline-size: calc(100% - 48px);
  }

  .page-shell--team-building .site-header {
    inset-block-start: 18px;
  }

  .page-shell--team-building .brand {
    inline-size: 180px;
    min-block-size: 52px;
    gap: 10px;
  }

  .page-shell--team-building .brand__mark {
    flex-basis: 36px;
    inline-size: 36px;
    block-size: 44px;
  }

  .page-shell--team-building .brand__text {
    inline-size: 134px;
    font-size: 15px;
    letter-spacing: .12em;
  }

  .page-shell--team-building .menu-button {
    inset-block-start: 20px;
    inline-size: 48px;
    block-size: 48px;
  }

  .team-hero {
    padding-block: 425px 44px;
    background: var(--team-bg-ivory);
  }

  .team-hero__inner {
    gap: 28px;
  }

  .team-hero__media {
    order: -1;
    block-size: 246px;
    border-radius: 16px;
  }

  .team-hero__media::after {
    background: linear-gradient(180deg, rgba(9,8,6,.04), rgba(9,8,6,.5));
  }

  .team-hero__copy {
    gap: 0;
  }

  .team-hero__eyebrow {
    margin-block-end: 18px;
  }

  .team-hero__title {
    font-size: clamp(36px, 10vw, 48px);
    line-height: 1.03;
  }

  .team-hero__text {
    margin-block-start: 20px;
    font-size: 15.5px;
    line-height: 1.62;
  }

  .team-hero__chips {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    inline-size: auto;
    margin-inline: -24px;
    padding-inline: 24px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 24px;
    scrollbar-width: none;
  }

  .team-hero__chips::-webkit-scrollbar {
    display: none;
  }

  .team-chip {
    flex: 0 0 auto;
    min-inline-size: 210px;
    max-inline-size: 240px;
    min-block-size: 54px;
    border: 1px solid rgba(177,138,90,.22);
    border-radius: var(--team-pill-radius);
    background: rgba(255,255,255,.72);
  }

  .team-hero__actions {
    display: grid;
    gap: 12px;
    margin-block-start: 26px;
  }

  .team-hero__actions .button {
    justify-content: center;
    inline-size: 100%;
    min-block-size: 56px;
  }

  .team-proof-bar__list,
  .team-b2b-infos__list,
  .team-utility-bar__list {
    grid-template-columns: 1fr;
  }

  .team-proof-bar__item,
  .team-b2b-infos__item,
  .team-utility-bar__item {
    justify-content: flex-start;
    min-block-size: 68px;
    padding-inline: 22px;
    text-align: left;
  }

  .team-b2b-infos__item,
  .team-utility-bar__item {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  .team-corporate-promise__inner,
  .team-formats__inner {
    padding-block: 54px;
  }

  .team-corporate-promise__copy .section-heading__title,
  .team-formats .section-heading__title,
  .team-shaker-signature .section-heading__title,
  .team-project-cta .section-heading__title {
    font-size: clamp(34px, 9vw, 42px);
  }

  .team-corporate-promise__copy p:not(.eyebrow),
  .team-hero__text,
  .team-project-cta__copy p:not(.eyebrow),
  .team-shaker-signature__copy p {
    font-size: 15.5px;
  }

  .team-promise-cards,
  .team-formats__grid {
    grid-template-columns: 1fr;
  }

  .team-promise-card {
    min-block-size: auto;
    padding: 22px;
  }

  .team-formats__grid {
    gap: 16px;
  }

  .team-format-card {
    grid-template-rows: 206px 1fr;
    min-block-size: 0;
  }

  .team-format-card__body {
    padding: 22px;
  }

  .team-format-card h3 {
    font-size: 28px;
  }

  .team-shaker-signature {
    padding-block: 54px;
  }

  .team-shaker-signature__inner {
    border-radius: 16px;
  }

  .team-shaker-signature__media {
    block-size: 240px;
  }

  .team-shaker-signature__copy {
    padding: 28px 24px 30px;
  }

  .team-shaker-signature__details {
    gap: 9px;
    font-size: 13px;
  }

  .team-b2b-infos {
    padding-block-end: 54px;
  }

  .team-project-cta {
    padding-block-end: 54px;
  }

  .team-project-cta__inner {
    padding: 22px;
    border-radius: 16px;
  }

  .team-project-cta__media {
    block-size: 190px;
    border-radius: 12px;
  }

  .team-project-cta__copy .button {
    justify-self: stretch;
    justify-content: center;
    inline-size: 100%;
  }

  .team-quote-form-future {
    display: none;
  }

  .team-utility-bar__item strong,
  .team-utility-bar__item span,
  .team-utility-bar__item a {
    text-align: left;
  }

  .team-building-footer {
    padding-block: 58px 30px;
  }

  .team-building-footer .discovery-footer__nav {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .team-building-footer .discovery-footer__bottom ul {
    display: grid;
    gap: 14px;
  }

  .sticky-cta-shell--team-building {
    position: fixed;
    inset-inline: 16px;
    inset-block-end: calc(16px + env(safe-area-inset-bottom));
    z-index: 60;
    display: grid;
    pointer-events: none;
  }

  .sticky-cta-shell--team-building .button {
    justify-content: center;
    inline-size: 100%;
    min-block-size: 54px;
    border-radius: 999px;
    box-shadow: 0 18px 48px rgba(9, 8, 6, .22);
    pointer-events: auto;
  }
}

@media (max-width: 389px) {
  :root {
    --team-margin-desktop: 18px;
  }

  .page-shell--team-building .section-shell {
    inline-size: calc(100% - 36px);
  }

  .page-shell--team-building .brand {
    inline-size: 162px;
  }

  .page-shell--team-building .brand__text {
    font-size: 13px;
  }

  .page-shell--team-building .menu-button {
    inset-inline-end: 18px;
    inline-size: 44px;
    block-size: 44px;
  }

  .team-hero {
    padding-block-start: 88px;
  }

  .team-hero__title {
    font-size: 34px;
  }

  .team-hero__media,
  .team-format-card__media,
  .team-shaker-signature__media,
  .team-project-cta__media {
    block-size: 210px;
  }

  .team-hero__chips {
    margin-inline: -18px;
    padding-inline: 18px;
    scroll-padding-inline: 18px;
  }

  .team-chip {
    min-inline-size: 196px;
  }

  .team-promise-card,
  .team-format-card__body,
  .team-project-cta__inner {
    padding: 18px;
  }

  .team-shaker-signature__copy {
    padding: 24px 18px;
  }
}

/* -------------------------------------------------------------------------- */
/* Étape 5 — Interactions sobres, formulaire préparatoire et motion             */
/* -------------------------------------------------------------------------- */

.page-shell--team-building .team-project-cta__form-toggle {
  justify-self: start;
  margin-inline-start: 14px;
}

.team-project-cta.is-form-open {
  block-size: auto;
  padding-block-end: 88px;
}

.team-project-cta.is-form-open .team-project-cta__inner {
  grid-template-columns: 320px minmax(360px, 1fr) minmax(380px, 520px);
  align-items: start;
  block-size: auto;
  min-block-size: var(--team-section-project-cta-h);
  overflow: visible;
}

.team-quote-form-future[hidden] {
  display: none !important;
}

.team-quote-form-future.is-open {
  display: grid !important;
  align-self: stretch;
  max-block-size: none;
  opacity: 1;
  transform: translateY(0);
}

.team-quote-form__field input:focus,
.team-quote-form__field select:focus,
.team-quote-form__field textarea:focus {
  outline: var(--team-focus-ring);
  outline-offset: 2px;
  border-color: rgba(177, 138, 90, .62);
  box-shadow: var(--team-focus-shadow);
}

.team-quote-form [aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .62;
}

.team-format-card.is-selected,
.team-format-card[data-selected="true"] {
  border-color: rgba(177, 138, 90, .72);
  box-shadow: 0 22px 58px rgba(33, 25, 17, .14), inset 0 0 0 1px rgba(177, 138, 90, .32);
  transform: translateY(-3px);
}

.team-format-card.is-selected::after,
.team-format-card[data-selected="true"]::after {
  position: absolute;
  inset-block-start: 16px;
  inset-inline-end: 16px;
  z-index: 2;
  padding: 7px 10px;
  border: 1px solid rgba(177, 138, 90, .42);
  border-radius: 999px;
  background: rgba(246, 242, 237, .92);
  color: var(--team-bronze-dark);
  content: "Format sélectionné";
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.team-format-card.is-card-focused {
  outline: var(--team-focus-ring);
  outline-offset: 5px;
  box-shadow: var(--team-focus-shadow), 0 18px 46px rgba(33,25,17,.1);
}

.team-format-card__cta.is-selected,
.team-format-card__cta[aria-current="true"] {
  color: var(--team-bronze-dark);
}

@media (hover: hover) and (pointer: fine) {
  .team-b2b-infos__item:hover,
  .team-utility-bar__item:hover {
    transform: translateY(-2px);
    border-color: rgba(177, 138, 90, .4);
    box-shadow: 0 14px 32px rgba(33, 25, 17, .08);
  }

  .team-shaker-signature__inner:hover .team-shaker-signature__media img,
  .team-project-cta__inner:hover .team-project-cta__media img,
  .team-format-card:hover .team-format-card__media img {
    transform: scale(1.025);
  }

  .team-chip:hover {
    border-color: rgba(177, 138, 90, .44);
    background: rgba(255, 255, 255, .82);
  }
}

.team-shaker-signature__media img,
.team-project-cta__media img,
.team-format-card__media img {
  transition: transform .42s cubic-bezier(.22, 1, .36, 1), filter .22s ease;
}

.page-shell--team-building .button:active,
.page-shell--team-building .menu-button:active,
.team-format-card__cta:active,
.team-format-card__secondary:active,
.sticky-cta-shell--team-building .button:active {
  transform: translateY(1px);
}

.sticky-cta-shell--team-building {
  pointer-events: none;
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 220ms cubic-bezier(.22, 1, .36, 1),
    transform 220ms cubic-bezier(.22, 1, .36, 1),
    visibility 220ms cubic-bezier(.22, 1, .36, 1);
}

.sticky-cta-shell--team-building[hidden] {
  display: none !important;
}

.sticky-cta-shell--team-building:not([hidden]).is-visible {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
}

html[data-menu-open="true"] .sticky-cta-shell--team-building:not([hidden]) {
  display: none !important;
}

@media (max-width: 1279px) {
  .team-project-cta.is-form-open .team-project-cta__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 30px;
  }

  .team-project-cta.is-form-open .team-project-cta__media {
    inline-size: 100%;
  }
}

@media (max-width: 767px) {
	
  .team-project-cta__copy {
    display: grid;
  }

  .page-shell--team-building .team-project-cta__form-toggle {
    justify-self: stretch;
    justify-content: center;
    margin-inline-start: 0;
  }

  .team-project-cta.is-form-open {
    padding-block-end: 54px;
  }

  .team-project-cta.is-form-open .team-project-cta__inner {
    padding: 22px;
  }

  .team-quote-form-future.is-open {
    display: grid !important;
    padding: 20px;
  }

  .sticky-cta-shell--team-building:not([hidden]) {
    display: grid;
    padding-block-end: max(8px, env(safe-area-inset-bottom));
  }

  .sticky-cta-shell--team-building:not([hidden]) .button {
    inline-size: 100%;
    justify-content: center;
  }

  .team-hero__chips {
    scroll-behavior: smooth;
  }

  .team-format-card.is-selected::after,
  .team-format-card[data-selected="true"]::after {
    inset-block-start: 12px;
    inset-inline-end: 12px;
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-shell--team-building *,
  .page-shell--team-building *::before,
  .page-shell--team-building *::after,
  .sticky-cta-shell--team-building,
  .sticky-cta-shell--team-building * {
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* -------------------------------------------------------------------------- */
/* Team Building — pack atelier + soirée privée Speakeasy                      */
/* -------------------------------------------------------------------------- */

.page-shell--team-building .team-evening-pack {
  position: relative;
  padding-block: clamp(48px, 6vh, 72px);
  background:
    linear-gradient(180deg, #f4ebdc 0%, #f6f2ed 46%, #eee7dd 100%);
}

.page-shell--team-building .team-evening-pack__panel {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 0.46fr) minmax(0, 0.54fr);
  min-block-size: clamp(520px, 62vh, 640px);
  overflow: hidden;

  border: 1px solid rgba(177, 138, 90, 0.3);
  border-radius: 24px;
  background: #080705;
  color: var(--team-text-inverse);
  box-shadow: 0 30px 86px rgba(31, 23, 16, 0.2);
}

/* Image finale composée : bar + salon + détail, avec fade déjà intégré */
.page-shell--team-building .team-evening-pack__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background-image: url("../../assets/images/offreSpeakeasy.webp");
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;

  filter: saturate(0.95) contrast(1.06) brightness(0.86);
  pointer-events: none;
}

/*
  Overlay de sécurité.
  Même si l'image a déjà un fade à gauche, on garantit la lisibilité du texte.
*/
.page-shell--team-building .team-evening-pack__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;

  background:
    linear-gradient(
      90deg,
      rgba(7, 6, 5, 0.98) 0%,
      rgba(7, 6, 5, 0.94) 30%,
      rgba(7, 6, 5, 0.76) 44%,
      rgba(7, 6, 5, 0.3) 66%,
      rgba(7, 6, 5, 0.12) 100%
    ),
    radial-gradient(
      circle at 74% 18%,
      rgba(213, 189, 152, 0.16),
      transparent 32%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.04) 0%,
      rgba(0, 0, 0, 0.32) 100%
    );

  pointer-events: none;
}

.page-shell--team-building .team-evening-pack__content {
  position: relative;
  z-index: 2;
  grid-column: 1 / 2;

  display: grid;
  align-content: center;
  gap: clamp(15px, 1.65vh, 20px);
  margin-left: 5%;
  max-inline-size: 660px;
  padding: clamp(42px, 4.6vw, 64px);
}

.page-shell--team-building .team-evening-pack__eyebrow {
  color: var(--team-bronze-soft);
}

.page-shell--team-building .team-evening-pack__title {
  max-inline-size: 640px;
  color: var(--team-text-inverse);
  font-family: var(--font-display);
  font-size: clamp(42px, 3.55vw, 62px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.page-shell--team-building .team-evening-pack__intro {
  max-inline-size: 620px;
  color: rgba(255, 250, 244, 0.78);
  font-size: 16px;
  line-height: 1.58;
}

.page-shell--team-building .team-evening-pack__highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-block-start: 4px;

  overflow: hidden;
  border: 1px solid rgba(213, 189, 152, 0.22);
  border-radius: 16px;
  background: rgba(213, 189, 152, 0.18);
}

.page-shell--team-building .team-evening-pack__highlight {
  display: grid;
  gap: 6px;
  padding: 15px 14px;
  background: rgba(255, 250, 244, 0.075);
  backdrop-filter: blur(10px);
}

.page-shell--team-building .team-evening-pack__highlight span {
  color: var(--team-bronze-soft);
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
}

.page-shell--team-building .team-evening-pack__highlight strong {
  color: var(--team-text-inverse);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.06;
}

.page-shell--team-building .team-evening-pack__highlight p {
  color: rgba(255, 250, 244, 0.66);
  font-size: 12.5px;
  line-height: 1.38;
}

.page-shell--team-building .team-evening-pack__offer {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px 18px;
  margin-block-start: 2px;
}

.page-shell--team-building .team-evening-pack__price {
  display: grid;
  gap: 3px;
}

.page-shell--team-building .team-evening-pack__price span {
  color: rgba(255, 250, 244, 0.62);
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-shell--team-building .team-evening-pack__price strong {
  color: var(--team-text-inverse);
  font-family: var(--font-body);
  font-size: clamp(36px, 3vw, 48px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 0.98;
}

.page-shell--team-building .team-evening-pack__advantage {
  max-inline-size: 300px;
  margin-block-end: 4px;
  padding: 9px 13px;

  border: 1px solid rgba(213, 189, 152, 0.26);
  border-radius: 999px;
  background: rgba(177, 138, 90, 0.13);

  color: rgba(255, 250, 244, 0.78);
  font-family: var(--font-ui);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.page-shell--team-building .team-evening-pack__note {
  max-inline-size: 520px;
  color: rgba(255, 250, 244, 0.52);
  font-size: 11.5px;
  line-height: 1.4;
}

.page-shell--team-building .team-evening-pack__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 22px;
  margin-block-start: 4px;
}

.page-shell--team-building .team-evening-pack__actions .button {
  min-block-size: 56px;
  padding: 16px 26px;
  border: 1px solid rgba(255, 250, 244, 0.12);
  background: var(--team-text-inverse);
  color: var(--team-black-luxe);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

.page-shell--team-building .team-evening-pack__secondary {
  color: rgba(255, 250, 244, 0.7);
  font-family: var(--font-ui);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.page-shell--team-building .team-evening-pack__secondary:hover {
  color: var(--team-text-inverse);
}

/*
  Sécurité si l'ancien HTML avec les 3 images est encore présent.
  La section fonctionne maintenant avec une seule image background.
*/
.page-shell--team-building .team-evening-pack__media,
.page-shell--team-building .team-evening-pack__image {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                  */
/* -------------------------------------------------------------------------- */

@media (max-width: 1279px) {
  .page-shell--team-building .team-evening-pack {
    padding-block: 64px;
  }

  .page-shell--team-building .team-evening-pack__panel {
    grid-template-columns: minmax(0, 0.56fr) minmax(0, 0.44fr);
    min-block-size: 600px;
  }

  .page-shell--team-building .team-evening-pack__content {
    padding: 48px;
  }

  .page-shell--team-building .team-evening-pack__highlights {
    grid-template-columns: 1fr;
  }

  .page-shell--team-building .team-evening-pack__highlight {
    padding: 13px 15px;
  }

  .page-shell--team-building .team-evening-pack__highlight p {
    max-inline-size: 440px;
  }
}

@media (max-width: 1023px) {
  .page-shell--team-building .team-evening-pack {
    padding-block: 58px;
  }

  .page-shell--team-building .team-evening-pack__panel {
    grid-template-columns: 1fr;
    min-block-size: auto;
  }

  .page-shell--team-building .team-evening-pack__panel::before {
    background-position: 64% center;
    filter: saturate(0.92) contrast(1.06) brightness(0.72);
  }

  .page-shell--team-building .team-evening-pack__panel::after {
    background:
      linear-gradient(
        180deg,
        rgba(7, 6, 5, 0.78) 0%,
        rgba(7, 6, 5, 0.92) 42%,
        rgba(7, 6, 5, 0.98) 100%
      ),
      linear-gradient(
        90deg,
        rgba(7, 6, 5, 0.95) 0%,
        rgba(7, 6, 5, 0.72) 50%,
        rgba(7, 6, 5, 0.44) 100%
      );
  }

  .page-shell--team-building .team-evening-pack__content {
    max-inline-size: none;
    padding: 46px 38px;
  }

  .page-shell--team-building .team-evening-pack__title {
    max-inline-size: 720px;
  }

  .page-shell--team-building .team-evening-pack__intro {
    max-inline-size: 680px;
  }
}

@media (max-width: 767px) {
	.team-quote-document__date{
		font-size: 11px !important;
	}
	.page-shell--team-building [data-quote-final-preview] .team-quote-document__header {
    grid-template-columns: auto !important;
}
  .page-shell--team-building .team-evening-pack {
    padding-block: 48px;
  }

  .page-shell--team-building .team-evening-pack__panel {
    border-radius: 18px;
  }

  .page-shell--team-building .team-evening-pack__panel::before {
    background-position: 66% center;
    filter: saturate(0.9) contrast(1.08) brightness(0.62);
  }

  .page-shell--team-building .team-evening-pack__panel::after {
    background:
      linear-gradient(
        180deg,
        rgba(7, 6, 5, 0.76) 0%,
        rgba(7, 6, 5, 0.94) 36%,
        rgba(7, 6, 5, 0.99) 100%
      );
  }

  .page-shell--team-building .team-evening-pack__content {
    gap: 16px;
    padding: 34px 24px 30px;
  }

  .page-shell--team-building .team-evening-pack__title {
    font-size: clamp(34px, 9.6vw, 44px);
    line-height: 1.02;
  }

  .page-shell--team-building .team-evening-pack__intro {
    font-size: 15px;
    line-height: 1.58;
  }

  .page-shell--team-building .team-evening-pack__highlights {
    grid-template-columns: 1fr;
    border-radius: 14px;
  }

  .page-shell--team-building .team-evening-pack__highlight strong {
    font-size: 19px;
  }

  .page-shell--team-building .team-evening-pack__offer {
    display: grid;
    gap: 12px;
  }

  .page-shell--team-building .team-evening-pack__advantage {
    max-inline-size: none;
    border-radius: 14px;
  }

  .page-shell--team-building .team-evening-pack__price strong {
    font-size: 36px;
  }

  .page-shell--team-building .team-evening-pack__actions {
    display: grid;
    gap: 14px;
  }

  .page-shell--team-building .team-evening-pack__actions .button {
    inline-size: 100%;
  }

  .page-shell--team-building .team-evening-pack__secondary {
    justify-self: center;
    text-align: center;
  }
}
/* -------------------------------------------------------------------------- */
/* Team Building — tunnel devis imprimable                                     */
/* -------------------------------------------------------------------------- */

.page-shell--team-building .team-quote-tunnel {
  position: relative;
  padding-block: clamp(72px, 8vw, 112px);
  background:
    radial-gradient(circle at 12% 10%, rgba(177, 138, 90, .16), transparent 32%),
    linear-gradient(180deg, #eee7dd 0%, #f6f2ed 46%, #efe6da 100%);
}

.page-shell--team-building .team-quote-tunnel__inner {
  display: grid;
  gap: 34px;
}

.page-shell--team-building .team-quote-tunnel__heading {
  justify-self: center;
  max-inline-size: 980px;
  text-align: center;
}

.page-shell--team-building .team-quote-tunnel__heading .section-heading__title {
  color: var(--team-text-primary);
  font-size: 3.9583vw;
  line-height: .98;
}

.page-shell--team-building .team-quote-tunnel__intro {
  max-inline-size: 760px;
  margin-inline: auto;
  color: var(--team-text-secondary);
  font-size: 18px;
  line-height: 1.62;
}

.page-shell--team-building .team-quote-builder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  gap: 24px;
  align-items: start;
}

.page-shell--team-building .team-quote-wizard,
.page-shell--team-building .team-quote-summary {
  border: 1px solid rgba(177, 138, 90, .25);
  border-radius: 24px;
  background: rgba(255, 252, 247, .86);
  box-shadow: 0 24px 70px rgba(33, 25, 17, .12);
  backdrop-filter: blur(16px);
}

.page-shell--team-building .team-quote-wizard {
  display: grid;
  gap: 22px;
  padding: clamp(24px, 3.2vw, 38px);
}

.page-shell--team-building .team-quote-wizard__topline {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: start;
}

.page-shell--team-building .team-quote-wizard__topline h3 {
  margin-block-start: 4px;
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-size: clamp(28px, 2.6vw, 42px);
  letter-spacing: -.03em;
  line-height: 1.04;
}

.page-shell--team-building .team-quote-wizard__status {
  flex: 0 0 auto;
  padding: 8px 12px;
  border: 1px solid rgba(177, 138, 90, .24);
  border-radius: 999px;
  background: rgba(177, 138, 90, .09);
  color: var(--team-bronze-dark);
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page-shell--team-building .team-quote-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.page-shell--team-building .team-quote-steps button {
  inline-size: 100%;
  min-block-size: 42px;
  padding: 9px 8px;
  border: 1px solid rgba(177, 138, 90, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .52);
  color: rgba(44, 35, 25, .72);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.page-shell--team-building .team-quote-steps button[aria-current="step"] {
  border-color: rgba(177, 138, 90, .72);
  background: var(--team-black-luxe);
  color: var(--team-text-inverse);
}

.page-shell--team-building .team-quote-steps button:disabled {
  cursor: default;
  opacity: .44;
}

.page-shell--team-building .team-quote-wizard__error {
  padding: 12px 14px;
  border: 1px solid rgba(160, 66, 44, .28);
  border-radius: 14px;
  background: rgba(160, 66, 44, .08);
  color: #7a2e20;
  font-weight: 700;
}

.page-shell--team-building .team-quote-step {
  display: grid;
  gap: 20px;
  min-block-size: 360px;
  padding: 0;
  border: 0;
}

.page-shell--team-building .team-quote-step[hidden] {
  display: none !important;
}

.page-shell--team-building .team-quote-step legend {
  margin-block-end: 18px;
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-size: clamp(26px, 2.3vw, 36px);
  font-weight: 800;
  letter-spacing: -.025em;
}

.page-shell--team-building .team-quote-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.page-shell--team-building .team-quote-choice {
  position: relative;
  display: grid;
  min-block-size: 190px;
  cursor: pointer;
}

.page-shell--team-building .team-quote-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.page-shell--team-building .team-quote-choice span {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 22px;
  border: 1px solid rgba(177, 138, 90, .22);
  border-radius: 20px;
  background: rgba(255, 255, 255, .56);
  transition:
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease,
    background .2s ease;
}

.page-shell--team-building .team-quote-choice strong {
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-size: 25px;
  letter-spacing: -.02em;
  line-height: 1.04;
}

.page-shell--team-building .team-quote-choice small {
  color: var(--team-text-secondary);
  font-size: 14px;
  line-height: 1.5;
}

.page-shell--team-building .team-quote-choice--featured span {
  background:
    radial-gradient(circle at 18% 10%, rgba(177, 138, 90, .2), transparent 42%),
    rgba(255, 255, 255, .7);
}

.page-shell--team-building .team-quote-choice input:checked + span {
  border-color: rgba(177, 138, 90, .76);
  background: #fffaf3;
  box-shadow: 0 18px 44px rgba(33, 25, 17, .1), inset 0 0 0 1px rgba(177, 138, 90, .24);
  transform: translateY(-2px);
}

.page-shell--team-building .team-quote-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 18px;
}

.page-shell--team-building .team-quote-field,
.page-shell--team-building .team-quote-option {
  display: grid;
  align-content: start;
  gap: 9px;
  color: var(--team-text-primary);
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
}

.page-shell--team-building .team-quote-field span,
.page-shell--team-building .team-quote-option > span > strong {
  color: var(--team-text-primary);
}

.page-shell--team-building .team-quote-field em {
  color: var(--team-text-muted);
  font-style: normal;
  font-weight: 600;
}

.page-shell--team-building .team-quote-field small,
.page-shell--team-building .team-quote-option small,
.page-shell--team-building .team-quote-step__note {
  color: var(--team-text-muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.45;
}

.page-shell--team-building .team-quote-field input,
.page-shell--team-building .team-quote-field select,
.page-shell--team-building .team-quote-field textarea {
  inline-size: 100%;
  block-size: 64px;
  min-block-size: 64px;
  padding: 0 18px;

  border: 1px solid rgba(177, 138, 90, .24);
  border-radius: 14px;
  background: rgba(255, 255, 255, .8);
  color: var(--team-text-primary);

  font: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;

  box-shadow: none;
}
.page-shell--team-building .team-quote-field select {
  appearance: none;
  -webkit-appearance: none;

  padding-inline-end: 46px;

  background-image:
    linear-gradient(45deg, transparent 50%, var(--team-text-primary) 50%),
    linear-gradient(135deg, var(--team-text-primary) 50%, transparent 50%);
  background-position:
    calc(100% - 24px) 50%,
    calc(100% - 18px) 50%;
  background-size:
    6px 6px,
    6px 6px;
  background-repeat: no-repeat;
}
.page-shell--team-building .team-quote-field input[type="number"] {
  appearance: textfield;
  -moz-appearance: textfield;
  padding-inline-end: 18px;
}

.page-shell--team-building .team-quote-field input[type="number"]::-webkit-outer-spin-button,
.page-shell--team-building .team-quote-field input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.page-shell--team-building .team-quote-field textarea {
  min-block-size: 132px;
  block-size: auto;
  padding-block: 16px;
  resize: vertical;
  line-height: 1.5;
}

.page-shell--team-building .team-quote-field input:focus,
.page-shell--team-building .team-quote-field select:focus,
.page-shell--team-building .team-quote-field textarea:focus,
.page-shell--team-building .team-quote-choice input:focus-visible + span,
.page-shell--team-building .team-quote-steps button:focus-visible {
  outline: var(--team-focus-ring);
  outline-offset: 3px;
  border-color: rgba(177, 138, 90, .72);
  box-shadow: var(--team-focus-shadow);
}

.page-shell--team-building .team-quote-form__field--wide {
  grid-column: 1 / -1;
}

.page-shell--team-building .team-quote-option {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(177, 138, 90, .22);
  border-radius: 16px;
  background: rgba(255, 255, 255, .56);
  cursor: pointer;
}

.page-shell--team-building .team-quote-option input {
  margin-block-start: 3px;
  accent-color: var(--team-bronze-dark);
}

.page-shell--team-building .team-quote-option > span {
  display: grid;
  gap: 5px;
}

.page-shell--team-building .team-quote-inline-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.page-shell--team-building .team-quote-inline-options label {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-block-size: 44px;
  padding: 10px 18px 10px 42px;

  border: 1px solid rgba(177, 138, 90, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .64);

  color: var(--team-text-primary);
  cursor: pointer;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;

  transition:
    border-color .2s ease,
    background-color .2s ease,
    box-shadow .2s ease;
}

.page-shell--team-building .team-quote-inline-options label::before {
  content: "";
  position: absolute;
  inset-inline-start: 18px;
  inset-block-start: 50%;

  inline-size: 14px;
  block-size: 14px;

  border: 1px solid rgba(138, 105, 67, .68);
  border-radius: 50%;
  background: transparent;

  transform: translateY(-50%);
}

.page-shell--team-building .team-quote-inline-options label::after {
  content: "";
  position: absolute;
  inset-inline-start: 22px;
  inset-block-start: 50%;

  inline-size: 6px;
  block-size: 6px;

  border-radius: 50%;
  background: var(--team-bronze-dark);

  opacity: 0;
  transform: translateY(-50%) scale(.55);
  transition: opacity .16s ease, transform .16s ease;
}

/* Reset obligatoire : ce radio est dans .team-quote-field, donc il ne doit pas hériter du style input global */
.page-shell--team-building .team-quote-inline-options input[type="radio"] {
  position: absolute;

  inline-size: 1px;
  block-size: 1px;
  min-block-size: 0;

  margin: 0;
  padding: 0;

  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;

  opacity: 0;
  pointer-events: none;

  appearance: none;
  -webkit-appearance: none;
}

.page-shell--team-building .team-quote-inline-options label:has(input[type="radio"]:checked) {
  border-color: rgba(177, 138, 90, .56);
  background: #fffaf3;
  box-shadow: inset 0 0 0 1px rgba(177, 138, 90, .16);
}

.page-shell--team-building .team-quote-inline-options label:has(input[type="radio"]:checked)::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.page-shell--team-building .team-quote-inline-options label:has(input[type="radio"]:focus-visible) {
  outline: var(--team-focus-ring);
  outline-offset: 3px;
  box-shadow: var(--team-focus-shadow);
}

.page-shell--team-building .team-quote-wizard__footer {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-block-start: 8px;
}

.page-shell--team-building .team-quote-wizard__footer .button {
  min-block-size: 54px;
}

.page-shell--team-building .team-quote-summary {
  position: sticky;
  inset-block-start: 148px;
  margin-block-start: 130px;

  display: grid;
  gap: 16px;
  padding: 38px;

  background:
    radial-gradient(circle at 10% 0%, rgba(213, 189, 152, .2), transparent 34%),
    linear-gradient(135deg, #110d09 0%, #1c140e 100%);

  color: var(--team-text-inverse);
}

.page-shell--team-building .team-quote-summary .eyebrow {
  color: var(--team-bronze-soft);
}

.page-shell--team-building .team-quote-summary__price {
  color: var(--team-text-inverse);
  font-family: var(--font-body);
  font-size: clamp(42px, 2.7vw, 58px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: .96;
}

.page-shell--team-building .team-quote-summary__mode {
  color: rgba(255, 250, 244, .78);
  font-size: 15px;
  line-height: 1.5;
}

.page-shell--team-building .team-quote-summary__details {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(213, 189, 152, .2);
  border-radius: 16px;
  background: rgba(213, 189, 152, .18);
}

.page-shell--team-building .team-quote-summary__details div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 13px;
  background: rgba(255, 250, 244, .08);
}

.page-shell--team-building .team-quote-summary__details dt {
  color: rgba(255, 250, 244, .62);
  font-size: 12px;
  font-weight: 700;
}

.page-shell--team-building .team-quote-summary__details dd {
  color: var(--team-text-inverse);
  font-size: 12px;
  font-weight: 800;
  text-align: right;
}

.page-shell--team-building .team-quote-summary__note {
  color: rgba(255, 250, 244, .56);
  font-size: 12px;
  line-height: 1.45;
}

.page-shell--team-building .team-quote-final {
  display: grid;
  gap: 18px;
}

.page-shell--team-building .team-quote-document {
  display: grid;
  gap: 22px;
  padding: 26px;
  border: 1px solid rgba(177, 138, 90, .22);
  border-radius: 18px;
  background: #fffaf3;
  color: var(--team-text-primary);
}

.page-shell--team-building .team-quote-document__header,
.page-shell--team-building .team-quote-document__grid,
.page-shell--team-building .team-quote-document__footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: 20px;
}
.page-shell--team-building .team-quote-document__header {
  align-items: start;
}

.page-shell--team-building .team-quote-document__head-main {
  display: grid;
  gap: 12px;
  min-inline-size: 0;
}

.page-shell--team-building .team-quote-document__brand-lockup {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  inline-size: fit-content;
  max-inline-size: 100%;
  color: var(--team-text-primary);
}

.page-shell--team-building .team-quote-document__brand-mark {
  display: block;
  flex: 0 0 30px;
  inline-size: 30px;
  block-size: 38px;
  object-fit: contain;
  object-position: center -30%;
}

.page-shell--team-building .team-quote-document__brand-text {
  display: grid;
  color: var(--team-text-primary);
  font-family: var(--font-logo);
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 400;
  letter-spacing: .112em;
  line-height: 1.08;
  text-transform: uppercase;
}

.page-shell--team-building .team-quote-document__brand-text span {
  display: block;
  white-space: nowrap;
}

/* Sécurité si l’ancienne balise .team-quote-document__logo existe encore */
.page-shell--team-building .team-quote-document__logo {
  display: block;
  inline-size: 30px;
  block-size: 38px;
  object-fit: contain;
  object-position: center -30%;
}
.page-shell--team-building .team-quote-document__brand {
  color: var(--team-bronze-dark);
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.page-shell--team-building .team-quote-document h3 {
  margin-block-start: 4px;
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-size: clamp(28px, 2.5vw, 38px);
  letter-spacing: -.03em;
  line-height: 1.04;
}

.page-shell--team-building .team-quote-document h4 {
  margin-block-end: 8px;
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-size: 20px;
  letter-spacing: -.02em;
}

.page-shell--team-building .team-quote-document p,
.page-shell--team-building .team-quote-document li,
.page-shell--team-building .team-quote-document td,
.page-shell--team-building .team-quote-document th {
  color: rgba(44, 35, 25, .78);
  font-size: 13px;
  line-height: 1.5;
}

.page-shell--team-building .team-quote-document__date {
  justify-self: end;
  align-self: start;
  color: var(--team-text-muted);
  font-weight: 800;
}

.page-shell--team-building .team-quote-document__section {
  padding-block-start: 18px;
  border-block-start: 1px solid rgba(177, 138, 90, .2);
}

.page-shell--team-building .team-quote-document__table {
  inline-size: 100%;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 14px;
}

.page-shell--team-building .team-quote-document__table td,
.page-shell--team-building .team-quote-document__table th {
  padding: 12px;
  border-block-end: 1px solid rgba(177, 138, 90, .16);
  background: rgba(255, 255, 255, .6);
  text-align: left;
  vertical-align: top;
}

.page-shell--team-building .team-quote-document__table td:last-child,
.page-shell--team-building .team-quote-document__table th:last-child {
  text-align: right;
  white-space: nowrap;
}

.page-shell--team-building .team-quote-document__table td span {
  display: block;
  margin-block-start: 2px;
  color: var(--team-text-muted);
  font-size: 12px;
}

.page-shell--team-building .team-quote-document__table tfoot th,
.page-shell--team-building .team-quote-document__table tfoot td {
  background: #16110c;
  color: var(--team-text-inverse);
  font-weight: 900;
}

.page-shell--team-building .team-quote-document__included {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
}

.page-shell--team-building .team-quote-document__included li {
  position: relative;
  padding-inline-start: 18px;
}

.page-shell--team-building .team-quote-document__included li::before {
  content: "✓";
  position: absolute;
  inset-inline-start: 0;
  color: var(--team-bronze-dark);
  font-weight: 900;
}

.page-shell--team-building .team-quote-document__budget {
  margin-block-start: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(177, 138, 90, .22);
  border-radius: 14px;
  background: rgba(177, 138, 90, .08);
}

.page-shell--team-building .team-quote-document__footer {
  padding-block-start: 16px;
  border-block-start: 1px solid rgba(177, 138, 90, .22);
}

.page-shell--team-building .team-quote-final__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-block-start: 6px;
}

.page-shell--team-building .team-quote-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 52px;
  padding: 15px 20px;
  border: 1px solid rgba(177, 138, 90, .32);
  border-radius: 999px;
  color: var(--team-bronze-dark);
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
}

.page-shell--team-building .team-quote-phone:hover {
  border-color: rgba(177, 138, 90, .62);
  color: var(--team-black-luxe);
}

.page-shell--team-building .team-quote-final__hint {
  color: var(--team-text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

.page-shell--team-building .team-quote-print-document {
  display: none;
}

@media (max-width: 1279px) {
  .page-shell--team-building .team-quote-builder {
    grid-template-columns: 1fr;
  }

  .page-shell--team-building .team-quote-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}



@media (max-width: 767px) {
  .page-shell--team-building .team-quote-tunnel {
    padding-block: 54px;
  }

  .page-shell--team-building .team-quote-tunnel__inner {
    gap: 24px;
  }

  .page-shell--team-building .team-quote-tunnel__heading .section-heading__title {
    font-size: clamp(36px, 10vw, 48px);
  }

  .page-shell--team-building .team-quote-tunnel__intro {
    font-size: 15.5px;
  }

  .page-shell--team-building .team-quote-wizard {
    border-radius: 18px;
    padding: 20px;
  }

  .page-shell--team-building .team-quote-wizard__topline {
    display: grid;
  }

  .page-shell--team-building .team-quote-wizard__status {
    justify-self: start;
  }

  .page-shell--team-building .team-quote-steps {
    display: flex;
    gap: 8px;
    margin-inline: -20px;
    padding-inline: 20px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .page-shell--team-building .team-quote-steps::-webkit-scrollbar {
    display: none;
  }

  .page-shell--team-building .team-quote-steps li {
    flex: 0 0 auto;
  }

  .page-shell--team-building .team-quote-steps button {
    min-inline-size: 116px;
  }

  .page-shell--team-building .team-quote-choice-grid,
  .page-shell--team-building .team-quote-form__grid,
  .page-shell--team-building .team-quote-document__header,
  .page-shell--team-building .team-quote-document__grid,
  .page-shell--team-building .team-quote-document__footer,
  .page-shell--team-building .team-quote-document__included {
    grid-template-columns: 1fr;
  }

  .page-shell--team-building .team-quote-choice {
    min-block-size: auto;
  }

  .page-shell--team-building .team-quote-choice span {
    padding: 18px;
  }

  .page-shell--team-building .team-quote-step {
    min-block-size: auto;
  }

  .page-shell--team-building .team-quote-wizard__footer,
  .page-shell--team-building .team-quote-final__actions {
    display: grid;
  }

  .page-shell--team-building .team-quote-wizard__footer .button,
  .page-shell--team-building .team-quote-final__actions .button,
  .page-shell--team-building .team-quote-phone {
    inline-size: 100%;
  }

  .page-shell--team-building .team-quote-document {
    padding: 18px;
  }

  .page-shell--team-building .team-quote-document__date {
    justify-self: start;
  }

  .page-shell--team-building .team-quote-document__table td,
  .page-shell--team-building .team-quote-document__table th {
    padding: 10px 8px;
    font-size: 12px;
  }
}

/* -------------------------------------------------------------------------- */
/* Team Building — FAQ SEO locale                                              */
/* -------------------------------------------------------------------------- */

.page-shell--team-building .team-faq {
  padding-block: 108px 116px;
  background:
    radial-gradient(circle at 12% 0%, rgba(177, 138, 90, .12), transparent 32%),
    linear-gradient(180deg, #f4ebdc 0%, #f8f4ee 48%, var(--team-bg-ivory) 100%);
}

.page-shell--team-building .team-faq__inner {
  display: grid;
  grid-template-columns: minmax(320px, .42fr) minmax(0, .58fr);
  align-items: start;
  gap: clamp(54px, 6vw, 108px);
}

.page-shell--team-building .team-faq__heading {
  position: sticky;
  inset-block-start: 118px;
  display: grid;
  gap: 18px;
  max-inline-size: 620px;
}

.page-shell--team-building .team-faq__heading .section-heading__title {
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-size: clamp(42px, 4.8vw, 72px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: .98;
}

.page-shell--team-building .team-faq__intro {
  color: var(--team-text-secondary);
  font-size: 17px;
  line-height: 1.72;
}

.page-shell--team-building .team-faq__list {
  display: grid;
  gap: 12px;
}

.page-shell--team-building .team-faq__item {
  overflow: hidden;
  border: 1px solid rgba(177, 138, 90, .22);
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 16px 42px rgba(33, 25, 17, .055);
  transition:
    border-color .22s ease,
    background-color .22s ease,
    box-shadow .22s ease,
    transform .22s ease;
}

.page-shell--team-building .team-faq__item[open] {
  border-color: rgba(177, 138, 90, .42);
  background: rgba(255, 250, 244, .88);
  box-shadow: 0 22px 58px rgba(33, 25, 17, .09);
}

.page-shell--team-building .team-faq__item summary {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-block-size: 78px;
  padding: 24px 72px 24px 28px;
  color: var(--team-text-primary);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.01em;
  line-height: 1.32;
  list-style: none;
}

.page-shell--team-building .team-faq__item summary::-webkit-details-marker {
  display: none;
}

.page-shell--team-building .team-faq__item summary::after {
  content: "+";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-end: 26px;
  display: grid;
  place-items: center;
  inline-size: 30px;
  block-size: 30px;
  border: 1px solid rgba(177, 138, 90, .28);
  border-radius: 50%;
  color: var(--team-bronze-dark);
  font-family: var(--font-ui);
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  transform: translateY(-50%);
  transition:
    color .2s ease,
    background-color .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.page-shell--team-building .team-faq__item[open] summary::after {
  content: "–";
  border-color: rgba(177, 138, 90, .52);
  background: rgba(177, 138, 90, .1);
  transform: translateY(-50%) rotate(180deg);
}

.page-shell--team-building .team-faq__item summary:focus-visible {
  outline: var(--team-focus-ring);
  outline-offset: 4px;
  box-shadow: var(--team-focus-shadow);
}

.page-shell--team-building .team-faq__index {
  color: var(--team-bronze-dark);
  font-family: var(--font-kicker);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
}

.page-shell--team-building .team-faq__answer {
  padding: 0 72px 28px 74px;
}

.page-shell--team-building .team-faq__answer p {
  color: var(--team-text-secondary);
  font-size: 15.5px;
  line-height: 1.72;
}

@media (hover: hover) and (pointer: fine) {
  .page-shell--team-building .team-faq__item:hover {
    transform: translateY(-2px);
    border-color: rgba(177, 138, 90, .36);
    box-shadow: 0 18px 48px rgba(33, 25, 17, .075);
  }
}

@media (max-width: 1279px) {
  .page-shell--team-building .team-faq {
    padding-block: 88px 96px;
  }

  .page-shell--team-building .team-faq__inner {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .page-shell--team-building .team-faq__heading {
    position: relative;
    inset-block-start: auto;
    max-inline-size: 880px;
  }

  .page-shell--team-building .team-faq__heading .section-heading__title {
    font-size: clamp(42px, 6vw, 58px);
  }

  .page-shell--team-building .team-faq__list {
    max-inline-size: 920px;
  }
}

@media (max-width: 767px) {
  .page-shell--team-building .team-faq {
    padding-block: 62px 70px;
  }

  .page-shell--team-building .team-faq__inner {
    gap: 28px;
  }

  .page-shell--team-building .team-faq__heading {
    gap: 14px;
  }

  .page-shell--team-building .team-faq__heading .section-heading__title {
    font-size: clamp(36px, 10vw, 46px);
    line-height: 1.02;
  }

  .page-shell--team-building .team-faq__intro {
    font-size: 15.5px;
    line-height: 1.64;
  }

  .page-shell--team-building .team-faq__item {
    border-radius: 16px;
  }

  .page-shell--team-building .team-faq__item summary {
    grid-template-columns: 1fr;
    gap: 8px;
    min-block-size: 0;
    padding: 20px 58px 20px 20px;
    font-size: 15px;
    line-height: 1.34;
  }

  .page-shell--team-building .team-faq__item summary::after {
    inset-inline-end: 18px;
    inline-size: 28px;
    block-size: 28px;
    font-size: 18px;
  }

  .page-shell--team-building .team-faq__index {
    font-size: 11px;
  }

  .page-shell--team-building .team-faq__answer {
    padding: 0 20px 22px;
  }

  .page-shell--team-building .team-faq__answer p {
    font-size: 14.5px;
    line-height: 1.62;
  }
}

/* -------------------------------------------------------------------------- */
/* Team Building — estimation live mobile en notification viewport              */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/* Team Building — estimation live mobile/tablette en notification viewport     */
/* -------------------------------------------------------------------------- */

@media (max-width: 1279px) {
  .page-shell--team-building .team-quote-builder {
    grid-template-columns: 1fr;
  }

  .page-shell--team-building .team-quote-summary {
    position: fixed !important;
    inset-block-start: auto !important;
    inset-inline-start: 50% !important;
    inset-inline-end: auto !important;
    inset-block-end: calc(20px + env(safe-area-inset-bottom)) !important;

    z-index: 9999;
    inline-size: min(calc(100vw - 40px), 420px);
    max-inline-size: 420px;
    margin: 0 !important;
    order: initial !important;

    display: grid;
    gap: 9px;
    padding: 16px 18px;

    border: 1px solid rgba(213, 189, 152, .32);
    border-radius: 18px;
    background:
      radial-gradient(circle at 12% 0%, rgba(213, 189, 152, .2), transparent 34%),
      linear-gradient(135deg, rgba(17, 13, 9, .97) 0%, rgba(28, 20, 14, .97) 100%);
    color: var(--team-text-inverse);
    box-shadow: 0 24px 70px rgba(9, 8, 6, .34);
    backdrop-filter: blur(16px);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translate3d(-50%, 18px, 0) scale(.98);
    transition:
      opacity .18s ease,
      visibility .18s ease,
      transform .22s cubic-bezier(.22, 1, .36, 1);
  }

  .page-shell--team-building .team-quote-summary.is-mobile-flash {
    opacity: 1;
    visibility: visible;
    transform: translate3d(-50%, 0, 0) scale(1);
  }

  .page-shell--team-building .team-quote-summary__details,
  .page-shell--team-building .team-quote-summary__note {
    display: none !important;
  }

  .page-shell--team-building .team-quote-summary .eyebrow {
    color: var(--team-bronze-soft);
    font-size: 10px;
    letter-spacing: .12em;
  }

  .page-shell--team-building .team-quote-summary__price,
  .page-shell--team-building .team-quote-summary__total {
    font-size: 32px;
    line-height: .95;
  }

  .page-shell--team-building .team-quote-summary__mode {
    font-size: 12px;
    line-height: 1.35;
  }
}

/* Ordre des boutons uniquement sur mobile */
@media (max-width: 767px) {
  .page-shell--team-building .team-quote-wizard__footer {
    display: grid;
    gap: 14px;
    justify-content: stretch;
  }

  .page-shell--team-building .team-quote-wizard__footer .button {
    inline-size: 100%;
    justify-content: center;
  }

  .page-shell--team-building [data-quote-next] {
    order: 1;
  }

  .page-shell--team-building [data-quote-prev] {
    order: 2;
  }
}

@media print {
  @page {
    size: A4;
    margin: 14mm;
  }

  html,
  body {
    background: #fff !important;
  }

  body * {
    visibility: hidden !important;
  }

  .team-quote-print-document,
  .team-quote-print-document * {
    visibility: visible !important;
  }

  .team-quote-print-document {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    display: block !important;
    inline-size: 100% !important;
    background: #fff !important;
    color: #17110c !important;
  }

  .team-quote-document {
    display: grid !important;
    gap: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #17110c !important;
  }

  .team-quote-document__header,
  .team-quote-document__grid,
  .team-quote-document__footer {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .team-quote-document h3 {
    font-size: 24pt !important;
    line-height: 1.05 !important;
  }

  .team-quote-document h4 {
    font-size: 13pt !important;
    margin-block-end: 5px !important;
  }

  .team-quote-document p,
  .team-quote-document li,
  .team-quote-document td,
  .team-quote-document th {
    color: #17110c !important;
    font-size: 9.5pt !important;
    line-height: 1.35 !important;
  }

  .team-quote-document__section {
    padding-block-start: 9px !important;
    border-block-start: 1px solid #d7c5ad !important;
    break-inside: avoid;
  }

  .team-quote-document__table {
    inline-size: 100% !important;
    border-collapse: collapse !important;
  }

  .team-quote-document__table td,
  .team-quote-document__table th {
    padding: 6px 7px !important;
    border: 1px solid #e1d4c2 !important;
    background: #fff !important;
  }

  .team-quote-document__table tfoot th,
  .team-quote-document__table tfoot td {
    background: #17110c !important;
    color: #fff !important;
  }

  .team-quote-document__included {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3px 12px !important;
  }
}

/* -------------------------------------------------------------------------- */
/* Team Building — devis preview web : containment                             */
/* -------------------------------------------------------------------------- */

.page-shell--team-building .team-quote-builder,
.page-shell--team-building .team-quote-wizard,
.page-shell--team-building .team-quote-final,
.page-shell--team-building [data-quote-final-preview] {
  min-inline-size: 0;
}

.page-shell--team-building [data-quote-final-preview] {
  inline-size: 100%;
  max-inline-size: 100%;
  overflow: hidden;
}

.page-shell--team-building [data-quote-final-preview] .team-quote-document {
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  min-block-size: auto !important;
  margin-inline: 0;
  overflow: hidden;
}

.page-shell--team-building [data-quote-final-preview] .team-quote-document__header {
  grid-template-columns: minmax(0, 1fr) auto;
}

.page-shell--team-building [data-quote-final-preview] .team-quote-document__header,
.page-shell--team-building [data-quote-final-preview] .team-quote-document__head-main,
.page-shell--team-building [data-quote-final-preview] .team-quote-document__grid,
.page-shell--team-building [data-quote-final-preview] .team-quote-document__footer {
  min-inline-size: 0;
}

.page-shell--team-building [data-quote-final-preview] .team-quote-document__table {
  inline-size: 100%;
  max-inline-size: 100%;
  table-layout: fixed;
}

.page-shell--team-building [data-quote-final-preview] .team-quote-document__table td,
.page-shell--team-building [data-quote-final-preview] .team-quote-document__table th {
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.page-shell--team-building [data-quote-final-preview] .team-quote-document__table td:last-child,
.page-shell--team-building [data-quote-final-preview] .team-quote-document__table th:last-child {
  inline-size: 132px;
  white-space: nowrap;
}

.r {
	    text-align: center !important;
}
/* -------------------------------------------------------------------------- */
/* RESP-HERO-005 — Hero Team Building fluide laptop / desktop intermédiaire    */
/* Préserve le rendu 1920×1080 ; sécurise 1280×720 à 1600×900.                */
/* -------------------------------------------------------------------------- */

@media (min-width: 1024px) and (max-width: 1919px) {
  .team-hero {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    block-size: clamp(700px, 100vh, var(--team-section-hero-h));
    block-size: clamp(700px, 100svh, var(--team-section-hero-h));
  }

  .team-hero__inner {
    grid-row: 1;
    block-size: auto;
    min-block-size: 0;
  }

  .team-hero__copy {

  }

  .team-hero__eyebrow {
    margin-block-end: clamp(18px, 3vh, 32px);
    margin-block-end: clamp(18px, 3svh, 32px);
  }

  .team-hero__title {
    max-inline-size: clamp(520px, 44vw, 700px);
    font-size: clamp(50px, 4.4vw, 76px);
    line-height: 1.03;
  }

  .team-hero__text {
    max-inline-size: clamp(480px, 40vw, 636px);
    margin-block-start: clamp(16px, 2.8vh, 26px);
    margin-block-start: clamp(16px, 2.8svh, 26px);
    font-size: clamp(14.5px, 1vw, 17px);
    line-height: 1.58;
  }

  .team-hero .hero__actions,
  .team-hero__actions {
    gap: clamp(14px, 1.8vw, 26px);
    margin-block-start: clamp(22px, 3.8vh, 34px);
    margin-block-start: clamp(22px, 3.8svh, 34px);
  }

  .team-hero__media {
    inset-inline-start: calc((100vw - var(--team-container-desktop)) / 2 + clamp(660px, 55vw, 830px));
  }

  .team-hero::before {
    inset-inline-start: calc((100vw - var(--team-container-desktop)) / 2 + clamp(520px, 46vw, 650px));
    inline-size: clamp(260px, 24vw, 390px);
  }

  .page-shell--team-building .team-hero > .trust-strip {
    grid-row: 2;
    position: relative;
    inset: auto;
    z-index: 12;

  }

  .page-shell--team-building .team-hero > .trust-strip .trust-strip__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(6px, 1.2vw, 22px);
  }

  .page-shell--team-building .team-hero > .trust-strip .trust-item {
    gap: clamp(6px, 0.8vw, 12px);
    padding-inline: clamp(4px, 0.7vw, 10px);
  }

  .page-shell--team-building .team-hero > .trust-strip .trust-item__icon {
    inline-size: clamp(30px, 3vw, 40px);
    block-size: clamp(30px, 3vw, 40px);
  }

  .page-shell--team-building .team-hero > .trust-strip .trust-item__copy {
    font-size: clamp(10.5px, 0.85vw, 13px);
  }
}

@media (min-width: 1024px) and (max-width: 1919px) and (max-height: 950px) {
  .team-hero {
    block-size: clamp(650px, 100vh, 800px);
    block-size: clamp(650px, 100svh, 800px);
  }

  .team-hero__copy {

  }

  .team-hero__title {
    font-size: clamp(44px, 4.2vw, 62px);
  }

  .team-hero__text {
    line-height: 1.48;
  }

  .team-hero .hero__actions,
  .team-hero__actions {
    margin-block-start: 18px;
  }
}
@media (max-width: 1919px)  and (min-width: 1550px) {
	.team-hero__copy {
		margin-left: -15% !important;
		margin-top: 6% !important;
	}
	.page-shell--team-building :where(.button, .team-format-card__cta, .team-format-card__secondary, .discovery-footer a){
		text-align:center !important;
	}
	 .team-hero__title {
		 inline-size: 20ch !important;
	 }
	 .page-shell--team-building .team-hero > .trust-strip {
		 inset-block-end: 36px !important;
	 }
}

@media (max-width: 1550px)  and (min-width: 1199px) {
	.team-hero__copy {
		margin-left: -11%;
		margin-top: 8%;
	}
	.page-shell--team-building :where(.button, .team-format-card__cta, .team-format-card__secondary, .discovery-footer a){
		text-align:center;
	}
	 .team-hero__title {
		 inline-size: 20ch;
	 }
	 .page-shell--team-building .team-hero > .trust-strip {
		 inset-block-end: 36px !important;
	 }
}

@media (max-width: 1399px)  and (min-width: 1199px) {
	.team-hero__copy {
		margin-left: -15% !important;
		margin-top: 1% !important;
	}
	.page-shell--team-building :where(.button, .team-format-card__cta, .team-format-card__secondary, .discovery-footer a){
		text-align:center !important;
	}
	 .team-hero__title {
		 inline-size: 20ch !important;
	 }
	 .page-shell--team-building .team-hero > .trust-strip {
		 inset-block-end: 36px !important;
	 }
}
@media (max-width: 1023px) and (orientation: portrait) {
	.team-hero__copy{
		margin-left: 0;
	}
	.eyebrow{
		margin-top:-5%;
		color: #FFF !important;
		text-align: right !important;
	}
	 .team-hero__title {
		 font-size: 9vw !important;
	 }

}

@media (min-width:769px) AND (max-width:1023px){
  .fixHero{
    margin-top: 55%;
  }
}
/* Étape 33 — Demande initiale, affichage non contractuel */
.page-shell--team-building .team-quote-final__result {
  inline-size: 100%;
}

.page-shell--team-building .team-quote-request-result {
  display: grid;
  gap: 12px;
  margin-block-start: 8px;
  padding: 18px;
  border: 1px solid rgba(177, 138, 90, .24);
  border-radius: 18px;
  background: rgba(255, 250, 244, .78);
  color: var(--team-text-primary);
}

.page-shell--team-building .team-quote-request-result--success {
  border-color: rgba(95, 126, 85, .34);
  background: rgba(236, 243, 232, .74);
}

.page-shell--team-building .team-quote-request-result--error {
  border-color: rgba(150, 58, 44, .34);
  background: rgba(255, 240, 235, .78);
}

.page-shell--team-building .team-quote-request-result h4 {
  margin: 0;
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-size: 22px;
  line-height: 1.1;
}

.page-shell--team-building .team-quote-request-result p {
  margin: 0;
  color: var(--team-text-secondary);
  font-size: 14px;
  line-height: 1.55;
}

.page-shell--team-building .team-quote-request-result dl {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(177, 138, 90, .16);
  border-radius: 14px;
}

.page-shell--team-building .team-quote-request-result dl div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, .58);
}

.page-shell--team-building .team-quote-request-result dt,
.page-shell--team-building .team-quote-request-result dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
}

.page-shell--team-building .team-quote-request-result dt {
  color: var(--team-text-muted);
  font-weight: 700;
}

.page-shell--team-building .team-quote-request-result dd {
  color: var(--team-text-primary);
  font-weight: 800;
  text-align: right;
}

.page-shell--team-building .team-quote-request-result__note {
  font-weight: 700;
}

.page-shell--team-building .team-quote-resume-shell {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto 32px;
}

.page-shell--team-building .team-quote-resume-result {
  scroll-margin-top: 96px;
}

.page-shell--team-building .team-quote-resume-result h3 {
  margin: 0;
  color: var(--team-text-primary);
  font-family: var(--font-display);
  font-size: clamp(24px, 4vw, 34px);
  line-height: 1.05;
}

.page-shell--team-building .team-quote-resume-result__actions {
  display: grid;
  gap: 8px;
}

.page-shell--team-building .team-quote-resume-result__actions ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.page-shell--team-building .team-quote-resume-result__actions li {
  border: 1px solid rgba(177, 138, 90, .24);
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(255, 255, 255, .62);
  color: var(--team-text-primary);
  font-size: 12px;
  font-weight: 800;
}


/* Étape 35 — Acceptation devis teambuilding, sans paiement */
.page-shell--team-building .team-quote-resume-result__accept {
  display: grid;
  gap: 12px;
  margin-block-start: 4px;
  padding: 14px;
  border: 1px solid rgba(177, 138, 90, .2);
  border-radius: 16px;
  background: rgba(255, 255, 255, .58);
}

.page-shell--team-building .team-quote-resume-result__accept-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--team-text-primary);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.page-shell--team-building .team-quote-resume-result__accept-check input {
  margin-block-start: 3px;
  accent-color: var(--color-accent, #b18a5a);
}

.page-shell--team-building .team-quote-resume-result__accept-error {
  color: #963a2c;
  font-weight: 700;
}


/* Étape 36 — Paiement sur place teambuilding, sans WooCommerce */
.page-shell--team-building .team-quote-resume-result__pay-site {
  display: grid;
  gap: 12px;
  margin-block-start: 4px;
  padding: 14px;
  border: 1px solid rgba(177, 138, 90, .2);
  border-radius: 16px;
  background: rgba(255, 255, 255, .58);
}

.page-shell--team-building .team-quote-resume-result__pay-site-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--team-text-primary);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.page-shell--team-building .team-quote-resume-result__pay-site-check input {
  margin-block-start: 3px;
  accent-color: var(--color-accent, #b18a5a);
}

.page-shell--team-building .team-quote-resume-result__pay-site-error {
  color: #963a2c;
  font-weight: 700;
}

/* Étape 37 — Paiement en ligne teambuilding, redirection encadrée */
.page-shell--team-building .team-quote-resume-result__pay-online {
  display: grid;
  gap: 12px;
  margin-block-start: 4px;
  padding: 14px;
  border: 1px solid rgba(177, 138, 90, .2);
  border-radius: 16px;
  background: rgba(255, 255, 255, .58);
}

.page-shell--team-building .team-quote-resume-result__pay-online-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--team-text-primary);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.page-shell--team-building .team-quote-resume-result__pay-online-check input {
  margin-block-start: 3px;
  accent-color: var(--color-accent, #b18a5a);
}

.page-shell--team-building .team-quote-resume-result__pay-online-error {
  color: #963a2c;
  font-weight: 700;
}

.page-shell--team-building .team-quote-resume-result__status {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.page-shell--team-building .team-quote-resume-result__status-error {
  margin: 0.75rem 0 0;
  color: var(--color-danger, #f5a3a3);
}
