@charset "UTF-8";

/* Version 3: the continuation has its own compositions, not repeated rules. */
.editorial-product, .editorial-partner, .editorial-company, .editorial-contact { overflow: clip; }
.editorial-product > .wrap, .editorial-partner > .wrap, .editorial-company > .wrap, .editorial-contact > .wrap {
  width: 86%; max-width: 1480px;
}
.editorial-link { border: 0; justify-content: flex-start; gap: 26px; width: fit-content; font-size: 14px; letter-spacing: .04em; }
.editorial-link .arrow { flex-basis: 25px; }

/* Product: photograph first, a sheet of dimensions sits across its edge. */
.editorial-product { background: #fff; padding-top: clamp(72px, 8vw, 144px); padding-bottom: clamp(100px, 10vw, 180px); }
.editorial-product .section-heading { min-height: 100px; margin: 0 0 3.5vw; align-items: end; }
.editorial-product .section-heading h2 { position: relative; z-index: 1; font-size: clamp(28px, 2.8vw, 46px); }
.editorial-product .section-word { font-size: clamp(70px, 13.8vw, 230px); line-height: .8; letter-spacing: -.065em; margin-right: -2vw; }
.editorial-product .product-layout { grid-template-columns: 65% 35%; align-items: center; gap: 0; }
.editorial-product .product-photo { margin-left: -8.14%; }
.editorial-product .product-photo img { width: 100%; aspect-ratio: 1.27; object-position: 48% 60%; }
.editorial-product .product-info { position: relative; z-index: 1; margin: 6vw 0 0 -6vw; padding: clamp(30px, 3.7vw, 64px); background: #f0eee7; }
.editorial-product .product-info > .eyebrow { margin-bottom: 28px; font-family: var(--sans); font-size: 12px; letter-spacing: .16em; }
.editorial-product .product-info dl > div { display: block; border: 0; padding: 0; }
.editorial-product .product-info dl > div + div { margin-top: 30px; }
.editorial-product .product-info dt { font-size: 12px; letter-spacing: .09em; font-weight: 500; }
.editorial-product .product-info dd { margin-top: 4px; line-height: 1.05; letter-spacing: -.045em; }
.editorial-product .product-info dd b { font-size: clamp(58px, 6.4vw, 108px); font-weight: 400; }
.editorial-product .product-info dd b span { font-size: 14px; letter-spacing: 0; margin-left: 10px; }
.editorial-product .product-info > small { max-width: 27em; font-size: 11px; line-height: 1.9; margin-top: 26px; }
.product-notes { width: 84%; margin: 46px auto 0; }
.product-notes dl { display: grid; grid-template-columns: 1fr 1.25fr; column-gap: 7vw; }
.product-notes dt { font-size: 14px; font-weight: 700; margin-bottom: 14px; }
.product-notes dd { font-size: clamp(13px, 1.05vw, 17px); line-height: 1.9; }
.product-notes .editorial-link { margin: 26px 0 0 auto; }

/* Professionals: unequal photographic compositions; materials are the focus. */
.editorial-partner { background: #eae6dc; padding-block: clamp(80px, 8.5vw, 150px); }
.editorial-partner .partner-heading { align-items: start; gap: 6vw; margin-bottom: 0; }
.editorial-partner .partner-heading > div { padding-top: 12px; }
.editorial-partner .partner-heading .eyebrow { font-size: 11px; letter-spacing: .15em; margin-bottom: 18px; }
.editorial-partner .partner-heading h2 { font-size: clamp(20px, 1.8vw, 30px); letter-spacing: .06em; }
.editorial-partner .partner-heading > p { width: 57%; margin: 0; font-size: clamp(38px, 4.9vw, 80px); line-height: 1.55; letter-spacing: .075em; }
.editorial-partner .partner-options { grid-template-columns: 36% 54%; gap: 10%; align-items: start; margin-top: 5vw; }
.editorial-partner .partner-options article { display: block; padding: 0; border: 0; background: none; min-width: 0; }
.editorial-partner .partner-options .option-delegated { margin-top: 11vw; }
.partner-photo { overflow: hidden; }
.partner-photo img { width: 100%; object-fit: cover; }
.option-delegated .partner-photo img { aspect-ratio: 1.05; object-position: 45% center; }
.option-primary .partner-photo img { aspect-ratio: 1.55; object-position: center; }
.editorial-partner .partner-options .option-copy { position: relative; display: block; padding: 40px 0 0 52px; }
.editorial-partner .option-letter { position: absolute; left: -12px; top: -43px; font-size: clamp(90px, 8.7vw, 145px); line-height: 1; font-weight: 500; color: #fff; }
.editorial-partner .partner-options h3 { position: relative; font-size: clamp(22px, 2vw, 34px); margin: 0 0 20px; letter-spacing: .045em; }
.editorial-partner .partner-options p { max-width: 31em; font-size: clamp(13px, 1.05vw, 17px); line-height: 2; letter-spacing: .045em; }
.editorial-partner .partner-options .text-link { margin-top: 20px; padding: 12px 0; width: fit-content; font-size: 13px; }
.editorial-partner .partner-contact { justify-content: flex-end; flex-wrap: wrap; gap: 28px 42px; margin-top: 74px; }
.editorial-partner .partner-form { flex: 0 1 340px; padding: 24px 26px; background: #fff; font-size: 14px; }
.editorial-partner .partner-contact > a:not(.partner-line) { font-size: clamp(17px, 1.4vw, 23px); }
.editorial-partner .partner-contact small { margin-top: 7px; }
.editorial-partner .partner-line { border: 0; font-size: 12px; }

/* Company: a tall, tactile image and typography held together with whitespace. */
.editorial-company { border: 0; padding-block: clamp(100px, 11vw, 190px) clamp(80px, 8vw, 140px); }
.editorial-company .company-layout { grid-template-columns: 44% 44%; gap: 40px 12%; align-items: start; }
.company-content { grid-column: 2; grid-row: 1 / span 2; }
.company-photo { position: relative; grid-column: 1; grid-row: 1; margin-top: 100px; }
.company-photo img { width: 100%; aspect-ratio: .8; object-fit: cover; object-position: 65% center; }
.company-photo-word { position: absolute; bottom: 24px; left: 22px; color: #fff; font-family: var(--latin); font-size: clamp(36px, 5.7vw, 96px); font-weight: 500; line-height: 1; letter-spacing: -.06em; }
.editorial-company .company-heading { grid-column: 2; grid-row: 1; position: relative; }
.editorial-company .big-label { font-size: clamp(56px, 7.9vw, 130px); letter-spacing: -.055em; margin-bottom: 32px; margin-left: -4vw; }
.editorial-company h2 { font-size: clamp(38px, 4.1vw, 68px); line-height: 1.6; letter-spacing: .12em; }
.editorial-company .company-intro { font-size: clamp(14px, 1.1vw, 18px); line-height: 2.1; margin-top: 36px; }
.editorial-company .company-sign { grid-column: 1; grid-row: 2; margin: 8px 0 0 14%; }
.editorial-company .company-sign img { width: clamp(140px, 17vw, 245px); }
.editorial-company .company-sign span { font-size: 9px; margin-top: 12px; }
.editorial-company .company-info { padding: 0; margin-top: 60px; }
.editorial-company .company-info h3 { font-size: 20px; margin-bottom: 28px; }
.editorial-company .company-info dl > div { grid-template-columns: 56px 1fr; border: 0; padding: 0; gap: 18px; font-size: 13px; }
.editorial-company .company-info dl > div + div { margin-top: 24px; }
.editorial-company .company-info dt { font-size: 11px; color: var(--muted); padding-top: 2px; }
.editorial-company .company-info small, .editorial-company .showroom-note { font-size: 10px; line-height: 1.8; }
.editorial-company .company-info .editorial-link { margin-top: 26px; font-size: 13px; }

/* A short news interlude instead of another oversized chapter. */
.editorial-news { width: 72%; max-width: 1220px; padding: 20px 0 clamp(100px, 10vw, 170px); grid-template-columns: 1fr 1.5fr; gap: 8vw; }
.editorial-news > div:first-child { display: flex; align-items: baseline; flex-wrap: wrap; gap: 14px 28px; }
.editorial-news .big-label { font-size: 44px; margin: 0; letter-spacing: -.025em; }
.editorial-news h2 { font-size: 16px; letter-spacing: .04em; }
.editorial-news .news-empty { border: 0; padding: 0; }
.editorial-news .news-empty .eyebrow { font-size: 9px; letter-spacing: .1em; }
.editorial-news .news-empty p { font-size: 13px; margin-top: 10px; }

/* Contact: return to the garden. The white contact sheet crosses the photo edge. */
.editorial-contact { background: #fff; position: relative; isolation: isolate; padding: 0; }
.contact-photo { position: absolute; z-index: -2; inset: 0 0 70px; background: #32312c; overflow: hidden; }
.contact-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 68%; }
.contact-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16, 20, 19, .61), rgba(16, 20, 19, .18) 80%); }
.editorial-contact .contact-word { position: absolute; top: 55px; left: 7%; color: #fff; font-size: 12px; font-weight: 500; letter-spacing: .2em; line-height: 1; text-align: left; }
.editorial-contact .contact-content { position: relative; grid-template-columns: 53% 47%; gap: 0; align-items: end; margin-top: 0; padding-top: clamp(130px, 15vw, 240px); }
.editorial-contact .contact-heading { padding: 0 24px 140px 0; color: #fff; }
.editorial-contact .contact-heading .eyebrow { font-size: 12px; letter-spacing: .16em; }
.editorial-contact .contact-heading h2 { font-size: clamp(28px, 3vw, 50px); line-height: 1.7; margin-top: 24px; letter-spacing: .08em; }
.editorial-contact .contact-heading > p:last-child { font-size: clamp(13px, 1.05vw, 17px); margin-top: 26px; line-height: 1.9; }
.editorial-contact .contact-actions { background: #f7f6f2; padding: clamp(24px, 3.2vw, 52px); margin-bottom: 0; }
.editorial-contact .contact-line { padding: 24px 20px; font-size: clamp(16px, 1.3vw, 21px); gap: 15px; }
.editorial-contact .contact-line svg { width: 32px; height: 32px; flex-basis: 32px; }
.editorial-contact .contact-line small { font-size: 10px; line-height: 1.6; }
.editorial-contact .contact-mail { border: 0; padding: 25px 0 8px; font-size: clamp(12px, 1vw, 16px); gap: 14px; }
.editorial-contact .contact-mail svg { flex-basis: 22px; width: 22px; height: 20px; }
.editorial-contact .contact-phone { justify-content: flex-start; padding-top: 22px; gap: 8px; font-size: 10px; }
.editorial-contact .contact-phone b { font-size: 15px; }

/* Footer belongs to the quiet white space after the photograph. */
.footer { padding: clamp(65px, 6vw, 110px) 7% 30px; }
.footer-top { gap: 8vw; align-items: center; }
.footer-brand { width: 20vw; flex-basis: 20vw; max-width: 285px; }
.footer nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding: 0; }
.footer nav a, .footer nav .pending-link { font-size: 11px; }
.back-top { border: 0; }
.footer-bottom { border: 0; margin-top: 60px; padding-top: 0; }

@media (min-width: 761px) and (max-width: 1100px) {
  .editorial-product .product-info { padding: 30px; }
  .editorial-product .product-info dd b { font-size: 62px; }
  .editorial-partner .partner-options .option-copy { padding-left: 30px; }
  .editorial-partner .partner-heading > p { font-size: 40px; }
  .editorial-company .company-layout { grid-template-columns: 42% 49%; column-gap: 9%; }
  .editorial-company h2 { font-size: 38px; }
  .editorial-contact .contact-content { grid-template-columns: 49% 51%; }
  .editorial-contact .contact-heading h2 { font-size: 26px; letter-spacing: .03em; }
  .editorial-contact .contact-actions { padding: 24px; }
  .editorial-contact .contact-line { padding: 22px 14px; gap: 10px; font-size: 15px; }
  .editorial-contact .contact-line svg { width: 28px; height: 28px; flex-basis: 28px; }
  .footer nav { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .editorial-product > .wrap, .editorial-partner > .wrap, .editorial-company > .wrap, .editorial-contact > .wrap { width: calc(100% - 48px); }
  .editorial-product { padding-block: 70px 90px; }
  .editorial-product .section-heading { display: block; min-height: 0; margin-bottom: 28px; }
  .editorial-product .section-heading h2 { font-size: 26px; }
  .editorial-product .section-word { display: block; margin: 24px 0 0 -5px; font-size: 16.5vw; line-height: .8; letter-spacing: -.06em; }
  .editorial-product .product-layout { display: block; }
  .editorial-product .product-photo { margin-inline: -24px; }
  .editorial-product .product-photo img { aspect-ratio: 1.3; object-position: center; }
  .editorial-product .product-info { margin: -32px -8px 0 18px; padding: 25px 24px; }
  .editorial-product .product-info > .eyebrow { margin-bottom: 22px; font-size: 11px; }
  .editorial-product .product-dimensions { display: grid; grid-template-columns: 1.25fr 1fr; gap: 18px; }
  .editorial-product .product-info dl > div + div { margin: 0; }
  .editorial-product .product-info dt { font-size: 10px; letter-spacing: .035em; }
  .editorial-product .product-info dd { margin-top: 10px; }
  .editorial-product .product-info dd b { font-size: clamp(35px, 9.3vw, 64px); letter-spacing: -.06em; }
  .editorial-product .product-info dd b span { display: block; font-size: 10px; margin: 8px 0 0 2px; letter-spacing: 0; }
  .editorial-product .product-info > small { max-width: none; margin-top: 24px; font-size: 10px; }
  .product-notes { width: 100%; margin-top: 32px; }
  .product-notes dl { grid-template-columns: 1fr; gap: 24px; }
  .product-notes dt { font-size: 12px; margin-bottom: 8px; }
  .product-notes dd { font-size: 13px; line-height: 1.9; }
  .product-notes .editorial-link { font-size: 12px; margin-top: 24px; gap: 18px; }

  .editorial-partner { padding-block: 68px 58px; }
  .editorial-partner .partner-heading { display: block; }
  .editorial-partner .partner-heading > div { padding: 0; }
  .editorial-partner .partner-heading .eyebrow { font-size: 10px; margin-bottom: 15px; }
  .editorial-partner .partner-heading h2 { font-size: 20px; }
  .editorial-partner .partner-heading > p { width: 100%; margin: 32px 0 0; font-size: clamp(31px, 8.8vw, 54px); line-height: 1.65; }
  .editorial-partner .partner-options { grid-template-columns: 1fr; gap: 48px; margin-top: 32px; }
  .editorial-partner .partner-options .option-delegated { width: 88%; margin: 0; }
  .editorial-partner .partner-options .option-primary { width: 94%; margin-left: auto; }
  .option-delegated .partner-photo img { aspect-ratio: 1.5; }
  .option-primary .partner-photo img { aspect-ratio: 1.4; }
  .editorial-partner .partner-options .option-copy { padding: 31px 0 0 30px; }
  .editorial-partner .option-letter { top: -30px; left: -6px; font-size: 82px; }
  .editorial-partner .partner-options h3 { font-size: 23px; margin-bottom: 16px; letter-spacing: .025em; }
  .editorial-partner .partner-options p { font-size: 13px; line-height: 1.95; }
  .editorial-partner .partner-options .text-link { font-size: 12px; margin-top: 12px; }
  .editorial-partner .partner-contact { flex-direction: row; justify-content: space-between; gap: 25px 12px; margin-top: 44px; }
  .editorial-partner .partner-form { flex: 1 0 100%; width: 100%; padding: 23px 22px; font-size: 14px; }
  .editorial-partner .partner-contact > a:not(.partner-line) { margin: 0; font-size: 17px; text-align: left; }
  .editorial-partner .partner-contact small { font-size: 9px; margin-top: 5px; }
  .editorial-partner .partner-line { margin: 0; font-size: 11px; }

  .editorial-company { padding-block: 80px 70px; }
  .editorial-company .company-layout { grid-template-columns: 1fr; gap: 0; }
  .company-content { display: contents; }
  .editorial-company .company-heading { grid-column: 1; grid-row: 1; }
  .editorial-company .big-label { margin: 0 0 20px; font-size: 15vw; }
  .editorial-company h2 { font-size: 37px; line-height: 1.55; letter-spacing: .1em; }
  .editorial-company .company-intro { font-size: 13px; line-height: 2; margin-top: 24px; }
  .company-photo { grid-column: 1; grid-row: 2; width: 80%; margin: 34px -24px 0 auto; }
  .company-photo img { aspect-ratio: 1.05; }
  .company-photo-word { font-size: 44px; bottom: 18px; left: 16px; }
  .editorial-company .company-sign { grid-column: 1; grid-row: 3; margin: 30px 0 0; }
  .editorial-company .company-sign img { width: 154px; }
  .editorial-company .company-sign span { font-size: 8px; }
  .editorial-company .company-info { grid-column: 1; grid-row: 4; margin-top: 38px; }
  .editorial-company .company-info h3 { font-size: 19px; margin-bottom: 26px; }
  .editorial-company .company-info dl > div { grid-template-columns: 45px 1fr; gap: 12px; font-size: 12px; }
  .editorial-company .company-info dl > div + div { margin-top: 22px; }
  .editorial-company .company-info .editorial-link { font-size: 12px; margin-top: 24px; }

  .editorial-news { width: calc(100% - 48px); grid-template-columns: 1fr; gap: 28px; padding: 0 0 76px; }
  .editorial-news > div:first-child { gap: 24px; }
  .editorial-news .big-label { font-size: 38px; }
  .editorial-news h2 { font-size: 14px; }
  .editorial-news .news-empty { padding: 0 0 0 32px; }
  .editorial-news .news-empty p { font-size: 12px; }

  .contact-photo { bottom: 155px; }
  .contact-photo img { object-position: 46% 62%; }
  .contact-photo::after { background: linear-gradient(180deg, rgba(16,20,19,.46), rgba(16,20,19,.16)); }
  .editorial-contact .contact-word { top: 35px; left: 24px; font-size: 10px; }
  .editorial-contact .contact-content { display: block; padding-top: 108px; }
  .editorial-contact .contact-heading { padding: 0 0 52px; }
  .editorial-contact .contact-heading .eyebrow { font-size: 11px; }
  .editorial-contact .contact-heading h2 { font-size: clamp(24px, 6.65vw, 40px); line-height: 1.65; letter-spacing: .02em; margin-top: 20px; }
  .editorial-contact .contact-heading > p:last-child { font-size: 12px; line-height: 1.85; margin-top: 24px; }
  .editorial-contact .contact-actions { padding: 26px 22px; margin: 0 -8px 0 8px; }
  .editorial-contact .contact-line { font-size: 15px; padding: 22px 14px; gap: 12px; }
  .editorial-contact .contact-line svg { width: 27px; height: 27px; flex-basis: 27px; }
  .editorial-contact .contact-line small { font-size: 8px; letter-spacing: 0; }
  .editorial-contact .contact-mail { font-size: 11px; gap: 10px; padding: 22px 0 0; }
  .editorial-contact .contact-mail svg { width: 20px; height: 18px; flex-basis: 20px; }
  .editorial-contact .contact-phone { font-size: 9px; gap: 6px; padding-top: 24px; }
  .editorial-contact .contact-phone b { font-size: 14px; }
  .editorial-contact .contact-actions .arrow { width: 20px; flex-basis: 20px; }

  .footer { padding: 66px 24px 25px; }
  .footer-top { grid-template-columns: 1fr 38px; gap: 30px 16px; }
  .footer-brand { width: 180px; max-width: 100%; }
  .footer nav { grid-template-columns: 1fr 1fr; gap: 0 18px; }
  .footer nav a, .footer nav .pending-link { font-size: 11px; }
  .footer-bottom { margin-top: 36px; font-size: 8px; }
}

@media (max-width: 370px) {
  .editorial-product .product-info { padding: 23px 18px; margin-left: 8px; }
  .editorial-product .product-dimensions { gap: 12px; }
  .editorial-partner .partner-options h3 { font-size: 21px; }
  .editorial-contact .contact-actions { padding: 22px 14px; margin-left: 0; margin-right: -4px; }
  .editorial-contact .contact-line { gap: 9px; font-size: 14px; }
}
