/* Stay page: the experience, rooms and booking, then practical details. */
.stay-page .stay-hero{padding:48px 0 0}.stay-hero-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;margin-bottom:32px}.stay-page h1{font-size:clamp(32px,3.6vw,51px);letter-spacing:.045em;line-height:1.55}.stay-hero-copy p{margin:0 0 22px}.stay-photo{margin:0;min-width:0}.stay-page .stay-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.stay-photo figcaption{font-size:13px;line-height:1.8;color:var(--muted);padding:10px 0 0}.stay-page .stay-hero-photo img{aspect-ratio:2.1;object-position:center 68%}.stay-page .section{padding:64px 0}.stay-page .section-heading{margin-bottom:28px}.stay-page .stay-jump{margin:30px 0 0;gap:8px 25px}.stay-reasons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}.stay-reason{min-width:0}.stay-reason img{aspect-ratio:3/2;object-fit:cover;margin-bottom:20px}.stay-reason .eyebrow{font-size:12px;margin-bottom:8px}.stay-reason h3{font-size:23px;line-height:1.6;margin-bottom:12px}.stay-reason p{font-size:16px;line-height:1.9;margin-bottom:16px}.stay-reason.secondary{border-top:1px solid var(--line);padding-top:24px}.stay-room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.stay-room h3{font-size:24px;margin:22px 0 8px}.stay-room p{font-size:16px}.stay-room .room-capacity{font-size:14px;color:var(--muted);margin:0 0 10px}.stay-page .room-basics{margin-top:28px;padding:20px 24px;background:var(--soft);font-size:15px}.stay-page .room-basics p:last-child{margin-bottom:0}.stay-page #rates{background:var(--soft);padding:35px;margin-top:0;border:0}.stay-page #rates .notice{background:var(--paper);margin:24px 0;padding:20px}.stay-page #rates .notice p{font-size:15px}.stay-page .stay-story-row{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;margin-bottom:48px}.stay-story-copy h3{font-size:27px;margin-bottom:20px}.stay-story-copy p{font-size:17px;line-height:2}.stay-page .stay-story-row:nth-of-type(odd) .stay-story-copy{order:-1}.stay-page .stay-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px}.stay-pair h3{font-size:24px;margin:20px 0 12px}.stay-pair p{font-size:16px}.stay-work{margin-top:36px;padding:28px;background:var(--soft);display:grid;grid-template-columns:1fr 1fr;gap:36px}.stay-work h3{margin-bottom:12px;font-size:23px}.stay-work p{font-size:16px}.stay-page #water .stay-water-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.stay-page #water p{font-size:16px}.stay-page .stay-diary{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.stay-page .rate-table{width:100%;font-size:14px}.stay-page .rate-table th,.stay-page .rate-table td{padding:10px;overflow-wrap:anywhere}.stay-page details{scroll-margin-top:120px}.stay-page .details-body{overflow-x:auto}.stay-page .booking-cta{margin-top:32px}.stay-page .section:last-child{border-bottom:0}
@media(max-width:800px){.stay-page .stay-hero{padding-top:30px}.stay-hero-copy{grid-template-columns:1fr;gap:22px;margin-bottom:26px}.stay-page .stay-hero-photo img{aspect-ratio:4/3;object-position:center 65%}.stay-reasons{grid-template-columns:1fr 1fr;gap:28px 22px}.stay-room-grid{grid-template-columns:1fr;gap:30px}.stay-page .stay-story-row,.stay-page #water .stay-water-layout,.stay-page .stay-diary{grid-template-columns:1fr;gap:22px}.stay-page .stay-story-row:nth-of-type(odd) .stay-story-copy{order:initial}.stay-page .section{padding:42px 0}.stay-page #rates{padding:24px 20px}.stay-page .stay-pair{gap:26px}.stay-work{gap:24px;padding:22px}.stay-page h2{font-size:28px}.stay-page .stay-jump{font-size:14px}.stay-page .stay-room img{aspect-ratio:3/2}}
@media(max-width:520px){.stay-reasons,.stay-page .stay-pair,.stay-work{grid-template-columns:1fr}.stay-reason h3{font-size:23px}.stay-page .stay-hero-copy .button{width:100%}.stay-page .stay-story-copy h3{font-size:25px}.stay-page .stay-story-copy p{font-size:16px}.stay-page .room-basics{padding:18px}.stay-page #rates .button{width:100%}.stay-page #rates .rate-table{font-size:12px}.stay-page #rates .rate-table th,.stay-page #rates .rate-table td{padding:7px 5px}.stay-page .stay-jump{gap:5px 18px}.stay-page .stay-photo figcaption{font-size:12px}}

@media(max-width:520px){.stay-page h1{font-size:clamp(22px,6.3vw,32px);letter-spacing:.035em;line-height:1.65}}
