/* Request a Piece — editorial folio, scoped to the request-a-piece route. */
body.maison-core-route-request-a-piece.maison-storefront-active {
  --request-paper: #f7f2ea;
  --request-paper-soft: #fcf9f4;
  --request-ink: #241b18;
  --request-muted: #716864;
  --request-line: rgba(72, 51, 40, .2);
  --request-wine: #65182b;
  --request-wine-deep: #4a101f;
  background: var(--request-paper);
  color: var(--request-ink);
}

body.maison-core-route-request-a-piece.maison-storefront-active #content.page-wrapper,
body.maison-core-route-request-a-piece.maison-storefront-active #content .row-main,
body.maison-core-route-request-a-piece.maison-storefront-active #content .row-main > .col,
body.maison-core-route-request-a-piece.maison-storefront-active #content .col-inner {
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

body.maison-core-route-request-a-piece.maison-storefront-active main.is-layout-constrained > .maison-content-context,
body.maison-core-route-request-a-piece.maison-storefront-active main.is-layout-constrained > .entry-content.alignfull,
body.maison-core-route-request-a-piece.maison-storefront-active main.is-layout-constrained > .wp-block-group.alignfull.is-layout-constrained,
body.maison-core-route-request-a-piece.maison-storefront-active main.is-layout-constrained > .wp-block-group.alignfull.is-layout-constrained .entry-content.alignfull,
body.maison-core-route-request-a-piece.maison-storefront-active .entry-content.alignfull > .maison-request-a-piece-folio {
  grid-column: 1 / -1;
  margin-inline: 0 !important;
  max-width: none !important;
  width: 100%;
}

body.maison-core-route-request-a-piece.maison-storefront-active main.is-layout-constrained > .wp-block-group.alignfull.is-layout-constrained,
body.maison-core-route-request-a-piece.maison-storefront-active main.is-layout-constrained > .wp-block-group.alignfull.is-layout-constrained .entry-content.alignfull {
  padding: 0 !important;
}

body.maison-core-route-request-a-piece.maison-storefront-active main.is-layout-constrained .wp-block-post-title {
  display: none;
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-content-context {
  background: var(--request-paper);
  border: 0;
  display: block;
  min-height: 0;
  padding: 0;
}

.maison-request-a-piece-shell {
  margin-inline: auto;
  max-width: 1480px;
  width: min(calc(100% - 64px), 1480px);
}

.maison-request-a-piece-hero {
  display: grid;
  grid-template-columns: minmax(0, 43fr) minmax(0, 57fr);
  min-height: clamp(490px, 42vw, 650px);
}

.maison-request-a-piece-hero__copy {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 570px;
  padding: clamp(52px, 6vw, 104px) clamp(32px, 5vw, 88px) clamp(52px, 6vw, 104px) 0;
}

.maison-request-a-piece-hero .maison-storefront-overline {
  margin: 0 0 20px;
  text-align: left;
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-hero h1 {
  color: var(--request-ink);
  font: 400 clamp(56px, 5.6vw, 84px) / .94 var(--f-serif);
  letter-spacing: -.045em;
  margin: 0;
  text-align: left;
}

.maison-request-a-piece-hero__rule {
  background: var(--request-wine);
  display: block;
  height: 1px;
  margin: clamp(28px, 3.4vw, 48px) 0 20px;
  width: 48px;
}

.maison-request-a-piece-hero__copy > p:last-child {
  color: var(--request-muted);
  font: 400 clamp(15px, 1.1vw, 17px) / 1.65 var(--f-sans);
  margin: 0;
  max-width: 35ch;
}

.maison-request-a-piece-hero__media {
  background: #daccc1;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.maison-request-a-piece-hero__media picture,
.maison-request-a-piece-hero__media img {
  display: block;
  height: 100%;
  width: 100%;
}

.maison-request-a-piece-hero__media img {
  object-fit: cover;
  object-position: 50% 54%;
}

.maison-request-a-piece-hero__media::after {
  background: linear-gradient(90deg, var(--request-paper) 0%, rgba(247, 242, 234, .82) 5%, rgba(247, 242, 234, 0) 26%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.maison-request-a-piece-form-frame {
  background: var(--request-paper-soft);
  border: 1px solid var(--request-line);
  box-shadow: 0 14px 36px rgba(50, 30, 20, .07);
  margin-top: clamp(-60px, -4.3vw, -42px);
  position: relative;
  z-index: 1;
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-workspace {
  border: 0;
  left: auto;
  margin: 0;
  padding: clamp(34px, 4.5vw, 64px);
  transform: none;
  width: 100%;
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-layout,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-form {
  max-width: none;
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-heading {
  border-bottom: 1px solid var(--request-line);
  margin-bottom: clamp(28px, 3vw, 44px);
  padding-bottom: clamp(24px, 2.7vw, 36px);
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-heading h2,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-channels h2 {
  color: var(--request-ink);
  font: 400 clamp(34px, 3vw, 48px) / .98 var(--f-serif);
  letter-spacing: -.035em;
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-heading p:last-child,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame label > span,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-folio > p,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-privacy,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-review p {
  color: var(--request-muted);
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame input,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame select,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame textarea {
  background: rgba(255, 255, 255, .35);
  border-color: var(--request-line);
  color: var(--request-ink);
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame input:focus,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame select:focus,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame textarea:focus {
  border-color: var(--request-wine);
  box-shadow: 0 0 0 2px rgba(101, 24, 43, .12);
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-folio {
  background: rgba(255, 255, 255, .22);
  border-color: var(--request-line);
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-dropzone,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-slot {
  border-color: var(--request-line);
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-dropzone button {
  background: var(--request-wine);
  border-color: var(--request-wine);
  color: var(--c-on-wine);
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-dropzone button:hover,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-dropzone button:focus-visible {
  background: var(--request-wine-deep);
  border-color: var(--request-wine-deep);
  color: var(--c-on-wine);
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-review button {
  background: var(--request-wine);
  border-color: var(--request-wine);
  min-height: 48px;
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-review button:hover,
body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-review button:focus-visible {
  background: var(--request-wine-deep);
  border-color: var(--request-wine-deep);
}

.maison-request-a-piece-channels {
  border-bottom: 1px solid var(--request-line);
  padding: clamp(56px, 7vw, 104px) 0;
}

.maison-request-a-piece-channels > .maison-request-a-piece-shell > .maison-storefront-overline,
.maison-request-a-piece-channels h2 {
  text-align: center;
}

.maison-request-a-piece-channels > .maison-request-a-piece-shell > .maison-storefront-overline {
  margin: 0 0 10px;
}

.maison-request-a-piece-channels h2 {
  margin: 0;
}

.maison-request-a-piece-channels__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: clamp(32px, 4vw, 52px);
}

.maison-request-a-piece-channel {
  align-items: flex-start;
  border: 1px solid var(--request-line);
  color: var(--request-ink);
  display: flex;
  gap: 20px;
  min-height: 170px;
  padding: clamp(24px, 2.6vw, 36px);
  text-decoration: none;
  transition: border-color var(--motion-fast), box-shadow var(--motion-fast), transform var(--motion-fast);
}

.maison-request-a-piece-channel:hover,
.maison-request-a-piece-channel:focus-visible {
  border-color: var(--request-wine);
  box-shadow: 0 10px 24px rgba(50, 30, 20, .06);
  color: var(--request-ink);
  transform: translateY(-2px);
}

.maison-request-a-piece-channel__icon {
  align-items: center;
  background: var(--request-wine);
  border-radius: 50%;
  color: var(--c-on-wine);
  display: inline-flex;
  flex: 0 0 46px;
  height: 46px;
  justify-content: center;
  width: 46px;
}

.maison-request-a-piece-channel__icon svg {
  fill: none;
  height: 24px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  width: 24px;
}

.maison-request-a-piece-channel__body {
  display: grid;
  gap: 8px;
}

.maison-request-a-piece-channel__body strong {
  font: 400 clamp(24px, 2vw, 31px) / 1 var(--f-serif);
}

.maison-request-a-piece-channel__body > span {
  color: var(--request-muted);
  font: 400 14px / 1.55 var(--f-sans);
}

.maison-request-a-piece-channel__body em {
  color: var(--request-wine);
  font: 600 11px / 1.2 var(--f-sans);
  font-style: normal;
  letter-spacing: .04em;
  margin-top: 10px;
  text-transform: uppercase;
}

.maison-request-a-piece-channel__body b {
  font-size: 16px;
  font-weight: 400;
  margin-left: 4px;
}

body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-folio :focus-visible {
  outline: 2px solid var(--request-wine);
  outline-offset: 3px;
}

@media (min-width: 1280px) {
  .maison-request-a-piece-hero__copy {
    padding-right: 32px;
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-hero h1 {
    font-size: clamp(64px, 4.7vw, 72px);
  }
}

@media (min-width: 768px) and (max-width: 1279px) {
  .maison-request-a-piece-shell {
    width: min(calc(100% - 48px), 1100px);
  }

  .maison-request-a-piece-hero {
    min-height: clamp(430px, 56vw, 560px);
  }

  .maison-request-a-piece-hero__copy {
    padding-right: clamp(24px, 3.8vw, 42px);
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-workspace {
    padding: clamp(28px, 4vw, 42px);
  }

  .maison-request-a-piece-channel {
    gap: 16px;
    min-height: 188px;
  }
}

@media (max-width: 767px) {
  .maison-request-a-piece-shell {
    width: calc(100% - 40px);
  }

  .maison-request-a-piece-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .maison-request-a-piece-hero__copy {
    min-height: 390px;
    padding: 56px 0 48px;
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-hero h1 {
    font-size: clamp(48px, 14vw, 62px);
  }

  .maison-request-a-piece-hero__media {
    aspect-ratio: 4 / 3;
  }

  .maison-request-a-piece-hero__media::after {
    background: linear-gradient(180deg, var(--request-paper) 0%, rgba(247, 242, 234, 0) 18%);
  }

  .maison-request-a-piece-hero__media img {
    object-position: 50% 38%;
  }

  .maison-request-a-piece-form-frame {
    border: 0;
    box-shadow: none;
    margin-inline: calc(50% - 50vw);
    margin-top: -18px;
    width: 100vw;
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-workspace {
    padding: 28px 20px 32px;
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-heading h2,
  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-channels h2 {
    font-size: clamp(32px, 9vw, 42px);
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-fields--contact,
  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-fields--piece {
    grid-template-columns: 1fr;
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-slots {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-dropzone > div {
    align-items: stretch;
    flex-direction: column;
  }

  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-dropzone button,
  body.maison-core-route-request-a-piece.maison-storefront-active .maison-request-a-piece-form-frame .maison-request-review button {
    min-height: 44px;
    width: 100%;
  }

  .maison-request-a-piece-channels {
    padding: 56px 0 64px;
  }

  .maison-request-a-piece-channels__grid {
    grid-template-columns: 1fr;
  }

  .maison-request-a-piece-channel {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .maison-request-a-piece-channel,
  .maison-request-a-piece-channel__body b {
    transition: none;
  }

  .maison-request-a-piece-channel:hover,
  .maison-request-a-piece-channel:focus-visible {
    transform: none;
  }
}
