/* ═══════════════════════════════════════════════════════════
   AS DÉCAP — Design System v3 · Patrimoine & Cuivre
   Bleu Nuit · Crème · Cuivre Antique · Fonte
═══════════════════════════════════════════════════════════ */

:root {
  /* Palette officielle */
  --ds-midnight:       #0F1A24;
  --ds-midnight-soft:  #162432;
  --ds-midnight-deep:  #0A1219;
  --ds-cast-iron:      #3A3A3A;
  --ds-taupe:          #BDB4A5;
  --ds-cream:          #F4F1EC;
  --ds-cream-light:    #FAF8F4;
  --ds-copper:         #B8734B;
  --ds-copper-light:   #D4954A;
  --ds-copper-dark:    #8F5A26;
  --ds-silver:         #A8A8A8;
  --ds-silver-light:   #C8CDD4;

  /* Alias compat */
  --ds-graphite:       var(--ds-midnight);
  --ds-graphite-soft:  var(--ds-midnight-soft);
  --ds-ivory:          var(--ds-cream);
  --ds-stone-white:    var(--ds-cream-light);
  --ds-warm-gray:      #E0DAD2;

  /* Texte */
  --ds-text-dark:      var(--ds-cast-iron);
  --ds-text-muted:     #6B6560;
  --ds-text-light:     rgba(255,255,255,0.88);
  --ds-text-light-muted: rgba(255,255,255,0.55);

  /* Typographie */
  --ds-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --ds-font-ui:      'Lato', system-ui, sans-serif;
  --ds-font-body:    'Lato', system-ui, sans-serif;
  --ds-font-cond:    'Lato', system-ui, sans-serif;

  /* Espacements */
  --ds-space-xs:  8px;
  --ds-space-sm:  16px;
  --ds-space-md:  24px;
  --ds-space-lg:  40px;
  --ds-space-xl:  64px;
  --ds-space-2xl: 100px;

  /* Rayons — coins nets, style premium */
  --ds-radius-sm:  0;
  --ds-radius-md:  0;
  --ds-radius-lg:  0;

  /* Ombres */
  --ds-shadow-sm:  0 4px 20px rgba(15,26,36,.08);
  --ds-shadow-md:  0 12px 40px rgba(15,26,36,.14);
  --ds-shadow-lg:  0 24px 64px rgba(15,26,36,.22);
  --ds-shadow-copper: 0 6px 24px rgba(184,115,75,.32);

  /* Layout */
  --ds-max: 1240px;
  --ds-promo-h: 0px;
  --ds-gbar-h: 36px;
  --ds-nav-h: 80px;
  --ds-sticky-h: 64px;
  --ds-logo-band-h: 128px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body.ds-body {
  font-family: var(--ds-font-body);
  font-weight: 400;
  background: var(--ds-cream-light);
  color: var(--ds-text-dark);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  animation: ds-page-fadein .22s ease both;
}
@keyframes ds-page-fadein {
  from { opacity: 0; }
  to   { opacity: 1; }
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }

/* Accessibilité : focus clavier visible (WCAG 2.4.7) — ne s'affiche qu'au clavier */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid var(--ds-copper);
  outline-offset: 2px;
  border-radius: 2px;
}

.ds-container { max-width: var(--ds-max); margin: 0 auto; padding: 0 clamp(20px, 5vw, 60px); }
.ds-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* ── Bandeau maquette ── */
.ds-preview-bar {
  background: var(--ds-copper);
  color: #fff;
  text-align: center;
  font-family: var(--ds-font-ui);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 8px 16px;
}

/* ── Ornements ── */
.ds-ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: var(--ds-space-lg) 0;
  color: var(--ds-copper);
}
.ds-ornament::before,
.ds-ornament::after {
  content: '';
  flex: 1;
  max-width: 120px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--ds-copper), transparent);
}
.ds-ornament__fleur {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* ── Sections ── */
.ds-section { padding: var(--ds-space-2xl) 0; }
.ds-section--dark  { background: var(--ds-midnight); color: var(--ds-text-light); }
.ds-section--ivory { background: var(--ds-cream); color: var(--ds-text-dark); }
.ds-section--light { background: var(--ds-cream-light); color: var(--ds-text-dark); }
.ds-section--taupe { background: var(--ds-taupe); color: var(--ds-midnight); }

/* ── Tags & titres ── */
.ds-tag {
  display: inline-block;
  font-family: var(--ds-font-ui);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--ds-copper);
  margin-bottom: var(--ds-space-md);
}
.ds-tag::before { display: none; }

.ds-title {
  font-family: var(--ds-font-display);
  font-weight: 600;
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  line-height: 1.12;
  letter-spacing: -.01em;
}
.ds-title em { font-style: italic; color: var(--ds-copper); }
.ds-section--dark .ds-title { color: #fff; }
.ds-lead {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ds-text-muted);
  max-width: 52ch;
  margin-top: var(--ds-space-sm);
}
.ds-section--dark .ds-lead { color: var(--ds-text-light-muted); }

.ds-section-head { margin-bottom: var(--ds-space-xl); max-width: 680px; }
.ds-section-head--center { text-align: center; margin-left: auto; margin-right: auto; }

/* ── Boutons ── */
.ds-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 32px;
  font-family: var(--ds-font-ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: var(--ds-radius-sm);
  transition: background .25s, color .25s, border-color .25s, transform .15s;
  white-space: nowrap;
}
.ds-btn:active { transform: scale(.98); }

.ds-btn--primary {
  background: var(--ds-copper);
  color: #fff;
  border: 2px solid var(--ds-copper);
}
.ds-btn--primary:hover { background: var(--ds-copper-dark); border-color: var(--ds-copper-dark); }

.ds-btn--secondary {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,.45);
}
.ds-btn--secondary:hover { border-color: #fff; background: rgba(255,255,255,.06); }

.ds-btn--outline {
  background: transparent;
  color: var(--ds-copper);
  border: 2px solid var(--ds-copper);
}
.ds-btn--outline:hover { background: var(--ds-copper); color: #fff; }

.ds-btn--outline-dark {
  background: transparent;
  color: var(--ds-text-dark);
  border: 2px solid var(--ds-warm-gray);
}
.ds-btn--outline-dark:hover { border-color: var(--ds-copper); color: var(--ds-copper); }

.ds-btn--ghost {
  color: var(--ds-copper);
  padding: 0;
  min-height: auto;
  text-transform: none;
  letter-spacing: .02em;
  font-size: .92rem;
  font-weight: 400;
}
.ds-btn--ghost:hover { color: var(--ds-copper-dark); }

/* ── Cartes ── */
.ds-card {
  background: #fff;
  border: 1px solid var(--ds-warm-gray);
  padding: var(--ds-space-lg) var(--ds-space-md);
  transition: transform .25s, box-shadow .25s, border-color .25s;
}
.ds-card:hover { transform: translateY(-3px); box-shadow: var(--ds-shadow-md); border-color: rgba(184,115,75,.35); }

.ds-card--dark {
  background: var(--ds-midnight-soft);
  border-color: rgba(255,255,255,.08);
}
.ds-card--dark:hover { border-color: rgba(184,115,75,.45); }

.ds-card__icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ds-copper);
  margin-bottom: var(--ds-space-md);
}
.ds-card__icon svg { width: 28px; height: 28px; stroke-width: 1.2; }

.ds-card__title {
  font-family: var(--ds-font-display);
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.ds-card__text {
  font-size: .88rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--ds-text-muted);
}
.ds-section--dark .ds-card__text { color: var(--ds-text-light-muted); }

/* ── Grilles ── */
.ds-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ds-space-md); }
.ds-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ds-space-md); }
.ds-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ds-space-md); }
.ds-grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--ds-space-sm); }

/* ── Nav premium ── */
.ds-header {
  position: fixed;
  top: calc(var(--ds-promo-h) + var(--ds-gbar-h));
  left: 0;
  right: 0;
  width: 100%;
  z-index: 900;
  background: rgba(15,26,36,.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(184,115,75,.18);
  transition: top .3s, background .3s, box-shadow .3s;
}
.ds-header.is-scrolled {
  top: calc(var(--ds-promo-h) + var(--ds-gbar-h));
  background: rgba(15,26,36,.98);
  box-shadow: 0 4px 24px rgba(0,0,0,.2);
}

.ds-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 clamp(16px, 3vw, 48px);
  height: var(--ds-nav-h);
  background: transparent;
  border-bottom: none;
}

.ds-nav__brand {
  display: flex;
  align-items: center;
  gap: 10px 14px;
  flex-shrink: 0;
  min-width: 0;
}
.ds-nav__brand-icon {
  flex-shrink: 0;
  color: var(--ds-copper-light);
}
.ds-nav__brand .ds-nav__phone,
.ds-nav__brand .ds-nav__email {
  display: none;
  align-items: center;
  gap: 6px;
  font-family: var(--ds-font-ui);
  font-size: .74rem;
  font-weight: 600;
  color: var(--ds-copper-light);
  white-space: nowrap;
  padding: 6px 10px;
  border: 1px solid rgba(184,115,75,.35);
  border-radius: 2px;
  transition: background .2s, color .2s, border-color .2s;
  flex-shrink: 0;
}
.ds-nav__brand .ds-nav__phone:hover,
.ds-nav__brand .ds-nav__email:hover {
  background: rgba(184,115,75,.15);
  color: #fff;
  border-color: rgba(184,115,75,.55);
}
.ds-nav__brand .ds-nav__email-text {
  max-width: none;
  opacity: 1;
  overflow: visible;
}
.ds-logo {
  display: flex;
  align-items: center;
  color: #fff;
  flex-shrink: 0;
  line-height: 0;
  transition: opacity .2s;
}
.ds-logo:hover { opacity: .86; }
/* Footer — logo SVG */
.ds-logo svg,
.ds-logo__svg,
.ds-logo__img,
.ds-logo img {
  height: auto;
  max-height: 50px;
  width: auto;
  max-width: min(220px, 60vw);
  object-fit: contain;
}
.ds-logo--footer .ds-logo__svg,
.ds-logo--footer .ds-logo__img,
.ds-logo--footer img {
  max-height: 60px;
  max-width: min(260px, 70vw);
}
@media (min-width: 769px) {
  .ds-logo svg,
  .ds-logo__svg,
  .ds-logo__img,
  .ds-logo img {
    max-height: 56px;
    max-width: min(260px, 40vw);
  }
  .ds-logo--footer .ds-logo__svg,
  .ds-logo--footer .ds-logo__img,
  .ds-logo--footer img {
    max-height: 66px;
    max-width: min(300px, 60vw);
  }
}

/* Bandeau logo premium — sous le header fixe */
.ds-logo-band {
  position: fixed;
  top: calc(var(--ds-promo-h) + var(--ds-gbar-h) + var(--ds-nav-h));
  left: 0;
  right: 0;
  z-index: 898;
  height: var(--ds-logo-band-h);
  /* Fond opaque correspondant exactement au fond du logo source (rgb(25,35,44)) */
  background: rgb(25,35,44);
  border-bottom: none;
  display: flex;
  align-items: center;
  transition: top .3s;
}
.ds-logo-band__inner {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 clamp(16px, 3vw, 48px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.ds-logo-band__link {
  display: flex;
  align-items: center;
  line-height: 0;
  transition: opacity .2s;
}
.ds-logo-band__link:hover { opacity: .86; }
.ds-logo-band__picture {
  display: block;
  line-height: 0;
}
.ds-logo-band__img {
  display: block;
  height: auto;
  max-height: 100px;
  width: auto;
  max-width: min(260px, 80vw);
  object-fit: contain;
  object-position: left center;
}
@media (min-width: 992px) {
  .ds-logo-band__img {
    max-height: 100px;
    max-width: min(300px, 42vw);
  }
}
@media (min-width: 1280px) {
  .ds-logo-band__img {
    max-height: 110px;
    max-width: min(320px, 28vw);
  }
}
@media (max-width: 768px) {
  .ds-logo-band__img {
    max-height: 60px;
    max-width: min(260px, 80vw);
    object-fit: contain;
    object-position: left center;
  }
}

.ds-nav__phone {
  display: none;
}
.ds-nav__phone:hover {
  background: rgba(184,115,75,.15);
  color: #fff;
}

.ds-nav__links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  gap: clamp(10px, 1.1vw, 18px);
  list-style: none;
  min-width: 0;
  flex-wrap: nowrap;
}
.ds-nav__links > li { position: relative; flex-shrink: 0; }
.ds-nav__links a,
.ds-nav__dropdown-btn {
  font-family: var(--ds-font-ui);
  font-size: clamp(.58rem, .72vw, .66rem);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
  transition: color .2s;
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  white-space: nowrap;
}
.ds-nav__links a::after,
.ds-nav__dropdown-btn::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--ds-copper);
  transform: scaleX(0);
  transition: transform .25s;
}
.ds-nav__links a:hover,
.ds-nav__dropdown-btn:hover { color: #fff; }
.ds-nav__links a:hover::after,
.ds-nav__dropdown-btn:hover::after,
.ds-nav__dropdown.is-open .ds-nav__dropdown-btn::after { transform: scaleX(1); }

.ds-nav__full { display: none; }
.ds-nav__abbr { display: inline; }

.ds-nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  min-width: 220px;
  padding: 10px 0;
  background: rgba(15,26,36,.98);
  border: 1px solid rgba(184,115,75,.25);
  box-shadow: 0 16px 40px rgba(0,0,0,.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s, transform .2s, visibility .2s;
  z-index: 910;
}
.ds-nav__dropdown.is-open .ds-nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
.ds-nav__dropdown-menu a {
  display: block;
  padding: 10px 18px;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: none;
  font-weight: 500;
  color: rgba(255,255,255,.8);
}
.ds-nav__dropdown-menu a::after { display: none; }
.ds-nav__dropdown-menu a:hover {
  background: rgba(184,115,75,.12);
  color: #fff;
}
.ds-nav__dropdown-label {
  display: block;
  padding: 12px 18px 6px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ds-copper);
  border-top: 1px solid rgba(255,255,255,.06);
  margin-top: 6px;
}

.ds-nav__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.ds-nav__email {
  display: none;
  align-items: center;
  gap: 6px;
  font-family: var(--ds-font-ui);
  font-size: .72rem;
  font-weight: 500;
  color: rgba(255,255,255,.75);
  max-width: none;
  overflow: visible;
  white-space: nowrap;
  transition: color .2s;
}
.ds-nav__email-icon {
  flex-shrink: 0;
  color: var(--ds-copper-light);
}
.ds-nav__email-text {
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-width .3s ease, opacity .25s ease;
}
.ds-nav__email:hover,
.ds-nav__email:focus-visible {
  color: #fff;
}
.ds-nav__email:hover .ds-nav__email-text,
.ds-nav__email:focus-visible .ds-nav__email-text {
  max-width: 180px;
  opacity: 1;
}
.ds-btn--nav {
  min-height: 40px;
  padding: 0 18px;
  font-size: .6rem;
  letter-spacing: .1em;
  flex-shrink: 0;
  border-radius: 2px;
  box-shadow: var(--ds-shadow-copper);
}
.ds-nav__tel {
  font-family: var(--ds-font-ui);
  font-size: .82rem;
  font-weight: 700;
  color: #fff;
  display: none;
}
.ds-nav__tel:hover { color: var(--ds-copper-light); }

.ds-burger {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
}
.ds-burger span {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
  transition: transform .25s, opacity .25s;
}
.ds-burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ds-burger.is-open span:nth-child(2) { opacity: 0; }
.ds-burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.ds-mobile-menu {
  display: none;
  position: fixed;
  inset: calc(var(--ds-promo-h) + var(--ds-gbar-h) + var(--ds-nav-h) + var(--ds-logo-band-h)) 0 0 0;
  background: var(--ds-midnight);
  padding: 20px 24px 32px;
  overflow-y: auto;
  z-index: 899;
  flex-direction: column;
  gap: 2px;
}
.ds-mobile-menu.is-open { display: flex; }
.ds-mobile-menu__contact {
  font-weight: 700;
  color: var(--ds-copper-light) !important;
  border-bottom: 1px solid rgba(184,115,75,.25);
  margin-bottom: 8px;
}
.ds-mobile-menu__label {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ds-copper);
  padding: 16px 0 8px;
  margin-top: 8px;
}
.ds-mobile-menu a {
  font-family: var(--ds-font-ui);
  font-size: .95rem;
  font-weight: 500;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
  color: rgba(255,255,255,.85);
}
.ds-mobile-menu .ds-btn { margin-top: 16px; width: 100%; }

/* ── Sticky mobile ── */
.ds-sticky-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 950;
  background: var(--ds-midnight);
  border-top: 1px solid rgba(184,115,75,.25);
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  gap: 10px;
}
.ds-sticky-bar .ds-btn { flex: 1; min-height: 44px; font-size: .68rem; padding: 0 12px; }

/* ── FAQ ── */
.ds-faq { border-top: 1px solid var(--ds-warm-gray); }
.ds-faq__item { border-bottom: 1px solid var(--ds-warm-gray); }
.ds-faq__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 0;
  text-align: left;
  font-family: var(--ds-font-display);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ds-text-dark);
}
.ds-faq__icon {
  width: 28px;
  height: 28px;
  border: 1px solid var(--ds-copper);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform .25s, background .25s;
  color: var(--ds-copper);
  font-size: 1.1rem;
}
.ds-faq__item.is-open .ds-faq__icon { transform: rotate(45deg); background: rgba(184,115,75,.1); }
.ds-faq__answer { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.ds-faq__item.is-open .ds-faq__answer { max-height: 300px; }
.ds-faq__answer p { padding-bottom: 22px; font-size: .92rem; font-weight: 300; line-height: 1.75; color: var(--ds-text-muted); }
.ds-faq__answer p + p { padding-top: 0; margin-top: -6px; }
.ds-faq__item--fiscal { border-left: 3px solid var(--ds-copper); padding-left: 14px; background: rgba(184,115,75,.05); }
.ds-faq__item--fiscal .ds-faq__btn { color: var(--ds-copper-dark); }
.ds-faq__item--fiscal.is-open .ds-faq__answer { max-height: 900px; }

/* ── Reveal ── */
.ds-reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
.ds-reveal.is-visible { opacity: 1; transform: none; }

/* ── Responsive ── */
@media (max-width: 991px) {
  .ds-nav { gap: 10px; }
  .ds-nav__links { display: none; }
  .ds-nav__brand .ds-nav__phone,
  .ds-nav__brand .ds-nav__email { display: none; }
  .ds-burger { display: flex; }
  .ds-grid-5 { grid-template-columns: repeat(3, 1fr); }
}

@media (min-width: 992px) and (max-width: 1279px) {
  .ds-nav__links { gap: clamp(6px, 0.75vw, 12px); }
  .ds-nav__brand .ds-nav__phone { display: inline-flex; }
  .ds-nav__brand .ds-nav__email { display: none; }
}

@media (min-width: 992px) {
  .ds-nav__links { display: flex; }
  .ds-burger { display: none; }
}

@media (min-width: 1280px) {
  .ds-nav__brand .ds-nav__phone,
  .ds-nav__brand .ds-nav__email { display: inline-flex; }
  .ds-nav { padding: 0 clamp(24px, 4vw, 56px); }
  .ds-nav__full { display: inline; }
  .ds-nav__abbr { display: none; }
  .ds-logo-band__inner { padding: 0 clamp(24px, 4vw, 56px); }
}

@media (max-width: 768px) {
  :root { --ds-logo-band-h: 80px; }
}

@media (max-width: 1024px) {
  .ds-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .ds-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .ds-section { padding: 72px 0; }
}

@media (max-width: 768px) {
  .ds-grid-2, .ds-grid-3, .ds-grid-4, .ds-grid-5 { grid-template-columns: 1fr; }
  .ds-sticky-bar { display: flex; }
  body.ds-body { padding-bottom: calc(var(--ds-sticky-h) + env(safe-area-inset-bottom)); }
  .ds-header { top: calc(var(--ds-promo-h) + var(--ds-gbar-h)); }
  .ds-preview-bar { font-size: .62rem; padding: 6px 12px; }
}

@media (min-width: 992px) and (max-width: 1279px) {
  :root { --ds-logo-band-h: 120px; }
}

@media (min-width: 769px) and (max-width: 991px) {
  .ds-nav__brand .ds-nav__phone { display: inline-flex; font-size: .68rem; padding: 5px 8px; }
}
