.retreat-page { background: #f8f0df url("assets/paper-texture.svg") repeat; }
.retreat-main { width: min(1240px, 91vw); margin: 0 auto; padding: clamp(8rem, 11vw, 11rem) 0 5rem; }
.retreat-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; min-height: 68vh; }
.retreat-hero__copy .eyebrow { font-size: clamp(.9rem, 1.8vw, 1.35rem); }
.retreat-hero h1 { font-size: clamp(3.8rem, 7.8vw, 8rem); line-height: .95; margin: .4rem 0 2rem; }
.retreat-hero h1 em { font-style: normal; color: var(--cobalt); }
.retreat-lead { font-size: clamp(1.6rem, 2.4vw, 2.4rem); line-height: 1.25; max-width: 600px; }
.retreat-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 2rem; }
.retreat-actions .paper-button { display: inline-block; text-decoration: none; white-space: nowrap; }
.retreat-photo-placeholder { min-height: 250px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; border: 10px solid #fffaf2; box-shadow: 8px 12px 24px rgb(41 43 35 / .17); background: radial-gradient(ellipse at 70% 20%,rgb(195 154 50 / .17),transparent 40%),linear-gradient(155deg,#ede5cf,#d8e2dc); color: #43483d; text-align: center; font: 1.8rem/1.1 var(--notes); transform: rotate(2deg); }
.retreat-photo-placeholder--hero { min-height: 500px; transform: rotate(3deg); }
.retreat-photo-placeholder__mark { color: var(--ochre); font: 5rem/1 var(--notes); }
.retreat-photo-placeholder small { font: 1rem var(--notes); }
.retreat-section { padding: clamp(4rem, 9vw, 8rem) 0; }
.retreat-section h2 { font-size: clamp(3.4rem, 6vw, 6rem); }
.retreat-intro__text { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; max-width: 1000px; font-size: clamp(1.45rem, 1.9vw, 1.85rem); line-height: 1.35; }
.retreat-ideas { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem, 2vw, 2rem); margin-top: 3rem; }
.retreat-ideas article { padding: clamp(1.5rem, 2.5vw, 2.5rem); background: #f7f1e4; border: 1px solid rgb(41 43 35 / .24); box-shadow: 5px 7px 0 rgb(41 43 35 / .08); }
.retreat-ideas article:nth-child(2) { transform: rotate(-2deg); background: #f0e2bb; }
.retreat-ideas article:nth-child(3) { transform: rotate(1.5deg); }
.retreat-ideas article > span { color: var(--cobalt); font: 3rem/1 var(--notes); }
.retreat-ideas h3 { font-size: clamp(2rem, 3vw, 3rem); margin-top: 1rem; }
.retreat-ideas p { font-size: 1.45rem; line-height: 1.2; margin: 0; }
.retreat-aside, .retreat-asterisk { font: 1.5rem/1.2 var(--notes); transform: rotate(-1deg); margin-top: 2.8rem; }
.retreat-spaces { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; }
.retreat-spaces > div > p:last-child { font-size: 1.55rem; line-height: 1.3; }
.retreat-photo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.retreat-photo-pair .retreat-photo-placeholder:nth-child(2) { transform: rotate(-3deg) translateY(2rem); }
.retreat-photo-pair .retreat-photo-placeholder__mark { font-size: 3.5rem; }
.retreat-details > p:not(.eyebrow) { max-width: 850px; font-size: 1.6rem; line-height: 1.3; }
.retreat-plan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 3vw, 3rem); margin-top: 2rem; }
.retreat-plan-note { padding: clamp(1.5rem, 3vw, 3rem); background: #f2dfa7; transform: rotate(-1deg); box-shadow: 6px 8px 0 rgb(41 43 35 / .1); font: 1.5rem/1.2 var(--notes); }
.retreat-plan-note--extras { background: #d7e1e0; transform: rotate(1deg); }
.retreat-plan-note strong { display: block; font-size: 1.85rem; margin-bottom: 1rem; }
.retreat-plan-note ul { margin-bottom: 0; padding-left: 1.5rem; }
.retreat-plan-note li + li { margin-top: .5rem; }
.retreat-plan-note .retreat-asterisk { margin: 1rem 0 0; font-size: 1.25rem; }
.subpage-footer nav { margin-top: 1rem; }
@media (max-width: 760px) {
  .retreat-main { padding-top: 8rem; }
  .retreat-hero { grid-template-columns: 1fr; min-height: 0; }
  .retreat-hero h1 { font-size: clamp(3.6rem, 11vw, 5.5rem); }
  .retreat-photo-placeholder--hero { min-height: 310px; }
  .retreat-intro__text, .retreat-spaces, .retreat-plan-grid { grid-template-columns: 1fr; gap: 1rem; }
  .retreat-ideas { grid-template-columns: 1fr; }
  .retreat-ideas article { transform: none !important; }
  .retreat-photo-pair { margin: 1.5rem 0 2rem; }
  .retreat-photo-pair .retreat-photo-placeholder { min-height: 180px; font-size: 1.25rem; }
  .retreat-photo-pair .retreat-photo-placeholder__mark { font-size: 2.6rem; }
  .retreat-section { padding: 4rem 0; }
}
/* House services: warm torn paper scraps, each an optional extra. */
.retreat-services__intro { max-width: 780px; font-size: clamp(1.4rem, 1.9vw, 1.75rem); line-height: 1.3; }
.service-cards { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: clamp(1.25rem, 2.5vw, 2.25rem); margin: 3rem auto 0; }
.service-card { position: relative; isolation: isolate; flex: 0 1 calc((100% - 4.5rem)/3); min-width: 245px; padding: 2rem clamp(1.2rem, 2.3vw, 2.2rem) 2.2rem; background: #f8f0df; filter: drop-shadow(5px 8px 6px rgb(41 43 35 / .16)); transform: rotate(-2deg); clip-path: polygon(0 1%, 23% 0, 48% 1%, 73% 0, 100% 1%, 99% 27%, 100% 53%, 99% 78%, 100% 100%, 72% 99%, 46% 100%, 21% 99%, 0 100%, 1% 74%, 0 48%, 1% 24%); }
.service-card:nth-child(2), .service-card:nth-child(5) { transform: rotate(2deg) translateY(.8rem); }
.service-card:nth-child(3) { transform: rotate(-1deg) translateY(-.4rem); }
.service-card:nth-child(4) { transform: rotate(1deg); }
.service-card::before { content: ''; position: absolute; top: -.1rem; left: 39%; width: 22%; height: 1.05rem; background: #e7dcc6; transform: rotate(-4deg); }
.service-card__drawing { display: block; width: 112px; height: 93px; margin: 0 auto .8rem; fill: none; stroke: var(--ink); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; transform: rotate(-5deg); }
.service-card:nth-child(even) .service-card__drawing { transform: rotate(5deg); }
.service-card__label { margin: 0 0 .25rem; color: var(--cobalt); font: 700 1.15rem var(--notes); text-transform: uppercase; letter-spacing: .04em; }
.service-card h3 { font: 700 clamp(2.2rem, 3vw, 3rem)/.95 var(--display); margin: .1rem 0 .85rem; }
.service-card > p:last-child { font: 1.45rem/1.14 var(--notes); margin: 0; }
@media (max-width: 930px) { .service-card { flex-basis: calc((100% - 2rem)/2); } }
@media (max-width: 580px) { .service-cards { gap: 1.25rem; margin-top: 2rem; } .service-card { flex-basis: min(100%, 430px); min-width: 0; padding: 1.5rem 2rem 2rem; transform: none !important; } }

/* The chosen service treatment: warm torn paper with small ink and paint accents. */
.retreat-services__more { margin: 3rem 0 0; font: 1.5rem/1.2 var(--notes); text-align: center; }
.service-card__label { color: var(--clay); }
.service-card::after { content: ''; display: block; width: 5.7rem; margin-top: 1.35rem; border-top: 5px solid var(--cobalt); transform: rotate(-4deg); }

/* v35: quiet paper pricing, no bright enquiry cards */
.retreat-price-intro{max-width:880px;margin:2.5rem auto 1.2rem;padding:clamp(1.5rem,3vw,2.5rem);background:rgba(255,255,255,.36);box-shadow:5px 7px 0 rgba(41,43,35,.09);transform:rotate(-.5deg)}
.retreat-price-intro--extended{margin-top:4rem;transform:rotate(.5deg)}
.retreat-price-intro>p:not(.eyebrow){font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.3}
.retreat-price-intro .retreat-price{font-family:var(--display);font-size:clamp(2.5rem,4vw,4rem)!important;margin:.6rem 0}.retreat-price span{font:1.35rem var(--notes)}
.retreat-price-intro h3{font-size:clamp(2.2rem,3vw,3.5rem);margin:0}
.retreat-capacity-note{margin:2.5rem 0 0;font:1.4rem/1.25 var(--notes)}
.retreat-plan-note,.retreat-plan-note--extras{background:rgba(255,255,255,.34);box-shadow:5px 7px 0 rgba(41,43,35,.09);border:1px solid rgba(41,43,35,.12)}

/* v36: photographs and more room beneath the home collage */
@media(min-width:761px){.retreat-main{padding-top:clamp(12rem,16vw,16rem)}}
.retreat-photo{margin:0;overflow:hidden;background:#e9e0cb;border:9px solid #fff9ed;box-shadow:8px 12px 24px #292b232b;transform:rotate(2deg)}
.retreat-photo--hero{transform:rotate(2deg)}
.retreat-photo img{display:block;width:100%;height:100%;object-fit:cover}
.retreat-photo--hero img{aspect-ratio:4/3}
.retreat-photo-pair .retreat-photo{min-width:0;transform:rotate(2deg)}
.retreat-photo-pair .retreat-photo:nth-child(2){transform:rotate(-3deg) translateY(2rem)}
.retreat-photo-pair img{aspect-ratio:3/4}
@media(max-width:760px){.retreat-photo-pair img{aspect-ratio:3/4}}

/* v37: compact desktop header spacing and higher hero photograph */
@media(min-width:761px){.retreat-main{padding-top:clamp(9.5rem,11vw,11rem)}.retreat-hero__photo,.retreat-photo--hero{align-self:start;margin-top:-1.5rem}}

/* Hero photograph fitted like the Accommodation page. */
.retreat-hero { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(2rem, 5vw, 5rem); min-height: min(730px, 80vh); }
.retreat-hero__copy { min-width: 0; }
.retreat-photo--hero { align-self: center; width: 100%; margin: 0 0 2rem; padding: clamp(.65rem, 1.1vw, 1rem) clamp(.65rem, 1.1vw, 1rem) 1.2rem; border: 0; background: #fffaf2; box-shadow: 9px 13px 24px rgb(41 43 35 / .19); transform: rotate(2deg); }
.retreat-photo--hero img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.retreat-photo--hero figcaption { padding: .6rem .2rem 0; font: 1.18rem/1.15 var(--notes); text-align: center; }
@media(max-width:760px) {
 .retreat-hero { grid-template-columns: 1fr; min-height: 0; gap: 2.5rem; }
 .retreat-photo--hero { width: min(94%, 570px); justify-self: center; }
}
