.stays-hero { padding:clamp(4.5rem,9vw,8.5rem) max(2rem,calc((100vw - 1420px)/2)); display:grid; grid-template-columns:1.35fr .55fr; gap:clamp(3rem,8vw,8rem); align-items:end; color:var(--cream); background:var(--forest); }
.stays-hero h1 { max-width:900px; margin-bottom:1.5rem; }
.stays-hero>div>p:not(.eyebrow) { max-width:760px; margin:0; color:rgba(250,247,238,.8); font-family:var(--serif); font-size:clamp(1.2rem,2vw,1.55rem); }
.stays-note { padding:1.5rem; display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; color:var(--forest); background:var(--gold); border-radius:.25rem; box-shadow:8px 8px 0 rgba(0,0,0,.15); transform:rotate(1deg); }
.stays-note span { font-size:1.5rem; }
.stays-note p { margin:0; font-family:var(--sans)!important; font-size:.95rem!important; color:var(--forest)!important; }
.stay-directory { padding:clamp(5rem,9vw,8.5rem) max(2rem,calc((100vw - 1420px)/2)); background:var(--cream-deep); }
.stays-heading { margin-bottom:3.2rem; }
.stay-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.stay-card { min-height:430px; padding:1.7rem; display:flex; flex-direction:column; justify-content:space-between; color:var(--forest); background:var(--cream); border:1px solid var(--line); border-radius:.25rem; text-decoration:none; transition:transform 170ms ease,box-shadow 170ms ease; }
.stay-card:hover { transform:translateY(-5px); box-shadow:0 12px 0 rgba(23,60,50,.08); }
.stay-card-shropshire { color:var(--cream); background:var(--rust); border-color:var(--rust-dark); }
.stay-card-lakes { background:#d8c77d; }
.stay-card-torbay { background:#aed4d5; }
.stay-card-northumberland { color:var(--cream); background:#35594c; }
.stay-number { width:2.6rem; height:2.6rem; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:.72rem; font-weight:800; }
.stay-card h3 { margin-bottom:1.2rem; font-size:clamp(2.7rem,4vw,4.4rem); font-weight:500; line-height:.98; letter-spacing:-.04em; }
.stay-card div>p:not(.guide-kicker) { max-width:390px; margin:0 0 1.5rem; }
.stay-link { display:inline-flex; gap:.9rem; font-weight:800; text-decoration:underline; text-underline-offset:.35rem; }
.booking-note { max-width:960px; margin:clamp(4rem,7vw,6rem) auto 0; padding:2rem; display:grid; grid-template-columns:auto 1fr; gap:1.4rem; color:var(--cream); background:var(--forest); border-radius:.25rem; }
.booking-note>span { color:var(--rust); font-size:1.5rem; }
.booking-note h2 { margin:0 0 .35rem; font-size:1.6rem; }
.booking-note p { margin:0; color:rgba(250,247,238,.78); }
@media (max-width:900px) {
  .stays-hero { grid-template-columns:1fr; gap:2.5rem; }
  .stays-note { max-width:520px; }
  .stay-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:620px) {
  .stays-hero,.stay-directory { padding-left:1.35rem; padding-right:1.35rem; }
  .stay-grid { grid-template-columns:1fr; }
  .stay-card { min-height:350px; }
  .booking-note { grid-template-columns:1fr; }
}
