.brs-york-premium {
  --york-midnight: #071c2c;
  --york-navy: #0d3347;
  --york-ink: #17343d;
  --york-muted: #5b7077;
  --york-bronze: #c58a49;
  --york-gold: #ebc777;
  --york-green: #167c5a;
  --york-line: #d9d9cf;
  box-sizing: border-box;
  padding: clamp(58px, 8vw, 104px) 18px;
  background:
    radial-gradient(circle at 94% 5%, rgba(235, 199, 119, .19), transparent 25%),
    radial-gradient(circle at 7% 95%, rgba(22, 124, 90, .09), transparent 31%),
    #f6f3eb;
  color: var(--york-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.brs-york-premium,
.brs-york-premium *,
.brs-york-premium *::before,
.brs-york-premium *::after { box-sizing: border-box; }

.brs-york-premium__shell { width: min(1160px, 100%); margin: 0 auto; }
.brs-york-premium__heading { max-width: 870px; }
.brs-york-premium__heading > span,
.brs-york-premium__section-heading > span,
.brs-york-places article > span,
.brs-york-access span {
  color: #8b5a23;
  font-size: .73rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.brs-york-premium__heading > span { display: inline-flex; align-items: center; gap: 12px; }
.brs-york-premium__heading > span::before { width: 30px; height: 3px; border-radius: 99px; background: var(--york-bronze); content: ""; }
.brs-york-premium__heading h2 {
  max-width: 830px;
  margin: 15px 0 19px;
  color: var(--york-midnight);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.35rem, 5vw, 4.65rem);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: .98;
}
.brs-york-premium__heading p { max-width: 800px; margin: 0; color: var(--york-muted); font-size: 1.08rem; line-height: 1.75; }

.brs-york-premium__summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 38px 0 70px; overflow: hidden; border: 1px solid rgba(235, 199, 119, .24); border-radius: 30px 7px 30px 7px; background: rgba(235, 199, 119, .24); box-shadow: 0 25px 64px rgba(7, 28, 44, .16); }
.brs-york-premium__summary article { min-height: 180px; padding: 28px; background: linear-gradient(145deg, var(--york-midnight), var(--york-navy)); }
.brs-york-premium__summary strong { color: #fff; font-size: 1.08rem; }
.brs-york-premium__summary p { margin: 12px 0 0; color: #cfdbde; font-size: .94rem; line-height: 1.65; }

.brs-york-premium__section-heading { display: grid; grid-template-columns: .72fr 1.28fr; column-gap: 42px; align-items: end; margin-bottom: 25px; }
.brs-york-premium__section-heading > span { grid-column: 1; }
.brs-york-premium__section-heading h3 { grid-column: 1; margin: 9px 0 0; color: var(--york-midnight); font-size: clamp(1.75rem, 3vw, 2.65rem); letter-spacing: -.04em; line-height: 1.05; }
.brs-york-premium__section-heading p { grid-column: 2; grid-row: 1 / span 2; max-width: 520px; margin: 0; color: var(--york-muted); line-height: 1.65; }

.brs-york-postcodes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.brs-york-postcodes article { display: grid; grid-template-columns: 66px 1fr; gap: 16px; min-width: 0; padding: 21px; border: 1px solid var(--york-line); border-radius: 22px 6px 22px 6px; background: rgba(255,255,255,.82); box-shadow: 0 12px 34px rgba(7, 28, 44, .05); }
.brs-york-postcodes b { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px 5px 18px 5px; background: var(--york-midnight); color: var(--york-gold); font-size: 1rem; letter-spacing: .04em; }
.brs-york-postcodes strong { color: var(--york-navy); font-size: .98rem; line-height: 1.35; }
.brs-york-postcodes p { margin: 7px 0 0; color: var(--york-muted); font-size: .88rem; line-height: 1.55; }
.brs-york-premium__postcode-note { margin: 17px 0 0; color: #66777b; font-size: .83rem; line-height: 1.55; }

.brs-york-places { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 65px; }
.brs-york-places article { padding: 32px; border: 1px solid var(--york-line); border-radius: 32px 8px 32px 8px; background: #fffdf8; }
.brs-york-places article:last-child { background: #e9f2ed; }
.brs-york-places h3 { margin: 10px 0 13px; color: var(--york-midnight); font-size: 1.45rem; letter-spacing: -.025em; }
.brs-york-places p { margin: 0; color: var(--york-muted); line-height: 1.72; }

.brs-york-access { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; margin-top: 18px; padding: 34px; border-radius: 32px 8px 32px 8px; background: radial-gradient(circle at 91% 8%, rgba(235,199,119,.2), transparent 28%), var(--york-midnight); box-shadow: 0 26px 65px rgba(7, 28, 44, .2); }
.brs-york-access span { color: var(--york-gold); }
.brs-york-access h3 { margin: 8px 0 10px; color: #fff; font-size: 1.55rem; letter-spacing: -.025em; }
.brs-york-access p { max-width: 760px; margin: 0; color: #ccdadd; line-height: 1.67; }
.brs-york-premium__action { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 13px 20px; border-radius: 13px 4px 13px 4px; background: linear-gradient(135deg, var(--york-gold), var(--york-bronze)); color: #26190c !important; font-size: .92rem; font-weight: 900; text-decoration: none !important; white-space: nowrap; }
.brs-york-premium__action:hover, .brs-york-premium__action:focus-visible { filter: brightness(1.06); transform: translateY(-1px); }

@media (max-width: 900px) {
  .brs-york-premium__summary,
  .brs-york-postcodes { grid-template-columns: 1fr 1fr; }
  .brs-york-premium__summary article:last-child { grid-column: 1 / -1; }
  .brs-york-premium__section-heading { grid-template-columns: 1fr; }
  .brs-york-premium__section-heading p { grid-column: 1; grid-row: auto; margin-top: 14px; }
  .brs-york-access { grid-template-columns: 1fr; }
  .brs-york-premium__action { justify-self: start; }
}

@media (max-width: 620px) {
  .brs-york-premium { padding-inline: 14px; }
  .brs-york-premium__summary,
  .brs-york-postcodes,
  .brs-york-places { grid-template-columns: 1fr; }
  .brs-york-premium__summary article:last-child { grid-column: 1; }
  .brs-york-premium__summary article { min-height: 0; padding: 24px; }
  .brs-york-postcodes article { grid-template-columns: 58px 1fr; padding: 17px; }
  .brs-york-postcodes b { width: 52px; height: 52px; }
  .brs-york-places article,
  .brs-york-access { padding: 24px 20px; }
  .brs-york-premium__action { width: 100%; }
}
