/* Shared page treatments for the Prime static export. */
:root {
  --paper: #faf9f5;
  --stone: #f0ede5;
  --ink: #252622;
  --brass-text: #795e28;
  --line: #ded9cd;
  --measure: 70ch;
}

.prime-review { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
.prime-review h1, .prime-review h2, .prime-review h3 { overflow-wrap: break-word; }
.prime-review .header { background: #23241f; }
.prime-review .nav { height: 66px; }
.prime-review .monogram { width: 33px; height: 39px; }
.prime-review .desktop-nav a[aria-current="page"],
.prime-review .mobile-nav a[aria-current="page"] { color: #e0c488; text-decoration: underline; }
.prime-review .desktop-nav { display: none; }
.prime-review .header-cta { display: none; }
.prime-review .menu-toggle { display: block; }
.prime-review .mobile-nav:not([hidden]) { display: block; max-height: 70dvh; overflow: auto; }
.prime-review .mobile-bar { display: grid; padding-bottom: max(10px, env(safe-area-inset-bottom)); }
.prime-review .mobile-bar .btn { line-height: 1.2; min-height: 46px; }
.prime-review .mobile-bar .btn:first-child { white-space: nowrap; }
.prime-review .hero {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 0;
  margin-inline: auto;
  border-bottom: 1px solid var(--line);
  background: var(--stone);
  max-width: 1600px;
}
.prime-review .hero-copy { grid-row: 1; padding: 28px var(--gutter) 30px; min-width: 0; align-self: center; }
.prime-review .hero-copy .breadcrumb { font-size: 12px; padding-bottom: 14px; }
.prime-review .hero h1 { font-size: clamp(34px, 5vw, 64px); line-height: 1.04; max-width: 20ch; text-wrap: pretty; }
.prime-review .hero h1 .gold { color: var(--brass-text); display: block; font-size: .62em; margin-top: .36em; letter-spacing: -.025em; line-height: 1.17; }
.prime-review .hero-copy .eyebrow { color: var(--brass-text); line-height: 1.6; }
.prime-review .hero .actions { gap: 6px 18px; margin-top: 20px; }
.prime-review .hero .actions .btn { width: auto; min-height: 48px; }
.prime-review .hero .hero-lead { font-size: 16px; }
.prime-review .hero-text .hero-copy { width: min(1440px, 100%); margin: auto; }
.prime-review .hero-text h1 { max-width: 26ch; }
.page-case .hero-text { background: #292a24; color: #fffaf0; }
.page-case .hero-text .eyebrow, .page-case .hero-text .breadcrumb { color: #dcc58e; }
.page-case .hero-text .hero-lead p { color: #e9e4d8; }
.editorial-figure { margin: 0; min-width: 0; position: relative; }
.editorial-figure img { width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; }
.editorial-figure figcaption {
  background: #fbf9f3;
  padding: 6px 12px;
  font-size: 11px;
  letter-spacing: .04em;
  color: #494a43;
}
.prime-review .hero > .editorial-figure { min-width: 0; }
.prime-review .hero > .editorial-figure img { min-height: 0; height: auto; aspect-ratio: 16/9; }
.prime-review .hero > .editorial-figure figcaption { position: absolute; bottom: 0; right: 0; }
.intro-block { padding-block: 26px; }
.intro-block .hero-lead { margin: 0; font-size: 16px; gap: 9px; max-width: 78ch; }
.quick-nav { padding: 20px var(--gutter); border-bottom: 1px solid var(--line); background: var(--paper); }
.quick-nav > p { margin-bottom: 6px; color: var(--brass-text); }
.quick-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 20px; }
.quick-nav a { display: flex; align-items: center; min-height: 44px; text-decoration-color: var(--gold); font-size: 14px; }
.page-contents { padding-block: 12px 24px; }
.page-contents details { padding: 0 16px; border: 1px solid var(--line); background: var(--stone); }
.page-contents summary { padding-block: 12px; font-weight: 600; }
.page-contents .quick-nav { border: 0; padding: 10px 0 16px; background: transparent; }
.page-contents ul { display: grid; gap: 0 24px; }
.prime-review .section.prose { width: min(1440px,100%); max-width: none; }
.prime-review .editorial-section { padding-block: 32px; border-top: 1px solid var(--line); }
.editorial-heading { margin-bottom: 16px; }
.editorial-heading h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.13; margin: 0; }
.section-index { display: block; color: var(--brass-text); font-size: 11px; letter-spacing: .18em; margin-bottom: 10px; }
.editorial-body { min-width: 0; }
.editorial-body > :is(p,ul,ol,blockquote) { max-width: var(--measure); }
.editorial-body > .section-lead { font-size: 18px; line-height: 1.55; }
.editorial-body > .editorial-figure { max-width: 760px; margin-block: 20px 24px; }
.editorial-body > .editorial-figure img { aspect-ratio: 2/1; }
.table-scroll { max-width: 100%; overflow-x: auto; margin: 16px 0 22px; border: 1px solid var(--line); background: #fffdf8; scrollbar-color: #a68a55 #eee9dc; }
.prime-review .table-scroll table { display: table; min-width: 480px; width: 100%; margin: 0; overflow: visible; }
.prime-review .table-scroll th { background: #eae4d6; color: #46381f; font-size: 11px; letter-spacing: .07em; }
.prime-review .table-scroll td, .prime-review .table-scroll th { padding: 13px 14px; }
.prime-review .table-scroll td:first-child { font-weight: 600; }
.feature-grid { display: grid; gap: 12px; margin: 20px 0; }
.feature-card { background: var(--stone); border-top: 2px solid var(--gold); padding: 18px; }
.prime-review .feature-card h3 { font-size: 23px; margin: 0 0 12px; }
.prime-review .feature-card p { margin: 0; font-size: 15px; }
.prime-review #collections .grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
.prime-review #collections .card { display: grid; grid-template-columns: 42% minmax(0,1fr); column-gap: 12px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.prime-review #collections .card-photo { grid-row: span 4; }
.prime-review #collections .card-photo img { height: 100%; min-height: 135px; }
.prime-review #collections .card h3 { margin-top: 0; font-size: 20px; }
.prime-review #collections .card-style { color: var(--brass-text); }
.prime-review .lead-section { background: #ede8db; }
.prime-review .lead-form :is(input,textarea,select) { font-size: 16px; }
.prime-review .lead-copy { position: static; }
.prime-review .faq { width: min(1440px,100%); max-width: none; }
.prime-review .faq details { max-width: 880px; }

@media (min-width: 620px) {
  .page-contents ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .prime-review #collections .grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .prime-review #collections .card { display: block; }
  .prime-review #collections .card h3 { margin-top: 12px; }
  .prime-review #collections .card-photo img { height: auto; }
}
@media (min-width: 900px) and (max-width: 1049px) {
  .prime-review .lead-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 30px; }
}
@media (min-width: 1050px) {
  .prime-review { padding-bottom: 0; }
  .prime-review .nav { height: 74px; gap: 18px; }
  .prime-review .desktop-nav { display: flex; gap: clamp(12px,1.45vw,25px); }
  .prime-review .header-cta { display: inline-flex; white-space: nowrap; padding-inline: 12px; }
  .prime-review .menu-toggle, .prime-review .mobile-bar, .prime-review .mobile-nav:not([hidden]) { display: none; }
  .prime-review .hero:not(.hero-text) { grid-template-columns: minmax(0,1fr) minmax(0,1.12fr); }
  .prime-review .hero-copy { grid-column: 1; grid-row: 1; padding-block: 42px; }
  .prime-review .hero > .editorial-figure { grid-column: 2; grid-row: 1; min-height: 350px; }
  .prime-review .hero > .editorial-figure img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
  .prime-review .hero-text .hero-copy { padding-block: 44px; }
  .prime-review .editorial-section { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 2fr); gap: 40px; padding-block: 48px; }
  .editorial-heading { margin-bottom: 0; }
  .prime-review .intro-block { padding-block: 26px 34px; }
  .page-home .quick-nav, .page-catalog .quick-nav { display: flex; align-items: center; gap: 28px; }
  .page-home .quick-nav > p, .page-catalog .quick-nav > p { margin-bottom: 0; }
}

.page-home #collections { padding-block: 34px 26px; }
.page-home .intro-block { border-bottom: 1px solid var(--line); }
.prime-review .hero-subtitle {
  display: block;
  margin-top: .42em;
  font-size: .58em;
  letter-spacing: -.02em;
  line-height: 1.22;
  color: var(--brass-text);
}
.prime-review .page-case .hero-subtitle, .page-case .hero-subtitle { color: #e1c997; }
.prime-review .case-photo-status { margin-top: 16px; font-size: 13px; color: #e2d3b0; }
.prime-review .under-hero span { border-radius: 0; background: var(--stone); }

/* Hidden until the opening section has scrolled past the sticky header. */
.prime-review .mobile-bar[hidden] { display: none; }
.prime-review .service-note .service-design-link {
  display: table;
  margin-top: .4em;
  text-underline-offset: 4px;
}

/* Shared mobile grid for navigation immediately following the hero. */
.page-contents { padding-block: 24px; border-bottom: 1px solid var(--line); }
.page-contents > .page-shortcuts { padding: 0; border: 0; background: transparent; }
.page-shortcuts > .eyebrow { color: var(--brass-text); margin-bottom: 16px; }
.page-shortcuts > ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
.page-shortcuts > ul > li { min-width: 0; }
.page-shortcuts > ul > li:nth-child(even) { border-left: 1px solid var(--line); }
.page-shortcuts > ul > li:nth-child(n+3) { border-top: 1px solid var(--line); }
.page-shortcuts > ul > li:last-child:nth-child(odd) { grid-column: 1/-1; }
.page-shortcuts > ul > li > a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 88px; height: 100%; padding: 20px 26px 20px 0; font-size: 18px; line-height: 1.4; text-decoration: none; }
.page-shortcuts > ul > li:nth-child(even) > a { padding-left: 26px; padding-right: 0; }
.page-shortcuts .hero-shortcuts-arrow { display: block; flex-shrink: 0; align-self: flex-start; color: #86692e; font-size: 18px; }
.page-shortcuts .hero-shortcuts-label { min-width: 0; overflow-wrap: break-word; }
.page-shortcuts a:hover .hero-shortcuts-label { color: #86692e; }
.page-shortcuts a:focus-visible { outline: 2px solid var(--brass-text); outline-offset: -2px; }
.hero-shortcuts-arrow,
.hero-shortcuts-break {
  display: none;
}
@media (max-width: 699px) {
  .page-contents > .page-shortcuts.quick-nav { padding-block: 0; }
  .hero-shortcuts.quick-nav {
    padding-block: 24px;
  }
  .hero-shortcuts .eyebrow {
    margin-bottom: 16px;
  }
  .hero-shortcuts > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }
  .hero-shortcuts > ul > li {
    min-width: 0;
  }
  .hero-shortcuts > ul > li:nth-child(even) {
    border-left: 1px solid var(--line);
  }
  .hero-shortcuts > ul > li:nth-child(n+3) {
    border-top: 1px solid var(--line);
  }
  .hero-shortcuts > ul > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 88px;
    height: 100%;
    padding: 16px 14px 16px 0;
    font-size: 16px;
    line-height: 1.4;
    text-decoration: none;
  }
  .hero-shortcuts > ul > li:nth-child(even) > a {
    padding-left: 17px;
    padding-right: 0;
  }
  .hero-shortcuts-label {
    min-width: 0;
    overflow-wrap: break-word;
  }
  .hero-shortcuts .hero-shortcuts-break {
    display: initial;
  }
  .hero-shortcuts .hero-shortcuts-arrow {
    display: block;
    align-self: flex-start;
    flex-shrink: 0;
    color: #86692e;
    font-size: 17px;
  }
  .hero-shortcuts a:hover .hero-shortcuts-label {
    color: #86692e;
  }
}
