.reviews-page .desktop-nav a[aria-current="page"]::after { right: 0; }

.reviews-page main { overflow: hidden; }

.guestbook-hero {
  position: relative;
  min-height: 720px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  background: var(--green-dark);
}

.guestbook-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.guestbook-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,27,22,.88) 0%, rgba(8,27,22,.61) 47%, rgba(8,27,22,.18) 78%), linear-gradient(0deg, rgba(8,27,22,.68), transparent 42%); }

.guestbook-hero-copy { position: relative; z-index: 1; padding-bottom: 68px; }
.guestbook-hero-copy h1 { max-width: 820px; margin-bottom: 28px; font-size: clamp(4rem, 7.2vw, 7.7rem); line-height: .87; }
.guestbook-hero-copy > p:not(.eyebrow) { max-width: 650px; margin-bottom: 34px; color: rgba(255,255,255,.84); font-family: var(--serif); font-size: clamp(1.12rem, 1.8vw, 1.5rem); line-height: 1.5; }

.guestbook-scorebar { position: absolute; z-index: 2; left: 50%; bottom: 0; min-height: 104px; display: flex; align-items: center; gap: 48px; border-top: 1px solid rgba(255,255,255,.27); transform: translateX(-50%); }
.guestbook-scorebar > div { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 12px; align-items: center; }
.guestbook-scorebar .source-dot { grid-row: 1 / 3; }
.source-dot { width: 11px; height: 11px; border-radius: 50%; }
.source-dot-airbnb { background: #ff6b78; box-shadow: 0 0 0 6px rgba(255,107,120,.15); }
.source-dot-vrbo { background: #8fc5ff; box-shadow: 0 0 0 6px rgba(143,197,255,.15); }
.guestbook-scorebar strong { font-family: var(--serif); font-size: 1.7rem; font-weight: 500; line-height: 1; }
.guestbook-scorebar small { color: rgba(255,255,255,.6); font-size: .64rem; }
.guestbook-scorebar > p { margin: 0 0 0 auto; color: rgba(255,255,255,.62); font-size: .68rem; }

.review-sources { padding-block: 110px 120px; }
.guestbook-intro { margin-bottom: 50px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: end; }
.guestbook-intro h2 { max-width: 710px; margin-bottom: 0; }
.guestbook-intro > p { max-width: 560px; margin-bottom: 4px; color: var(--ink-soft); font-family: var(--serif); font-size: 1.17rem; line-height: 1.65; }

.feed-status { margin-bottom: 24px; padding: 22px 24px; display: grid; grid-template-columns: 34px 1fr auto; gap: 16px; align-items: center; color: #604b27; background: linear-gradient(100deg, #fff4dd, #f6e8c9); border: 1px solid rgba(155,111,52,.22); border-radius: 14px; }
.feed-status-icon { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: var(--serif); font-style: italic; }
.feed-status strong { display: block; margin-bottom: 5px; font-size: .76rem; }
.feed-status p { margin: 0; color: #786541; font-size: .7rem; line-height: 1.55; }
.feed-status-pill { min-height: 28px; padding: 0 11px; display: inline-flex; align-items: center; border: 1px solid rgba(96,75,39,.3); border-radius: 999px; font-size: .61rem; font-weight: 780; text-transform: uppercase; letter-spacing: .07em; }

.source-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.source-card { position: relative; min-height: 360px; padding: 38px; display: flex; flex-direction: column; overflow: hidden; border-radius: 22px; box-shadow: var(--shadow-soft); }
.source-card::after { content: ""; position: absolute; right: -70px; bottom: -130px; width: 280px; height: 280px; border: 1px solid currentColor; border-radius: 50%; opacity: .12; box-shadow: 0 0 0 42px currentColor, 0 0 0 84px currentColor; }
.source-card-airbnb { color: #54212a; background: linear-gradient(135deg, #fff4f1, #f4cbd0); }
.source-card-vrbo { color: #153967; background: linear-gradient(135deg, #f2f8ff, #c9e2f8); }
.source-card-head { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.source-card-head span { min-height: 30px; padding: 0 12px; display: inline-flex; align-items: center; color: #fff; border-radius: 999px; font-size: .63rem; font-weight: 780; }
.source-card-airbnb .source-card-head span { background: #e24d5b; }
.source-card-vrbo .source-card-head span { background: #2867a7; }
.source-card-head strong { font-family: var(--serif); font-size: 2.2rem; font-weight: 500; }
.source-card h3 { position: relative; z-index: 1; margin: auto 0 10px; font-family: var(--serif); font-size: 2.35rem; font-weight: 500; }
.source-card p { position: relative; z-index: 1; max-width: 480px; margin-bottom: 24px; font-size: .78rem; line-height: 1.55; }
.source-card .button { position: relative; z-index: 1; align-self: flex-start; }

.archive-section { padding-block: 120px; background: linear-gradient(180deg, rgba(255,255,255,.56), rgba(220,234,240,.68)); }
.archive-heading { margin-bottom: 44px; display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; }
.archive-heading h2 { max-width: 790px; margin-bottom: 0; }
.archive-controls { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.archive-filters { padding: 4px; display: flex; gap: 3px; background: rgba(255,255,255,.75); border: 1px solid rgba(40,77,90,.14); border-radius: 999px; }
.archive-filters button { min-height: 38px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; font-size: .68rem; font-weight: 740; cursor: pointer; }
.archive-filters button.is-active { color: #fff; background: var(--green); }
.archive-order { color: var(--ink-soft); font-size: .64rem; }

.archive-example { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.guest-review-card { min-height: 360px; padding: 34px; display: flex; flex-direction: column; background: rgba(255,255,255,.87); border: 1px solid rgba(40,77,90,.12); border-radius: 18px; box-shadow: 0 12px 38px rgba(23,33,29,.07); }
.guest-review-card[hidden] { display: none; }
.guest-review-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.guest-review-top > strong { font-family: var(--serif); font-size: 1.18rem; font-weight: 500; }
.guest-review-card blockquote { margin: auto 0; font-family: var(--serif); font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.43; }
.guest-review-meta { padding-top: 20px; display: flex; justify-content: space-between; gap: 20px; color: var(--ink-soft); border-top: 1px solid var(--line); font-size: .64rem; }

.archive-awaiting { margin-top: 18px; padding: 26px 30px; display: grid; grid-template-columns: 38px 1fr; gap: 18px; align-items: center; color: var(--ink-soft); border: 1px dashed rgba(40,77,90,.28); border-radius: 15px; }
.archive-awaiting > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--green); background: var(--sage); border-radius: 50%; }
.archive-awaiting strong { display: block; margin-bottom: 5px; color: var(--ink); font-family: var(--serif); font-size: 1.08rem; }
.archive-awaiting p { margin: 0; font-size: .7rem; line-height: 1.6; }

.review-reliability { padding-block: 120px; color: #fff; background: linear-gradient(125deg, var(--green-dark), var(--river-deep)); }
.reliability-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; align-items: start; }
.reliability-copy { position: sticky; top: 125px; }
.reliability-copy h2 { max-width: 560px; margin-bottom: 28px; }
.reliability-copy > p:last-child { max-width: 540px; margin: 0; color: rgba(255,255,255,.68); font-family: var(--serif); font-size: 1.08rem; line-height: 1.65; }
.reliability-points { display: grid; gap: 14px; }
.reliability-points article { min-height: 150px; padding: 28px; display: grid; grid-template-columns: 52px 1fr; gap: 22px; align-items: start; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; }
.reliability-points article > span { color: #e7c98f; font-family: var(--serif); font-size: 1.35rem; }
.reliability-points h3 { margin-bottom: 8px; font-family: var(--serif); font-size: 1.3rem; font-weight: 500; }
.reliability-points p { margin: 0; color: rgba(255,255,255,.65); font-size: .72rem; line-height: 1.55; }

.guestbook-cta { margin-block: 95px; padding: 65px 70px; display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; background: linear-gradient(120deg, var(--sand-pale), var(--sage)); border: 1px solid rgba(40,77,90,.13); border-radius: 24px; }
.guestbook-cta h2 { max-width: 760px; margin-bottom: 0; }
.guestbook-cta > div:last-child { display: flex; align-items: center; gap: 24px; }

@media (max-width: 1080px) {
  .guestbook-hero { min-height: 650px; }
  .guestbook-intro, .reliability-grid { gap: 55px; }
  .source-card { min-height: 390px; }
  .guestbook-cta { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 760px) {
  .guestbook-hero { min-height: 690px; align-items: flex-end; }
  .guestbook-hero-shade { background: linear-gradient(0deg, rgba(8,27,22,.93) 0%, rgba(8,27,22,.5) 64%, rgba(8,27,22,.18)); }
  .guestbook-hero-copy { padding: 0 0 148px; }
  .guestbook-hero-copy h1 { font-size: clamp(3.7rem, 17vw, 5.5rem); }
  .guestbook-scorebar { min-height: 112px; gap: 28px; }
  .guestbook-scorebar > p { display: none; }
  .review-sources { padding-block: 78px 80px; }
  .guestbook-intro { margin-bottom: 35px; grid-template-columns: 1fr; gap: 23px; }
  .guestbook-intro > p { font-size: 1.03rem; }
  .feed-status { grid-template-columns: 30px 1fr; align-items: start; }
  .feed-status-pill { display: none; }
  .source-card-grid, .archive-example, .reliability-grid { grid-template-columns: 1fr; }
  .source-card { min-height: 340px; padding: 28px; }
  .archive-section { padding-block: 82px; }
  .archive-heading { grid-template-columns: 1fr; gap: 28px; }
  .archive-controls { align-items: flex-start; }
  .guest-review-card { min-height: 330px; padding: 27px; }
  .guest-review-top, .guest-review-meta { align-items: flex-start; flex-direction: column; }
  .archive-awaiting { padding: 23px; align-items: start; }
  .review-reliability { padding-block: 82px; }
  .reliability-grid { gap: 44px; }
  .reliability-copy { position: static; }
  .reliability-points article { min-height: 0; padding: 24px; }
  .guestbook-cta { width: 100%; margin-block: 0; padding: 70px 22px 90px; border-radius: 0; }
  .guestbook-cta > div:last-child { align-items: flex-start; flex-direction: column; }
}
