.concierge-page {
  overflow: hidden;
}

.concierge-page .section {
  position: relative;
}

.concierge-opening__grid,
.concierge-manifesto__grid,
.concierge-wine__grid,
.concierge-request__grid,
.concierge-closing__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.concierge-opening__copy {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 42.5rem;
}

.concierge-opening__copy .rule {
  margin-bottom: var(--space-3);
}

.concierge-opening__copy h1 {
  max-width: 47.5rem;
}

.concierge-opening__copy .lead {
  max-width: 42.5rem;
}

.concierge-opening__markers {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
  margin-bottom: var(--space-5);
  color: var(--color-espresso-charcoal);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.concierge-opening__markers span {
  display: inline-flex;
  min-width: 0;
  align-items: center;
}

.concierge-opening__markers span:not(:last-child)::after {
  width: 0.3125rem;
  height: 0.3125rem;
  margin-left: var(--space-3);
  border-radius: var(--radius-status);
  background: var(--color-polished-champagne);
  content: "";
}

.concierge-opening__actions .button {
  flex: 0 1 auto;
}

.concierge-opening__space {
  grid-column: 8 / span 5;
  min-width: 0;
}

.concierge-manifesto__figure {
  grid-column: 1 / span 7;
  min-width: 0;
  margin: 0;
}

.concierge-manifesto__figure img,
.concierge-wine__figure img,
.concierge-salon__figure img {
  width: 100%;
  max-width: 100%;
  object-fit: cover;
}

.concierge-manifesto__figure img {
  aspect-ratio: 3 / 2;
  object-position: center;
}

.concierge-manifesto__copy {
  grid-column: 9 / span 4;
  min-width: 0;
  max-width: 31.25rem;
}

.concierge-manifesto__facts {
  grid-column: 1 / -1;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin: var(--space-3) 0 0;
  padding: var(--space-5) 0;
  border-top: 1px solid var(--color-border-champagne);
  border-bottom: 1px solid var(--color-border);
}

.concierge-manifesto__facts article {
  position: relative;
  min-width: 0;
  padding-right: var(--space-5);
}

.concierge-manifesto__facts article:not(:last-child)::after {
  position: absolute;
  top: 0.45rem;
  right: 0;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: var(--radius-status);
  background: var(--color-polished-champagne);
  content: "";
}

.concierge-manifesto__facts p:last-child {
  max-width: 21rem;
  margin-bottom: 0;
}

.concierge-manifesto__closing {
  grid-column: 1 / span 7;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 35rem;
  margin-top: var(--space-2);
  padding: var(--space-5);
  background: var(--color-parisian-beige);
}

.concierge-manifesto__closing p {
  margin: 0;
  color: var(--color-espresso-charcoal);
  font-family: var(--font-serif);
  font-size: var(--font-size-lead);
  line-height: 1.35;
}

.concierge-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  min-width: 0;
  align-items: center;
  color: var(--color-espresso-charcoal);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.concierge-text-link::after {
  width: 2rem;
  height: 1px;
  margin-left: var(--space-2);
  background: var(--color-polished-champagne);
  content: "";
  transition: width var(--transition-standard);
}

.concierge-text-link:hover::after {
  width: 3rem;
}

.concierge-territories__heading {
  max-width: 37rem;
  margin-bottom: var(--space-7);
}

.concierge-territories__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.concierge-territory {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: 0 var(--space-5);
  border-left: 1px solid var(--color-border);
}

.concierge-territory:first-child {
  padding-left: 0;
  border-left: 0;
}

.concierge-territory p,
.concierge-territory h3 {
  margin: 0;
}

.concierge-territory h3 {
  font-size: var(--font-size-card-heading);
}

.concierge-territory--salon {
  padding: var(--space-5);
  border: 0;
  background: var(--color-champagne-block);
}

.concierge-territory .status {
  margin-top: auto;
}

.concierge-territories__bridge {
  max-width: 47.5rem;
  margin: var(--space-7) 0 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border-champagne);
  color: var(--color-espresso-charcoal);
  font-family: var(--font-serif);
  font-size: var(--font-size-lead);
  line-height: 1.35;
}

.concierge-occasions__intro {
  max-width: 35rem;
  margin-bottom: var(--space-7);
}

.concierge-occasions__timeline {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

.concierge-occasions__timeline::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 0.5px);
  width: 1px;
  background: var(--color-border-champagne);
  content: "";
}

.concierge-scenario {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: 0 var(--space-6);
}

.concierge-scenario--left {
  grid-column: 1 / span 5;
}

.concierge-scenario--right {
  grid-column: 8 / span 5;
}

.concierge-scenario h3,
.concierge-scenario p,
.concierge-scenario ul,
.concierge-scenario blockquote {
  margin: 0;
}

.concierge-scenario__number {
  color: var(--color-polished-champagne) !important;
  font-family: var(--font-serif);
  font-size: 2.5rem;
  line-height: 1;
}

.concierge-scenario ul {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding: 0;
  color: var(--color-warm-slate-taupe);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.concierge-scenario li {
  min-width: 0;
}

.concierge-scenario li:not(:last-child)::after {
  margin-left: var(--space-2);
  color: var(--color-polished-champagne);
  content: "·";
}

.concierge-scenario blockquote {
  padding: var(--space-4) 0 var(--space-4) var(--space-4);
  background: var(--color-parisian-beige);
}

.concierge-scenario--dark {
  padding: var(--space-5);
  background: var(--color-espresso-charcoal);
}

.concierge-scenario--dark .status {
  border-color: rgba(197, 160, 89, 0.6);
  background: rgba(250, 248, 245, 0.9);
}

.concierge-scenario--dark h3,
.concierge-scenario--dark p {
  color: var(--color-linen-ivory);
}

.concierge-wine__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 32.5rem;
}

.concierge-wine__figure {
  grid-column: 7 / span 6;
  min-width: 0;
  margin: 0;
}

.concierge-wine__figure img {
  min-height: 30rem;
  aspect-ratio: 4 / 3;
  object-position: center;
}

.concierge-wine__principles {
  grid-column: 1 / span 5;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-2);
}

.concierge-wine__principles article {
  display: grid;
  min-width: 0;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.concierge-wine__principles article > span {
  color: var(--color-polished-champagne);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.concierge-wine__principles h3,
.concierge-wine__principles p {
  margin: 0;
}

.concierge-wine__principles h3 {
  margin-bottom: var(--space-2);
  font-size: 1.5rem;
}

.concierge-wine__note {
  grid-column: 7 / span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  max-width: 26.25rem;
  margin-top: var(--space-6);
  padding: var(--space-4);
  border: 1px solid var(--color-border-champagne);
  background: var(--color-chalk-white);
}

.concierge-wine__note h3,
.concierge-wine__note p {
  margin: 0;
}

.concierge-wine__note h3 {
  font-size: var(--font-size-card-heading);
}

.concierge-salon__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 35rem;
  margin-bottom: var(--space-7);
}

.concierge-salon__intro h2,
.concierge-salon__intro p {
  margin: 0;
}

.concierge-salon__intro .lead {
  margin-top: var(--space-1);
}

.concierge-salon__figure {
  margin: 0 0 var(--space-7);
}

.concierge-salon__figure img {
  aspect-ratio: 16 / 9;
  object-position: center;
}

.concierge-salon__figure figcaption {
  max-width: 31rem;
  margin-left: auto;
  text-align: right;
}

.concierge-salon__lower {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.concierge-salon__context {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 38.75rem;
}

.concierge-salon__prepare {
  grid-column: 9 / span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-5);
  border: 1px solid var(--color-border-champagne);
  background: var(--color-chalk-white);
}

.concierge-salon__prepare h3,
.concierge-salon__prepare p,
.concierge-salon__prepare ul {
  margin: 0;
}

.concierge-salon__prepare h3 {
  font-size: var(--font-size-card-heading);
}

.concierge-salon__prepare ul {
  width: 100%;
  padding: 0;
  border-top: 1px solid var(--color-border);
}

.concierge-salon__prepare li {
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-espresso-charcoal);
}

.concierge-process__heading {
  max-width: 38.75rem;
  margin: 0 auto var(--space-7);
  text-align: center;
}

.concierge-process__steps {
  position: relative;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.concierge-process__steps::before {
  position: absolute;
  top: 2rem;
  right: 16.666%;
  left: 16.666%;
  height: 1px;
  background: var(--color-border-champagne);
  content: "";
}

.concierge-process__steps article {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding-right: var(--space-5);
}

.concierge-process__steps h3,
.concierge-process__steps p {
  margin: 0;
}

.concierge-process__number {
  position: relative;
  z-index: 1;
  width: fit-content;
  padding-right: var(--space-3);
  background: var(--color-champagne-block);
  color: var(--color-polished-champagne) !important;
  font-family: var(--font-serif);
  font-size: 3.5rem;
  line-height: 1;
}

.concierge-process__summary {
  max-width: 42rem;
  margin: var(--space-7) auto 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border-champagne);
  text-align: center;
}

.concierge-request__intro {
  grid-column: 1 / span 7;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 43.75rem;
}

.concierge-request__intro h2,
.concierge-request__intro p {
  margin: 0;
}

.concierge-form {
  grid-column: 1 / span 7;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 47.5rem;
  margin-top: var(--space-6);
}

.concierge-form__fields {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.concierge-form__field,
.concierge-form__detail {
  min-width: 0;
}

.concierge-form__field--full {
  grid-column: 1 / -1;
}

.concierge-form__field label,
.concierge-form__detail label {
  width: 100%;
}

.concierge-form__optional {
  color: var(--color-warm-slate-taupe);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: none;
}

.concierge-form__error {
  min-height: 1.25rem;
  margin: var(--space-1) 0 0;
  color: #8c3028;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.concierge-form__spaces {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-4);
  border-color: var(--color-border);
}

.concierge-form__checks {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.concierge-form__checks label {
  display: flex;
  min-width: 0;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  margin: 0;
  color: var(--color-espresso-charcoal);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.concierge-form__checks input {
  flex: 0 0 auto;
}

.concierge-form__checks span {
  min-width: 0;
}

.concierge-form__detail[hidden] {
  display: none;
}

.concierge-form__help,
.concierge-form__disclaimer {
  margin: 0;
  font-size: 0.875rem;
}

.concierge-form__disclaimer {
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.concierge-form__summary {
  padding: var(--space-3);
  border-left: 3px solid #8c3028;
  background: #fff3f1;
  color: #6e241f;
  font-weight: 650;
}

.concierge-request__help {
  grid-column: 9 / span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  align-self: start;
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--color-parisian-beige);
}

.concierge-request__help h3,
.concierge-request__help p,
.concierge-request__help ul {
  margin: 0;
}

.concierge-request__help h3 {
  font-size: var(--font-size-card-heading);
}

.concierge-request__help ul {
  width: 100%;
  padding: 0;
}

.concierge-request__help li {
  padding: var(--space-3) 0;
  border-top: 1px solid var(--color-border);
  color: var(--color-espresso-charcoal);
}

.concierge-closing__copy {
  grid-column: 2 / span 7;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 38.75rem;
}

.concierge-closing__copy h2,
.concierge-closing__copy p {
  margin: 0;
}

.concierge-closing__copy .eyebrow {
  color: var(--color-light-champagne);
}

.concierge-closing__support {
  color: rgba(250, 248, 245, 0.76) !important;
  font-size: 0.8125rem;
}

.concierge-closing__support span {
  margin: 0 var(--space-2);
  color: var(--color-light-champagne);
}

.concierge-closing__space {
  grid-column: 9 / span 4;
  min-width: 0;
}

@media (max-width: 979px) {
  .concierge-opening__grid,
  .concierge-manifesto__grid,
  .concierge-wine__grid,
  .concierge-request__grid,
  .concierge-closing__grid,
  .concierge-occasions__timeline,
  .concierge-salon__lower {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .concierge-opening__copy,
  .concierge-opening__space,
  .concierge-manifesto__figure,
  .concierge-manifesto__copy,
  .concierge-manifesto__facts,
  .concierge-manifesto__closing,
  .concierge-wine__copy,
  .concierge-wine__figure,
  .concierge-wine__principles,
  .concierge-wine__note,
  .concierge-request__intro,
  .concierge-form,
  .concierge-request__help,
  .concierge-closing__copy,
  .concierge-closing__space,
  .concierge-salon__context,
  .concierge-salon__prepare {
    grid-column: auto;
  }

  .concierge-opening__copy { grid-column: 1 / span 6; }
  .concierge-opening__space { display: none; }
  .concierge-manifesto__copy { grid-column: 1 / span 6; order: 1; max-width: 31.25rem; }
  .concierge-manifesto__figure { grid-column: 1 / span 6; order: 2; }
  .concierge-manifesto__facts { grid-column: 1 / span 6; order: 3; }
  .concierge-manifesto__closing { grid-column: 1 / span 6; order: 4; }
  .concierge-wine__copy { grid-column: 1 / span 6; }
  .concierge-wine__figure { grid-column: 1 / span 6; }
  .concierge-wine__principles { grid-column: 1 / span 6; max-width: 32.5rem; }
  .concierge-wine__note { grid-column: 1 / span 6; margin-top: 0; }
  .concierge-salon__context { grid-column: 1 / span 6; }
  .concierge-salon__prepare { grid-column: 1 / span 6; max-width: 32.5rem; }
  .concierge-request__intro { grid-column: 1 / span 6; }
  .concierge-form { grid-column: 1 / span 6; }
  .concierge-request__help { grid-column: 1 / span 6; max-width: 32.5rem; margin-top: 0; }
  .concierge-closing__copy { grid-column: 1 / span 6; }
  .concierge-closing__space { display: none; }

  .concierge-territories__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .concierge-territory,
  .concierge-territory:first-child {
    padding: 0;
    border-left: 0;
  }

  .concierge-territory--salon {
    grid-column: 1 / -1;
    padding: var(--space-5);
  }

  .concierge-occasions__timeline::before { display: none; }
  .concierge-scenario--left,
  .concierge-scenario--right { grid-column: 1 / span 6; padding: 0; }
  .concierge-scenario--dark { padding: var(--space-5); }

  .concierge-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .concierge-process__steps article:nth-child(3) { grid-column: 1 / -1; max-width: calc(50% - var(--space-5)); }
  .concierge-process__steps::before { display: none; }
}

@media (max-width: 719px) {
  .concierge-opening__grid,
  .concierge-manifesto__grid,
  .concierge-wine__grid,
  .concierge-request__grid,
  .concierge-closing__grid,
  .concierge-occasions__timeline,
  .concierge-salon__lower {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .concierge-opening__copy,
  .concierge-manifesto__copy,
  .concierge-manifesto__figure,
  .concierge-manifesto__facts,
  .concierge-manifesto__closing,
  .concierge-wine__copy,
  .concierge-wine__figure,
  .concierge-wine__principles,
  .concierge-wine__note,
  .concierge-salon__context,
  .concierge-salon__prepare,
  .concierge-request__intro,
  .concierge-form,
  .concierge-request__help,
  .concierge-closing__copy,
  .concierge-scenario--left,
  .concierge-scenario--right {
    grid-column: 1;
  }

  .concierge-opening__copy h1 { font-size: 2.75rem; }
  .concierge-opening__actions .button { width: min(100%, 22.5rem); }
  .concierge-opening__markers span:not(:last-child)::after { margin-left: var(--space-2); }

  .concierge-manifesto__figure img { aspect-ratio: 4 / 3; }
  .concierge-manifesto__facts {
    display: flex;
    overflow-x: auto;
    gap: var(--space-4);
    padding-bottom: var(--space-4);
    scroll-snap-type: x proximity;
  }

  .concierge-manifesto__facts article {
    min-width: 13.75rem;
    padding: 0;
    scroll-snap-align: start;
  }

  .concierge-manifesto__facts article:not(:last-child)::after { display: none; }
  .concierge-manifesto__closing { padding: var(--space-4); }

  .concierge-territories__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .concierge-territory { padding: var(--space-5) 0; border-top: 1px solid var(--color-border); }
  .concierge-territory--salon { padding: var(--space-4); margin-top: var(--space-4); }
  .concierge-territories__bridge { margin-top: var(--space-6); }

  .concierge-occasions__intro { margin-bottom: var(--space-6); }
  .concierge-scenario { padding: var(--space-5) 0; border-top: 1px solid var(--color-border); }
  .concierge-scenario--dark { padding: var(--space-4); border-top: 0; }

  .concierge-wine__figure img { min-height: 0; }
  .concierge-wine__note { padding: var(--space-4); }
  .concierge-salon__figure img { aspect-ratio: 4 / 3; }
  .concierge-salon__figure figcaption { margin-left: 0; text-align: left; }
  .concierge-salon__prepare { padding: var(--space-4); }

  .concierge-process__heading { margin-right: 0; margin-left: 0; text-align: left; }
  .concierge-process__steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .concierge-process__steps article,
  .concierge-process__steps article:nth-child(3) {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: var(--space-3);
    max-width: none;
    padding: var(--space-4) 0 0;
    border-top: 1px solid var(--color-border-champagne);
  }
  .concierge-process__number { grid-row: 1 / span 2; padding: 0; font-size: 2.5rem; }
  .concierge-process__steps h3 { align-self: end; }
  .concierge-process__steps article > p:last-child { grid-column: 2; }
  .concierge-process__summary { margin-top: var(--space-6); text-align: left; }

  .concierge-form { margin-top: var(--space-4); padding: var(--space-4); }
  .concierge-form__fields { grid-template-columns: minmax(0, 1fr); }
  .concierge-form__field--full { grid-column: 1; }
  .concierge-form__checks { grid-template-columns: minmax(0, 1fr); }
  .concierge-form__checks label { min-height: 2.75rem; }
  .concierge-form .button { width: 100%; }
  .concierge-request__help { padding: var(--space-4); }
  .concierge-closing__copy { padding-right: 0; }
  .concierge-closing__copy .button { width: min(100%, 22.5rem); }
  .concierge-closing__support span { margin: 0 var(--space-1); }
}

@media (prefers-reduced-motion: reduce) {
  .concierge-text-link::after { transition: none; }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }