/* Kettle & Key v2 · lettings */
.pk { min-width: 720px; }
.pk tbody th { font-weight: 500; }
.pk thead th { font-size: 13px; }
.pk thead th.hot { background: var(--board); color: var(--ink); }
.pk td.hot { background: #FFF7D6; }
.pk-price td { font-size: 15px; }
.pk-price b { display: block; font-size: clamp(34px, 3.4vw, 50px); font-stretch: 80%; letter-spacing: -.03em; line-height: 1; }
.pk-price .spec { display: block; margin-top: 6px; font-size: 11.5px; }
.est-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: start; }
.re-form { display: grid; gap: 18px; margin-top: 26px; }
.re-out { background: var(--ink); color: #fff; padding: clamp(24px, 3vw, 40px); display: grid; gap: 10px; justify-items: start; }
.re-out .eo-range { font-size: clamp(36px, 4.2vw, 64px); font-weight: 700; font-stretch: 78%; letter-spacing: -.035em; line-height: .95; margin: 10px 0 0; }
.re-out .eo-range span { font-size: 20px; font-weight: 500; letter-spacing: 0; }
.re-out .eo-mid { margin: 0; color: #C7D0D9; }
.re-out .eo-mid strong { color: var(--board); }
.re-kv { margin: 8px 0 12px; width: 100%; border-top: 1px solid #344253; }
.re-kv div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #344253; }
.re-kv dt { color: #C7D0D9; }
.re-kv dd { margin: 0; font-family: var(--mono); }
@media (max-width: 900px) { .est-grid2 { grid-template-columns: 1fr; } }
.rr-lede { margin-bottom: 32px; }
.rr { list-style: none; counter-reset: r; display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; border-top: 1px solid var(--ink); }
.rr li { counter-increment: r; padding: 24px 0 24px 64px; position: relative; border-bottom: 1px solid var(--line); }
.rr li::before { content: '0' counter(r); position: absolute; left: 0; top: 26px; font: 500 14px var(--mono); background: var(--board); padding: 5px 7px; }
.rr h3 { font-size: 22px; font-stretch: 90%; margin-bottom: 6px; }
.rr p { margin: 0; color: var(--slate); }
@media (max-width: 800px) { .rr { grid-template-columns: 1fr; } }
.comp { margin-top: 56px; display: grid; grid-template-columns: 1fr 2fr; gap: 32px; }
@media (max-width: 800px) { .comp { grid-template-columns: 1fr; } }
.af-form { display: grid; gap: 16px; margin: 24px 0 20px; justify-items: start; }
.af-form .frow { width: 100%; }
.af-n { font-size: 40px; font-stretch: 80%; }
.need { margin: 0; display: grid; border-top: 1px solid var(--ink); }
.need div { padding: 22px 0; border-bottom: 1px solid var(--line); }
.need dt { font-size: 22px; font-weight: 700; font-stretch: 90%; margin-bottom: 6px; }
.need dd { margin: 0; color: var(--slate); }
.need a { color: var(--ink); font-weight: 600; }
