body { color: #403e3e; background: #fff; }
#grp-contact-cta { display: none !important; }

.grp-page-topnav {
  height: 73px;
  background: var(--grp-bg-off);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 72px;
}
.grp-page-topnav a,
.grp-page-brand .grp-location,
.grp-page-brand .grp-love,
.grp-detail-label,
.grp-detail-kicker,
.grp-gallery-count,
.grp-archive-card span {
  font-family: var(--font-montserrat);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.grp-page-topnav a { color: #545454; transition: color var(--trans); }
.grp-page-topnav a:hover { color: var(--grp-gold); }

.grp-page-brand {
  height: 188px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
}
.grp-page-brand .grp-location { justify-self: start; text-align: center; line-height: 1.5; }
.grp-page-brand em,
.grp-page-brand .grp-love,
.grp-detail-script { font-family: var(--font-cormorant); font-style: italic; text-transform: none; letter-spacing: 0.05em; }
.grp-page-logo { width: 226px; }
.grp-page-logo img { width: 100%; height: auto; }
.grp-page-brand-cta { justify-self: end; display: flex; align-items: center; gap: 20px; }
.grp-page-brand .grp-love { color: #000; font-size: 15px; }

.grp-detail-hero {
  padding: 78px 40px 92px;
  background: #fbfbfb;
}
.grp-detail-hero-inner {
  max-width: 1160px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 78px;
  align-items: center;
}
.grp-detail-hero-image img {
  width: 100%;
  min-height: 560px;
  max-height: 720px;
  object-fit: cover;
  display: block;
}
.grp-detail-label {
  display: block;
  color: #000;
  margin-bottom: 22px;
}
.grp-detail-label::after {
  content: "";
  display: block;
  width: 54px;
  height: 1px;
  background: var(--grp-gold);
  margin-top: 16px;
}
.grp-detail-title,
.grp-section-title,
.grp-archive-card h3 {
  font-family: var(--font-silk-light);
  font-weight: 400;
  letter-spacing: .13em;
  line-height: 1.12;
  text-transform: uppercase;
  color: #000;
}
.grp-detail-title { font-size: 50px; }
.grp-detail-copy {
  margin-top: 30px;
  font-family: var(--font-cormorant-g);
  font-size: 21px;
  font-weight: 300;
  line-height: 1.68;
  color: #000;
}
.grp-detail-script {
  display: block;
  margin-top: 28px;
  color: var(--grp-gold);
  font-size: 25px;
}

.grp-gallery-section,
.grp-article-section,
.grp-archive-section {
  padding: 100px 40px;
  background: #fff;
}
.grp-gallery-inner,
.grp-article-inner,
.grp-archive-inner {
  max-width: 1160px;
  margin: 0 auto;
}
.grp-section-title {
  font-size: 38px;
  text-align: center;
}
.grp-gallery-count {
  display: block;
  text-align: center;
  color: var(--grp-gold);
  margin: 18px 0 54px;
}
.grp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
}
.grp-gallery-grid img {
  width: 100%;
  height: 640px;
  object-fit: cover;
  display: block;
  background: #eee;
}
.grp-gallery-grid figure:nth-child(5n) {
  grid-column: 1 / -1;
}
.grp-gallery-grid figure:nth-child(5n) img {
  height: 760px;
}
.grp-gallery-grid figure:nth-child(4n + 2) {
  margin-top: 54px;
}

.grp-article-inner {
  display: grid;
  grid-template-columns: minmax(0, 760px) 260px;
  gap: 86px;
}
.grp-article-body h2,
.grp-article-body h3 {
  margin: 48px 0 18px;
  font-family: var(--font-silk-light);
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
  color: #000;
}
.grp-article-body h2 { font-size: 32px; }
.grp-article-body h3 { font-size: 25px; }
.grp-article-body p {
  margin: 0 0 23px;
  font-family: var(--font-cormorant-g);
  font-size: 20px;
  font-weight: 300;
  line-height: 1.75;
  color: #000;
}
.grp-article-body img {
  width: 100%;
  max-height: 780px;
  object-fit: cover;
  display: block;
  margin: 44px 0;
}
.grp-article-aside {
  position: sticky;
  top: 36px;
  align-self: start;
  padding-top: 8px;
  border-top: 1px solid var(--grp-gold);
}
.grp-article-aside p {
  margin: 18px 0 28px;
  font-family: var(--font-cormorant-g);
  font-size: 18px;
  font-weight: 300;
  line-height: 1.55;
}

.grp-archive-grid {
  margin-top: 54px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
.grp-archive-card {
  background: #fbfbfb;
  min-width: 0;
}
.grp-archive-card img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}
.grp-archive-card div { padding: 28px; }
.grp-archive-card span { color: var(--grp-gold); }
.grp-archive-card h3 {
  margin-top: 16px;
  font-size: 24px;
}

.grp-detail-next {
  min-height: 320px;
  display: grid;
  place-items: center;
  padding: 70px 24px;
  text-align: center;
  color: #fff;
  background: #1f1f1f;
}
.grp-detail-next h2 {
  max-width: 720px;
  margin-bottom: 26px;
  font-family: var(--font-silk-light);
  font-size: 38px;
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1.22;
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .grp-page-topnav { gap: 44px; }
  .grp-page-brand { max-width: 900px; padding: 0 32px; }
  .grp-detail-hero-inner { gap: 48px; }
  .grp-article-inner { grid-template-columns: 1fr; gap: 40px; }
  .grp-article-aside { position: static; }
  .grp-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .grp-page-topnav,
  .grp-page-brand { display: none; }
  .grp-detail-hero,
  .grp-gallery-section,
  .grp-article-section,
  .grp-archive-section { padding: 62px 22px; }
  .grp-detail-hero-inner { grid-template-columns: 1fr; gap: 34px; }
  .grp-detail-hero-image { order: -1; }
  .grp-detail-hero-image img { min-height: 0; height: auto; aspect-ratio: .76; }
  .grp-detail-title { font-size: 34px; }
  .grp-detail-copy { font-size: 19px; }
  .grp-gallery-grid,
  .grp-archive-grid { grid-template-columns: 1fr; }
  .grp-gallery-grid figure,
  .grp-gallery-grid figure:nth-child(5n),
  .grp-gallery-grid figure:nth-child(4n + 2) { grid-column: auto; margin-top: 0; }
  .grp-gallery-grid img,
  .grp-gallery-grid figure:nth-child(5n) img { height: auto; aspect-ratio: .72; }
  .grp-article-body h2 { font-size: 27px; }
  .grp-article-body h3 { font-size: 23px; }
  .grp-article-body p { font-size: 19px; }
  .grp-detail-next h2 { font-size: 28px; }
}
