/* ======================================================================
 * GUARANTEED RENT — the grv vertical redesign, 26 August 2026.
 *
 * Aarav + Amrit's brief: simple and straight to the point. Everything the
 * Langhams scheme page says, amended to Dukes, told as one clear vertical
 * story - short chapters, bullets over boxes, real air between bands.
 * The hero keeps Amrit's promise headline (fixed rent / fixed term / no
 * voids / no management fees). Everything composes from the page's v3
 * palette tokens (--gr-beige / night / forest / rose / white) and house
 * geometry. Page-owned, single writer: loaded only by
 * /landlords/guaranteed-rent/ after guaranteed-rent.css.
 * ==================================================================== */

/* ---- the hero promise: the selling point, read in one look ------------
   dukes.css's one-hero-lockup layer pins every hero h1 with 3-id
   !important (18ch cap, 2.6rem mobile floor); the promise answers at the
   same weight - this sheet loads last, so it wins. */
.page--guaranteed-rent .grb-hero__copy:not(#p#q#r) > h1.grs-promise {
  max-width: none !important;
  /* round 2, Aarav: BIGGER - the largest size at which "No management
     fees." still holds a single line in the hero column */
  font-size: clamp(2.5rem, 4vw, 4.2rem) !important;
  letter-spacing: -0.025em !important;
}
.page--guaranteed-rent .grs-promise span { display: block; text-wrap: balance; }
.page--guaranteed-rent .grs-promise .grs-promise__no {
  color: #e3c98f;
}
@media (max-width: 47.99em) {
  .page--guaranteed-rent .grb-hero__copy:not(#p#q#r) > h1.grs-promise {
    font-size: clamp(1.7rem, 7.2vw, 2.3rem) !important;
  }
}

/* ---- the pill's anchors land clear of header + pill -------------------- */
#gr-guarantee, #gr-provided, #gr-how, #gr-features, #gr-balance,
#gr-compare, #gr-require, #gr-proof {
  scroll-margin-top: calc(var(--head-h, 65px) + 74px);
}

/* ---- the vertical island system ----------------------------------------
   Aarav's round-2 note: nothing floats on the ground. Every chapter is a
   COMPOSED PLATE (the site's island grammar) with its own colour, so the
   chapters read apart at a glance: navy dark -> cream -> parchment ->
   white -> rose -> forest dark -> cream. One idea per island. */
.page--guaranteed-rent .grv-band {
  padding: clamp(1.5rem, 3vw, 2.75rem) var(--inset, 1.25rem);
}
.page--guaranteed-rent .grv-band:first-of-type { padding-top: clamp(2.25rem, 4.5vw, 4rem); }
.page--guaranteed-rent .grv-inner {
  max-width: min(94vw, 96rem);
  margin: 0 auto;
  padding: clamp(2rem, 4vw, 4rem) clamp(1.25rem, 3.5vw, 3.5rem);
  border-radius: 30px;
  background: var(--gr-white);
  border: 1px solid var(--gr-card-line);
  box-shadow: 0 30px 70px -55px rgba(13, 28, 48, 0.55);
}
.page--guaranteed-rent .grv-band .grb-head {
  margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
}

/* 01 guarantee: the page's statement plate - night navy, gold answers */
.page--guaranteed-rent .grv-guarantee .grv-inner {
  background: linear-gradient(160deg, var(--gr-night-deep), var(--gr-night));
  border: 0;
  color: var(--gr-white);
  box-shadow: 0 34px 80px -55px rgba(9, 20, 35, 0.8);
}
.page--guaranteed-rent .grv-guarantee .grb-head h2 { color: var(--gr-white); }
.page--guaranteed-rent .grv-guarantee .grx-kicker { color: #e3c98f; }
.page--guaranteed-rent .grv-guarantee .grv-statements p { color: rgba(251, 248, 242, 0.85); }
.page--guaranteed-rent .grv-guarantee .grv-statements strong { color: var(--gr-white); }
.page--guaranteed-rent .grv-guarantee .grv-statements__num {
  background: #c5a66a;
  color: var(--gr-night-deep);
}

/* 02 service: premium white, forest ticks (base plate) */

/* 03 how: deep parchment */
.page--guaranteed-rent .grv-how .grv-inner {
  background: var(--gr-parchment);
  border: 0;
}

/* 05 benefits: dusty rose, clearly apart from the parchment above */
.page--guaranteed-rent .grv-benefits .grv-inner {
  background: var(--gr-rose);
  border: 0;
}

/* ---- 01 the guarantee: three numbered statements, large and unmissable - */
.page--guaranteed-rent .grv-statements {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.25rem);
  max-width: 46rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.page--guaranteed-rent .grv-statements li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: start;
}
.page--guaranteed-rent .grv-statements__num {
  display: grid;
  place-items: center;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  background: var(--gr-forest);
  color: var(--gr-white);
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
}
.page--guaranteed-rent .grv-statements p {
  margin: 0;
  max-width: 56ch;
  color: var(--gr-ink);
  font-size: clamp(1.05rem, 1rem + 0.35vw, 1.25rem);
  line-height: 1.65;
}
.page--guaranteed-rent .grv-statements strong {
  color: var(--gr-night);
  font-weight: 750;
}

/* ---- the tick lists: the page's one bullet voice ----------------------- */
.page--guaranteed-rent .grv-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.7rem, 1.4vw, 1rem) clamp(1.5rem, 3vw, 2.75rem);
  max-width: 56rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.page--guaranteed-rent .grv-list li {
  position: relative;
  padding: 0.15rem 0 0.15rem 2.15rem;
  color: var(--gr-ink);
  font-size: clamp(0.98rem, 0.94rem + 0.2vw, 1.08rem);
  line-height: 1.6;
}
.page--guaranteed-rent .grv-list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0.2rem;
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: var(--gr-rose-field);
  color: var(--gr-forest-deep);
  font-size: 0.78rem;
  font-weight: 800;
}

/* ---- 03 how it works: three steps on one line -------------------------- */
.page--guaranteed-rent .grv-steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(0.8rem, 1.8vw, 1.4rem);
  margin: 0 auto;
  padding: 0;
  list-style: none;
  max-width: 56rem;
}
.page--guaranteed-rent .grv-steps li {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.85rem 1.25rem;
  border-radius: 999px;
  background: var(--gr-white);
  border: 1px solid var(--gr-card-line);
  color: var(--gr-night);
  font-size: 1rem;
  font-weight: 650;
}
.page--guaranteed-rent .grv-how .grv-steps li { background: var(--gr-white); border: 0; }
.page--guaranteed-rent .grv-steps li > span {
  color: var(--gr-forest);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

/* ---- 04 the switch table: from/to with a visible verdict ---------------
   Elliot Leigh's device, minus its weaknesses: their two columns weigh the
   same, so the eye has no winner. Here the "usual way" reads muted with a
   cross, the Dukes column answers in forest with a tick. */
.page--guaranteed-rent .grv-switch__scroll {
  max-width: 56rem;
  margin: 0 auto;
  overflow-x: auto;
  border-radius: 22px;
  border: 1px solid var(--gr-card-line);
  background: var(--gr-white);
}
.page--guaranteed-rent .grv-switch__scroll:focus-visible {
  outline: 3px solid var(--gr-focus);
  outline-offset: 3px;
}
.page--guaranteed-rent .grv-switch__table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
  font-size: clamp(0.94rem, 0.9rem + 0.2vw, 1.04rem);
}
.page--guaranteed-rent .grv-switch__table th,
.page--guaranteed-rent .grv-switch__table td {
  width: 50%;
  padding: 0.95rem clamp(1rem, 2vw, 1.5rem) 0.95rem clamp(2.4rem, 3.4vw, 3rem);
  border-bottom: 1px solid var(--gr-card-line);
  text-align: left;
  vertical-align: top;
  position: relative;
}
.page--guaranteed-rent .grv-switch__table tr:last-child th,
.page--guaranteed-rent .grv-switch__table tr:last-child td { border-bottom: 0; }
.page--guaranteed-rent .grv-switch__table thead th {
  padding-left: clamp(1rem, 2vw, 1.5rem);
  color: var(--gr-muted);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--gr-night);
}
.page--guaranteed-rent .grv-switch__table thead th.grv-switch__to { color: var(--gr-forest-deep); }
.page--guaranteed-rent .grv-switch__table tbody td { color: var(--gr-muted); }
.page--guaranteed-rent .grv-switch__table tbody td::before {
  content: "\2715";
  position: absolute;
  left: clamp(1rem, 2vw, 1.5rem);
  top: 1rem;
  color: var(--gr-rose-deep);
  font-size: 0.82rem;
  font-weight: 800;
}
.page--guaranteed-rent .grv-switch__table tbody td.grv-switch__to {
  background: rgba(23, 72, 60, 0.07);
  color: var(--gr-night);
  font-weight: 600;
}
.page--guaranteed-rent .grv-switch__table tbody td.grv-switch__to::before {
  content: "\2713";
  color: var(--gr-forest);
}
.page--guaranteed-rent .grv-switch__table thead th.grv-switch__to { background: rgba(23, 72, 60, 0.07); }

/* ---- 05 benefits: twelve short chips, scannable in seconds ------------- */
.page--guaranteed-rent .grv-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(0.6rem, 1.2vw, 0.9rem);
  max-width: 52rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.page--guaranteed-rent .grv-chips li {
  padding: 0.7rem 1.15rem;
  border-radius: 999px;
  background: var(--gr-night);
  color: var(--gr-white);
  font-size: 0.95rem;
  font-weight: 650;
  white-space: nowrap;
}
.page--guaranteed-rent .grv-chips li:nth-child(3n) { background: var(--gr-forest); }
.page--guaranteed-rent .grv-chips li:nth-child(3n + 2) {
  background: var(--gr-white);
  color: var(--gr-night);
}

/* ---- 07 requirements: two labelled groups, lists in the open ----------- */
.page--guaranteed-rent .grv-require__group {
  max-width: 56rem;
  margin: 0 auto clamp(2.25rem, 4.5vw, 3.75rem);
}
.page--guaranteed-rent .grv-require__group:last-child { margin-bottom: 0; }
.page--guaranteed-rent .grv-require__group h3 {
  margin: 0 0 0.6rem;
  color: var(--gr-forest-deep);
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 1.3rem + 0.9vw, 2.1rem);
  font-weight: 400;
  letter-spacing: -0.02em;
}
.page--guaranteed-rent .grv-require__intro {
  max-width: 68ch;
  margin: 0 0 1.15rem;
  color: var(--gr-muted);
  font-size: 0.98rem;
  line-height: 1.65;
}
.page--guaranteed-rent .grv-require .grv-list { margin: 0; }
.page--guaranteed-rent .grv-require__note {
  max-width: 68ch;
  margin: 1.25rem 0 0;
  padding: 0.85rem 1.1rem;
  border-radius: 14px;
  background: var(--gr-rose-field);
  color: var(--gr-night);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.55;
}

/* ---- 06 the numbers: the page's one dark plate ------------------------- */
.page--guaranteed-rent .grs-compare {
  padding: clamp(1.5rem, 3vw, 2.75rem) var(--inset, 1.25rem);
}
.page--guaranteed-rent .grs-compare__plate {
  max-width: min(94vw, 80rem);
  margin: 0 auto;
  padding: clamp(2rem, 4vw, 4.25rem) clamp(1.25rem, 3.5vw, 4rem);
  border-radius: 30px;
  background: linear-gradient(160deg, var(--gr-forest-deep), var(--gr-forest));
  color: var(--gr-white);
  box-shadow: 0 34px 80px -55px rgba(13, 28, 48, 0.75);
}
.page--guaranteed-rent .grs-compare__plate .grb-head h2 { color: var(--gr-white); }
.page--guaranteed-rent .grs-compare__plate .grb-head > p:last-child { color: rgba(251, 248, 242, 0.78); }
.page--guaranteed-rent .grs-compare__plate .grx-kicker { color: #e3c98f; }

.page--guaranteed-rent .grs-compare__scroll {
  overflow-x: auto;
  border-radius: 22px;
  background: var(--gr-white);
  box-shadow: 0 18px 44px -34px rgba(9, 20, 35, 0.8);
}
.page--guaranteed-rent .grs-compare__scroll:focus-visible {
  outline: 3px solid var(--gr-focus-on-dark);
  outline-offset: 3px;
}
.page--guaranteed-rent .grs-table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
  color: var(--gr-ink);
  font-size: clamp(0.9rem, 0.86rem + 0.2vw, 1.02rem);
}
.page--guaranteed-rent .grs-table th,
.page--guaranteed-rent .grs-table td {
  padding: 0.85rem clamp(0.9rem, 1.8vw, 1.6rem);
  border-bottom: 1px solid var(--gr-card-line);
  text-align: left;
  vertical-align: top;
}
.page--guaranteed-rent .grs-table thead th {
  color: var(--gr-night);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--gr-night);
}
.page--guaranteed-rent .grs-table tbody th[scope="row"] {
  color: var(--gr-ink);
  font-weight: 550;
  max-width: 32ch;
}
.page--guaranteed-rent .grs-table td {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.page--guaranteed-rent .grs-table .grs-table__gr {
  background: rgba(23, 72, 60, 0.09);
  color: var(--gr-forest-deep);
  font-weight: 700;
}
.page--guaranteed-rent .grs-table thead .grs-table__gr { color: var(--gr-forest-deep); }
.page--guaranteed-rent .grs-table__band th {
  padding-top: 1.3rem;
  color: var(--gr-forest);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.page--guaranteed-rent .grs-table__total th,
.page--guaranteed-rent .grs-table__total td {
  border-top: 2px solid var(--gr-night);
  border-bottom: 0;
  font-weight: 800;
  color: var(--gr-night);
}
.page--guaranteed-rent .grs-table__total .grs-table__gr { color: var(--gr-forest-deep); }
.page--guaranteed-rent tr.grs-table__total + tr.grs-table__band th { border-top: 0; }

.page--guaranteed-rent .grs-compare__notes {
  max-width: 62ch;
  margin: clamp(1.25rem, 2.5vw, 2rem) auto 0;
  display: grid;
  gap: 0.45rem;
}
.page--guaranteed-rent .grs-compare__notes p {
  margin: 0;
  color: rgba(251, 248, 242, 0.72);
  font-size: 0.88rem;
  line-height: 1.6;
}

/* ---- 08 two more verified voices inside the proof plate ---------------- */
.page--guaranteed-rent .grs-voices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(0.9rem, 1.8vw, 1.5rem);
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(1.5rem, 3vw, 2.5rem);
}
.page--guaranteed-rent .grs-voice {
  margin: 0;
  padding: clamp(1.25rem, 2.4vw, 1.8rem);
  border-radius: 22px;
  background: var(--gr-white);
  border: 1px solid var(--gr-card-line);
  display: grid;
  gap: 0.9rem;
  align-content: start;
}
.page--guaranteed-rent .grs-voice blockquote { margin: 0; }
.page--guaranteed-rent .grs-voice blockquote p {
  margin: 0;
  color: var(--gr-ink);
  font-size: 1.02rem;
  line-height: 1.6;
}
.page--guaranteed-rent .grs-voice figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  color: var(--gr-muted);
  font-size: 0.88rem;
}
.page--guaranteed-rent .grs-voice figcaption strong { color: var(--gr-night); }
.page--guaranteed-rent .grs-voice figcaption a { color: var(--gr-forest); }
.page--guaranteed-rent .grs-voice__avatar {
  display: grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 50%;
  background: var(--gr-night);
  color: var(--gr-white);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

/* ---- small screens ----------------------------------------------------- */
@media (max-width: 47.99em) {
  .page--guaranteed-rent .grv-list,
  .page--guaranteed-rent .grs-voices {
    grid-template-columns: minmax(0, 1fr);
  }
  .page--guaranteed-rent .grv-steps { flex-direction: column; align-items: stretch; }
  .page--guaranteed-rent .grv-steps li { justify-content: flex-start; }
  .page--guaranteed-rent .grv-chips li { white-space: normal; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .page--guaranteed-rent .grs-compare__scroll { scroll-behavior: auto; }
}

@media print {
  .page--guaranteed-rent .grs-compare__plate {
    background: none;
    color: #000;
    box-shadow: none;
  }
  .page--guaranteed-rent .grs-compare__notes p { color: #000; }
  .page--guaranteed-rent .grv-chips li { background: none; color: #000; border: 1px solid #000; }
}

/* ======================================================================
 * ROUND 3, 26 Aug 2026 (Aarav): width over length. Slots left and right
 * beside the copy, brass rules on every numbered kicker, points that are
 * BIG and visibly divided (ledger rows), a real step ladder instead of
 * button-looking pills, and Safety / Furniture as two cards side by side.
 * ==================================================================== */

/* every chapter kicker carries the hero's brass rules */
.page--guaranteed-rent .grv-band .grb-head .grx-kicker,
.page--guaranteed-rent .grs-compare__plate .grb-head .grx-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  max-width: none;
}
.page--guaranteed-rent .grv-band .grb-head .grx-kicker::before,
.page--guaranteed-rent .grv-band .grb-head .grx-kicker::after,
.page--guaranteed-rent .grs-compare__plate .grb-head .grx-kicker::before,
.page--guaranteed-rent .grs-compare__plate .grb-head .grx-kicker::after {
  content: "";
  width: clamp(34px, 4vw, 56px);
  height: 1px;
  background: currentColor;
  opacity: 0.55;
}

/* 01 guarantee: statements beside a portrait slot */
.page--guaranteed-rent .grv-guarantee__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: clamp(1.75rem, 3.5vw, 3.5rem);
  align-items: center;
}
.page--guaranteed-rent .grv-guarantee__slot { aspect-ratio: 4 / 5; max-height: 34rem; width: 100%; }
.page--guaranteed-rent .grv-statements { margin: 0; max-width: none; }
.page--guaranteed-rent .grv-statements p {
  max-width: none;
  font-size: clamp(1.1rem, 1.02rem + 0.4vw, 1.35rem);
}
.page--guaranteed-rent .grv-statements li {
  padding: clamp(1.1rem, 2vw, 1.5rem);
  border-radius: 18px;
  background: rgba(251, 248, 242, 0.07);
}

/* 02 service: slot on the left, seven big divided rows on the right */
.page--guaranteed-rent .grv-provide__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(1.75rem, 3.5vw, 3.5rem);
  align-items: stretch;
}
.page--guaranteed-rent .grv-provide__slot { aspect-ratio: auto; height: 100%; min-height: 26rem; }

/* the divided-row voice: every point is its own plate, big enough to read
   from the sofa */
.page--guaranteed-rent .grv-list--rows {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(0.6rem, 1.2vw, 0.85rem);
  max-width: none;
  margin: 0;
}
.page--guaranteed-rent .grv-list--rows li {
  padding: clamp(0.85rem, 1.6vw, 1.1rem) clamp(1rem, 2vw, 1.4rem) clamp(0.85rem, 1.6vw, 1.1rem) 3.1rem;
  border-radius: 14px;
  background: var(--gr-beige);
  color: var(--gr-night);
  font-size: clamp(1.02rem, 0.97rem + 0.3vw, 1.18rem);
  font-weight: 550;
}
.page--guaranteed-rent .grv-list--rows li::before {
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  background: var(--gr-forest);
  color: var(--gr-white);
}

/* 03 how: a numbered ladder, not buttons - big display numerals over copy */
.page--guaranteed-rent .grv-ladder {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2.5vw, 2.25rem);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.page--guaranteed-rent .grv-ladder li {
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.25rem, 2.5vw, 2rem);
  border-radius: 22px;
  background: var(--gr-white);
  text-align: center;
  box-shadow: 0 18px 40px -32px rgba(13, 28, 48, 0.5);
}
.page--guaranteed-rent .grv-ladder__num {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--gr-forest);
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 2rem + 1.6vw, 3.6rem);
  font-weight: 700;
  line-height: 1;
}
.page--guaranteed-rent .grv-ladder h3 {
  margin: 0 0 0.4rem;
  color: var(--gr-night);
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.7rem);
  font-weight: 400;
  letter-spacing: -0.015em;
}
.page--guaranteed-rent .grv-ladder p {
  margin: 0 auto;
  max-width: 30ch;
  color: var(--gr-muted);
  font-size: 0.98rem;
  line-height: 1.55;
}

/* 05 benefits: chips step up a size */
.page--guaranteed-rent .grv-chips li {
  padding: 0.85rem 1.4rem;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.12rem);
}

/* 07 requirements: Safety and Furniture side by side, each its own card */
.page--guaranteed-rent .grv-require__duo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  align-items: start;
}
.page--guaranteed-rent .grv-require__card {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: 22px;
  background: var(--gr-beige);
}
.page--guaranteed-rent .grv-require__card .grv-list--rows li { background: var(--gr-white); }
.page--guaranteed-rent .grv-require__cardhead h3 {
  margin: 0 0 0.6rem;
  padding-bottom: 0.6rem;
  border-bottom: 2px solid var(--gr-forest);
  color: var(--gr-forest-deep);
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 1.4rem + 1.2vw, 2.5rem);
  font-weight: 400;
  letter-spacing: -0.02em;
}
.page--guaranteed-rent .grv-require__card .grv-require__intro { margin-bottom: 1.1rem; }
.page--guaranteed-rent .grv-require__card .grv-require__note { background: var(--gr-rose-field); }

/* small screens: everything stacks, slots follow their copy */
@media (max-width: 61.99em) {
  .page--guaranteed-rent .grv-guarantee__grid,
  .page--guaranteed-rent .grv-provide__grid,
  .page--guaranteed-rent .grv-require__duo {
    grid-template-columns: minmax(0, 1fr);
  }
  .page--guaranteed-rent .grv-provide__slot { order: 2; min-height: 16rem; }
  .page--guaranteed-rent .grv-guarantee__slot { max-height: 24rem; }
  .page--guaranteed-rent .grv-ladder { grid-template-columns: minmax(0, 1fr); }
}

/* ======================================================================
 * ROUND 4, 26 Aug 2026 (Aarav): the old photographs fill the two slots,
 * the switch chapter leaves white (hard to tell apart), and both tables
 * get a SOLID forest Dukes column so the winner is never in doubt. The
 * footnote print under the numbers is gone.
 * ==================================================================== */

/* 04 the switch: warm beige plate so the white table stands off it */
.page--guaranteed-rent .grv-switch .grv-inner {
  background: var(--gr-beige);
  border: 0;
}

/* the switch table verdict goes solid: white usual-way column, forest
   Dukes column with cream text and gold ticks */
.page--guaranteed-rent .grv-switch__scroll { border: 0; }
.page--guaranteed-rent .grv-switch__table thead th {
  background: var(--gr-white);
}
.page--guaranteed-rent .grv-switch__table thead th.grv-switch__to {
  background: var(--gr-forest-deep);
  color: #e3c98f;
  border-bottom-color: var(--gr-forest-deep);
}
.page--guaranteed-rent .grv-switch__table tbody td { background: var(--gr-white); }
.page--guaranteed-rent .grv-switch__table tbody td.grv-switch__to {
  background: var(--gr-forest);
  color: var(--gr-white);
  border-bottom-color: rgba(251, 248, 242, 0.18);
}
.page--guaranteed-rent .grv-switch__table tbody td.grv-switch__to::before {
  color: #e3c98f;
}

/* 06 the numbers: the Guaranteed Rent column is SOLID forest, cream
   figures, gold on the totals - unmissable against Details / Management */
.page--guaranteed-rent .grs-table .grs-table__gr {
  background: var(--gr-forest);
  color: var(--gr-white);
  border-bottom-color: rgba(251, 248, 242, 0.18);
}
.page--guaranteed-rent .grs-table thead .grs-table__gr {
  background: var(--gr-forest-deep);
  color: #e3c98f;
  border-bottom-color: var(--gr-forest-deep);
}
.page--guaranteed-rent .grs-table__total .grs-table__gr {
  color: #e3c98f;
  border-top-color: rgba(251, 248, 242, 0.35);
}
.page--guaranteed-rent .grs-table__band .grs-table__gr { background: var(--gr-forest); }

/* ======================================================================
 * ROUND 5+6, 26 Aug 2026 (Aarav): round 5 detached the three columns
 * into separate boxes; Aarav called them back together. Verdict: ONE
 * table card (the original white scroll plate), but every column keeps
 * its OWN ground - Details on premium white, Management service on warm
 * beige, Guaranteed Rent solid forest - so the columns still read apart
 * without the table falling into three pieces.
 * ==================================================================== */
.page--guaranteed-rent .grs-table thead th { background: var(--gr-white); }
.page--guaranteed-rent .grs-table tbody th[scope="row"] { background: var(--gr-white); }
.page--guaranteed-rent .grs-table thead th:nth-child(2),
.page--guaranteed-rent .grs-table tbody td:nth-child(2) { background: var(--gr-beige); }

/* ======================================================================
 * ROUND 7, 26 Aug 2026 (Aarav): "completely different design for the
 * table" - the ruled grid is RETIRED (every .grs-table / __scroll rule
 * above is now inert; the markup is gone). The numbers are a ledger
 * duel: one floating cream card per line on the forest plate, air
 * between cards instead of horizontal rules, the Guaranteed Rent answer
 * as a column of solid forest chips, totals as dark verdict cards and
 * the net-monthly line scaled up as the closing verdict.
 * ==================================================================== */
.page--guaranteed-rent .grs2 {
  display: grid;
  gap: clamp(8px, 1vw, 12px);
  max-width: 62rem;
  margin: 0 auto;
}
.page--guaranteed-rent .grs2__sr {
  position: absolute;
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
}
.page--guaranteed-rent .grs2__head,
.page--guaranteed-rent .grs2__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(6.5rem, 11vw, 9.5rem) clamp(6.5rem, 11vw, 9.5rem);
  align-items: center;
  gap: clamp(0.6rem, 1.5vw, 1.25rem);
}
.page--guaranteed-rent .grs2__head { padding-inline: clamp(1rem, 2vw, 1.6rem) 0; }
.page--guaranteed-rent .grs2__corner,
.page--guaranteed-rent .grs2__collab {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(251, 248, 242, 0.72);
}
.page--guaranteed-rent .grs2__collab { text-align: right; }
.page--guaranteed-rent .grs2__collab--gr { color: #e3c98f; }
.page--guaranteed-rent .grs2__row {
  background: var(--gr-white);
  border-radius: 16px;
  padding: clamp(0.55rem, 1.1vw, 0.7rem) clamp(0.55rem, 1.1vw, 0.7rem)
           clamp(0.55rem, 1.1vw, 0.7rem) clamp(1rem, 2vw, 1.6rem);
  color: var(--gr-ink);
  box-shadow: 0 16px 34px -28px rgba(9, 20, 35, 0.75);
}
.page--guaranteed-rent .grs2__label {
  font-weight: 550;
  line-height: 1.35;
}
.page--guaranteed-rent .grs2__label small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.82rem;
  color: rgba(28, 36, 48, 0.62);
  line-height: 1.4;
}
.page--guaranteed-rent .grs2__val {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  color: var(--gr-night);
  padding-right: clamp(0.5rem, 1vw, 0.9rem);
}
/* the answer chip: the GR value owns its whole column as a solid forest
   plate inside the card, so the scheme reads as one green ribbon falling
   down the page without ever being a table column */
.page--guaranteed-rent .grs2__val--gr {
  background: var(--gr-forest);
  color: var(--gr-white);
  border-radius: 11px;
  padding: 0.6rem clamp(0.7rem, 1.4vw, 1rem);
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.page--guaranteed-rent .grs2__kicker {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin: clamp(0.8rem, 1.8vw, 1.3rem) 0 0.15rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #e3c98f;
}
.page--guaranteed-rent .grs2__kicker::before {
  content: "";
  width: clamp(26px, 3vw, 42px);
  height: 1px;
  background: currentColor;
  opacity: 0.55;
}
/* totals: the card itself goes dark - ink navy, gold answer */
.page--guaranteed-rent .grs2__row--total {
  background: var(--gr-forest-deep);
  color: var(--gr-white);
}
.page--guaranteed-rent .grs2__row--total .grs2__label { font-weight: 800; }
.page--guaranteed-rent .grs2__row--total .grs2__label small { color: rgba(251, 248, 242, 0.6); }
.page--guaranteed-rent .grs2__row--total .grs2__val { color: var(--gr-white); font-weight: 800; }
.page--guaranteed-rent .grs2__row--total .grs2__val--gr { color: #e3c98f; }
/* the closing verdict: net monthly, scaled up */
.page--guaranteed-rent .grs2__row--verdict .grs2__val {
  font-size: clamp(1.02rem, 1.5vw, 1.3rem);
}
@media (max-width: 40em) {
  .page--guaranteed-rent .grs2__head { grid-template-columns: 1fr 1fr; padding-inline: 0.25rem; }
  .page--guaranteed-rent .grs2__corner { display: none; }
  .page--guaranteed-rent .grs2__collab:not(.grs2__collab--gr) { text-align: left; }
  .page--guaranteed-rent .grs2__row {
    grid-template-columns: 1fr 1fr;
    row-gap: 0.5rem;
    padding: 0.8rem 0.6rem 0.6rem 0.9rem;
  }
  .page--guaranteed-rent .grs2__label { grid-column: 1 / -1; padding-right: 0.5rem; }
  .page--guaranteed-rent .grs2__val { text-align: left; padding-right: 0; }
  .page--guaranteed-rent .grs2__val--gr { justify-content: flex-end; text-align: right; }
}

/* ---- ROUND 8, 26 Aug 2026 (Aarav): every figure explains itself -------
   "a client wouldn't know what the numbers mean". Each value is now a
   number with its own tiny label ("typical management" / "guaranteed
   rent") INSIDE every card, the redundant head row is gone from the
   markup, and a one-line verdict in plain English closes the ledger. */
.page--guaranteed-rent .grs2__val {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.12rem;
}
.page--guaranteed-rent .grs2__num { font-variant-numeric: tabular-nums; }
.page--guaranteed-rent .grs2__tag {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(28, 36, 48, 0.48);
  white-space: nowrap;
}
.page--guaranteed-rent .grs2__val--gr { justify-content: center; }
.page--guaranteed-rent .grs2__val--gr .grs2__tag { color: rgba(251, 248, 242, 0.66); }
.page--guaranteed-rent .grs2__row--total .grs2__tag { color: rgba(251, 248, 242, 0.55); }
.page--guaranteed-rent .grs2__row--total .grs2__val--gr .grs2__tag { color: rgba(227, 201, 143, 0.8); }
.page--guaranteed-rent .grs2__moral {
  max-width: 58ch;
  margin: clamp(1.4rem, 2.8vw, 2.1rem) auto 0;
  text-align: center;
  color: rgba(251, 248, 242, 0.82);
  font-size: 0.98rem;
  line-height: 1.65;
}
.page--guaranteed-rent .grs2__moral strong { color: #e3c98f; }

/* ======================================================================
 * ROUND 9, 26 Aug 2026 (Aarav): "the text is super compact - make it
 * clean, give it space, use the whole page." The hero copy takes the
 * larger share of the plate, the promise breathes (taller line-height,
 * air between every element), and the lead reads at proper size.
 * ==================================================================== */
@media (min-width: 62em) {
  .page--guaranteed-rent .grb-hero__grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  }
}
.page--guaranteed-rent .grb-hero__copy {
  padding: clamp(3.5rem, 6vw, 6.5rem) clamp(2rem, 4vw, 4.75rem);
}
.page--guaranteed-rent .grb-hero__copy .grx-kicker {
  margin-bottom: clamp(1.5rem, 2.4vw, 2.25rem);
}
.page--guaranteed-rent .grb-hero__copy:not(#p#q#r) > h1.grs-promise {
  line-height: 1.14 !important;
  margin-bottom: clamp(1.5rem, 2.6vw, 2.4rem) !important;
}
.page--guaranteed-rent .grs-promise span { margin-top: 0.08em; }
.page--guaranteed-rent .grb-hero__lead {
  font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.32rem);
  line-height: 1.65;
  max-width: 44ch;
  margin-inline: auto;
  margin-bottom: clamp(1.75rem, 2.8vw, 2.6rem);
}
.page--guaranteed-rent .grb-hero__copy .grx-actions {
  gap: clamp(0.9rem, 1.4vw, 1.25rem);
  margin-bottom: clamp(1.5rem, 2.4vw, 2.25rem);
}
@media (max-width: 40em) {
  .page--guaranteed-rent .grs2__val { align-items: flex-start; }
  .page--guaranteed-rent .grs2__val--gr { align-items: flex-end; }
}

/* ======================================================================
 * ROUND 10, 26 Aug 2026 (Aarav, from his phone on the live site): "on
 * phone it looks bad". Two phone cures, layered LAST so they win.
 * 1) The switch table's min-width forced a horizontal scroll on phones,
 *    so the left column read as chopped fragments ("ng with"). Below
 *    48em the from/to table linearises: each row becomes its own card,
 *    muted x line on top, forest tick answer beneath - nothing scrolls
 *    sideways. The thead hides; the x/tick grammar carries the columns.
 * 2) The ledger duel's phone rows were lopsided - bare number on the
 *    left, heavy forest chip pinned right. Both values now sit as equal
 *    centred chips under the label, so every row reads as a tidy pair.
 * ==================================================================== */
@media (max-width: 47.99em) {
  .page--guaranteed-rent .grv-switch__scroll {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .page--guaranteed-rent .grv-switch__table {
    min-width: 0;
    display: block;
  }
  .page--guaranteed-rent .grv-switch__table thead { display: none; }
  .page--guaranteed-rent .grv-switch__table tbody {
    display: grid;
    gap: 0.7rem;
  }
  .page--guaranteed-rent .grv-switch__table tbody tr {
    display: block;
    background: var(--gr-white);
    border: 1px solid var(--gr-card-line);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 14px 30px -26px rgba(9, 20, 35, 0.55);
  }
  .page--guaranteed-rent .grv-switch__table tbody td {
    display: block;
    width: 100%;
    border-bottom: 0;
    padding: 0.85rem 1.05rem 0.7rem 2.35rem;
  }
  .page--guaranteed-rent .grv-switch__table tbody td::before {
    left: 1.05rem;
    top: 0.95rem;
  }
  .page--guaranteed-rent .grv-switch__table tbody td.grv-switch__to {
    padding-top: 0.8rem;
    padding-bottom: 0.9rem;
  }
}
@media (max-width: 40em) {
  .page--guaranteed-rent .grs2__val {
    background: rgba(28, 36, 48, 0.06);
    border-radius: 11px;
    padding: 0.55rem 0.4rem;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .page--guaranteed-rent .grs2__val--gr {
    /* re-assert the forest plate: the chip rule above ties on specificity
       and would otherwise wash the answer chip out to pale ink */
    background: var(--gr-forest);
    align-items: center;
    text-align: center;
  }
  .page--guaranteed-rent .grs2__row--total .grs2__val:not(.grs2__val--gr) {
    background: rgba(251, 248, 242, 0.1);
  }
}
