/* PUBLIC-16B: phone navigation, reading scale and unobstructed photography. */
.mobile-section-top { display: none; }

@media screen and (max-width: 1120px) {
  body.r16b-menu-open .r3-header {
    color: #fff;
    background: #151515;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  body.r16b-menu-open .r3-brand img { filter: brightness(0) invert(1) !important; }
  .r3-nav {
    transition: none;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    justify-content: flex-start;
    gap: 6px;
    padding: max(104px, calc(env(safe-area-inset-top) + 88px)) max(24px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #151515;
  }
  .r3-nav a {
    flex: 0 0 auto;
    min-height: 48px;
    padding: 10px 0;
    font-size: clamp(26px, 4vw, 34px);
    line-height: 1.2;
    white-space: normal;
  }
  .r3-nav a::after { right: auto; width: 48px; opacity: 0; }
  .r3-nav a:hover::after, .r3-nav a[aria-current="page"]::after { opacity: 1; }
  .r3-nav a:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }
}

@media screen and (max-width: 960px) {
  body.r5-unified .site-header { display: flex !important; flex-wrap: nowrap; align-items: center; min-height: 84px; padding: 18px 24px; }
  body.r5-unified .site-header .brand { flex: 1; }
  body.r5-unified .mobile-menu-toggle { display: grid; flex: 0 0 44px; width: 44px; height: 44px; align-content: center; color: #fff; border-color: rgba(255,255,255,.72); }
  body.r5-unified .site-header > .palette-trigger,
  body.r5-unified .site-header > .showroom-enquiry { display: none !important; }
  body.r5-unified .primary-nav { display: none !important; }
  body.r5-unified .primary-nav.mobile-open { display: grid !important; }
  body.r5-materials .primary-nav.mobile-open .mobile-palette-trigger { display: flex !important; align-items: center; justify-content: space-between; margin-top: 8px; }
  body.r16b-menu-open.r5-unified .site-header {
    position: fixed !important;
    color: #fff;
    background: #151515 !important;
    z-index: 180;
  }
  body.r5-unified .primary-nav {
    position: fixed !important;
    inset: 0 !important;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    margin: 0 !important;
    padding: max(108px, calc(env(safe-area-inset-top) + 88px)) 24px max(32px, env(safe-area-inset-bottom)) !important;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 6px !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    color: #fff;
    background: #151515 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none;
    z-index: 1;
  }
  body.r5-unified .primary-nav a,
  body.r5-unified .primary-nav button {
    min-height: 48px;
    padding: 10px 0 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 4vw, 34px) !important;
    line-height: 1.2;
    letter-spacing: -.02em !important;
    text-align: left;
    text-transform: none;
    white-space: normal;
    justify-content: flex-start;
  }
  body.r5-unified .primary-nav .r4-interiors-link { grid-column: auto; }
  body.r5-unified .primary-nav .mobile-palette-trigger { order: 6; }
  body.r16b-menu-open .site-header .brand,
  body.r16b-menu-open .mobile-menu-toggle { position: relative; z-index: 2; }
}

@media screen and (max-width: 820px) {
  /* Return links occupy their own row instead of covering a photo or caption. */
  body.r5-unified .back-to-top { display: none !important; }
  body.r5-unified .mobile-section-top {
    display: inline-flex;
    grid-column: 1 / -1;
    order: 99;
    justify-self: start;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    width: fit-content;
    margin: 24px 0 0;
    padding: 8px 14px;
    color: inherit;
    background: transparent;
    border: 1px solid #a8813b;
    border-radius: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
  }
  body.r5-unified .mobile-section-top:focus-visible { outline: 2px solid #a8813b; outline-offset: 3px; }
  body.r5-unified .collection-feature > .mobile-section-top { margin: 20px 24px 28px; }
  body.r5-unified .collection-feature-copy { padding: 48px 24px; }
  body.r5-unified .collection-feature-copy > p:last-child { margin-top: 24px; font-size: 17px; line-height: 1.6; }
  body.r5-unified .collection-feature figure figcaption { max-width: calc(100% - 32px); right: 16px; line-height: 1.5; }
  body.r5-unified .signature-section { padding: 52px 24px; }
  body.r5-unified .signature-header { gap: 22px; margin-bottom: 28px; }
  body.r5-unified .signature-header .eyebrow { margin-bottom: 0; }
  body.r5-unified .signature-header > p:last-child { font-size: 17px; line-height: 1.6; }
  body.r5-unified .completed-projects { padding: 48px 24px 56px; }
  body.r5-unified .completed-project + .completed-project { margin-top: 56px; padding-top: 32px; border-top-width: 2px; }
  body.r5-unified .completed-project-header { grid-template-columns: minmax(0,1fr); gap: 18px; margin-bottom: 28px; padding-bottom: 22px; }
  body.r5-unified .completed-project-header > span { grid-column: auto; }
  body.r5-unified .completed-project-header > p { font-size: 17px; line-height: 1.6; }
  body.r5-unified .project-hero-image { margin-bottom: 28px; }
  body.r5-unified .project-image-grid { gap: 28px; margin-top: 0; }
  body.r5-unified .project-image-grid figcaption,
  body.r5-unified .project-hero-image figcaption { flex-wrap: wrap; gap: 6px 14px; font-size: 10px; line-height: 1.5; letter-spacing: .09em; }
  body.r5-unified .project-image-grid figcaption span,
  body.r5-unified .project-hero-image figcaption span { min-width: 0; overflow-wrap: anywhere; }
  body.r5-unified .project-image-grid figcaption span:last-child,
  body.r5-unified .project-hero-image figcaption span:last-child { text-align: left; }
  body.r5-unified .philosophy-section,
  body.r5-unified .made-to-measure-band { padding-block: 56px; }
  body.r5-unified .collections-closing,
  body.r5-unified .projects-closing { padding-block: 56px; }
}

@media screen and (max-width: 600px) {
  .interiors-hero h1,
  .hero-copy h1,
  body.r5-unified .collections-hero-copy h1,
  body.r5-unified .studio-intro h1,
  body.r5-unified .showroom-hero-copy h1,
  body.r5-unified .projects-hero h1 {
    font-size: clamp(38px, 11.5vw, 52px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-wrap: balance;
  }
  .interiors-hero { min-height: 0; }
  .interiors-hero-copy { padding: 118px 24px 44px; }
  .interiors-hero-media { min-height: 300px; }
  body.r5-unified .collection-feature-copy h2,
  body.r5-unified .signature-header h2,
  body.r5-unified .completed-project-header h2,
  body.r5-unified .philosophy-copy h2,
  body.r5-unified .made-to-measure-band h2,
  body.r5-unified .collections-closing h2,
  body.r5-unified .projects-closing h2 {
    font-size: clamp(32px, 9.2vw, 40px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.03em !important;
    text-wrap: balance;
  }
  body.r5-unified .collections-hero,
  body.r5-unified .studio-intro,
  body.r5-unified .showroom-hero,
  body.r5-unified .projects-hero { min-height: min(680px, 100svh) !important; }
  body.r5-materials .studio-intro,
  body.r5-projects .projects-hero,
  body.r5-showroom .showroom-hero { gap: 24px; padding: 128px 24px 44px; }
  body.r5-cabinetry .collections-hero-copy { padding: 128px 24px 52px; }
  body.r5-unified .projects-hero > p,
  body.r5-unified .studio-intro .intro-copy,
  body.r5-unified .showroom-hero-copy > p:last-child,
  body.r5-unified .collections-hero-copy > p:last-child { font-size: 17px !important; line-height: 1.6 !important; }
}

@media print { .mobile-section-top { display: none !important; } }
