.page-hero{background:linear-gradient(100deg,rgba(10,22,12,.82),rgba(10,22,12,.15)),url('https://images.unsplash.com/photo-1511497584788-876760111969?auto=format&fit=crop&w=2200&q=85') center/cover;color:var(--cream);min-height:520px;padding-top:215px}.page-hero h1{font-size:clamp(52px,7vw,96px);max-width:800px}.page-hero p:last-child{font-size:17px;max-width:480px}.page-main{padding-block:130px}.page-lede{font-family:var(--serif);font-size:clamp(25px,3vw,39px);line-height:1.35;max-width:800px}.page-grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-top:65px}.page-card{border:1px solid var(--line);display:flex;flex-direction:column;min-height:320px;padding:27px}.page-card span,.page-card a{color:#766535;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.page-card h2{font-size:30px;margin:35px 0 12px}.page-card p{color:#596053;font-size:13px}.page-card a{border-bottom:1px solid var(--line);margin-top:auto;padding-bottom:8px;text-decoration:none;width:max-content}.contact-page{background:var(--sand);padding-block:130px}.contact-layout{display:grid;gap:70px;grid-template-columns:.8fr 1.2fr}.contact-list p{border-bottom:1px solid var(--line);font-size:15px;padding:16px 0}.contact-list a{color:var(--ink);text-decoration:none}.enquiry-form{background:var(--cream);box-shadow:0 20px 50px rgba(26,38,24,.08);display:grid;gap:17px;padding:40px}.enquiry-form label{color:#596053;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.enquiry-form input,.enquiry-form textarea{background:transparent;border:0;border-bottom:1px solid var(--line);font:inherit;margin-top:7px;padding:10px 0;width:100%}.enquiry-form textarea{min-height:90px;resize:vertical}.map-panel{background:var(--deep);color:var(--cream);margin-top:80px;padding:45px}.map-panel p{color:rgba(245,241,232,.7);max-width:450px}.map-panel a{color:var(--gold);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}@media(max-width:760px){.page-hero{min-height:430px;padding-top:160px}.page-main,.contact-page{padding-block:90px}.page-grid,.contact-layout{grid-template-columns:1fr}.contact-layout{gap:40px}.enquiry-form{padding:25px}.map-panel{margin-top:45px;padding:30px}}
.page-hero--cottages{background:var(--deep);display:grid;grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);min-height:590px;padding:0}.page-hero--cottages .page-hero__copy{align-items:flex-start;display:flex;flex-direction:column;justify-content:center;padding:145px clamp(36px,6vw,110px) 70px max(36px,calc((100vw - 1280px)/2));position:relative}.page-hero--cottages .page-hero__copy:before{background:linear-gradient(90deg,rgba(199,183,124,.9),rgba(199,183,124,0));content:'';height:1px;left:max(36px,calc((100vw - 1280px)/2));position:absolute;top:122px;width:100px}.page-hero--cottages .page-hero__photo{min-height:590px;overflow:hidden}.page-hero--cottages .page-hero__photo img{display:block;height:100%;object-fit:cover;object-position:72% center;width:100%}@media(max-width:760px){.page-hero--cottages{display:flex;flex-direction:column;min-height:0}.page-hero--cottages .page-hero__copy{min-height:390px;padding:150px 24px 62px}.page-hero--cottages .page-hero__copy:before{left:24px;top:125px}.page-hero--cottages .page-hero__photo{min-height:340px}.page-hero--cottages .page-hero__photo img{object-position:center}}
.room-card{color:var(--ink);isolation:isolate;overflow:hidden;position:relative;text-decoration:none;transition:border-color .28s ease,box-shadow .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.room-card:hover,.room-card:focus-visible{border-color:#9c8650;box-shadow:0 18px 34px rgba(20,48,39,.1);outline:0;transform:translateY(-5px)}.room-card>span:last-child{border-bottom:1px solid currentColor;margin-top:auto;padding-bottom:8px;width:max-content}.room-card__image{height:100%;inset:0;object-fit:cover;opacity:0;position:absolute;transform:scale(1.045);transition:opacity .38s ease,transform .7s cubic-bezier(.2,.75,.2,1);width:100%;z-index:0}.room-card--with-image:after{background:linear-gradient(135deg,rgba(7,31,23,.86),rgba(7,31,23,.55));content:'';inset:0;opacity:0;position:absolute;transition:opacity .35s ease;z-index:1}.room-card--with-image>*:not(.room-card__image){position:relative;transition:color .3s ease;z-index:2}@media(hover:hover) and (pointer:fine){.room-card--with-image:hover .room-card__image,.room-card--with-image:focus-visible .room-card__image{opacity:1;transform:scale(1)}.room-card--with-image:hover:after,.room-card--with-image:focus-visible:after{opacity:1}.room-card--with-image:hover>*:not(.room-card__image),.room-card--with-image:focus-visible>*:not(.room-card__image),.room-card--with-image:hover>span,.room-card--with-image:focus-visible>span,.room-card--with-image:hover>p,.room-card--with-image:focus-visible>p{color:var(--cream)}}@media(max-width:760px){.room-card:hover,.room-card:focus-visible{transform:none}}@media(prefers-reduced-motion:reduce){.room-card,.room-card__image,.room-card--with-image:after,.room-card--with-image>*:not(.room-card__image){transition:none}.room-card:hover,.room-card:focus-visible{transform:none}}
.page-hero--cottages{background:linear-gradient(90deg,rgba(5,27,19,.88) 0%,rgba(5,27,19,.68) 35%,rgba(5,27,19,.24) 64%,rgba(5,27,19,.16)),linear-gradient(0deg,rgba(5,27,19,.5),transparent 48%),url('/uploads/cottages-villas-hero.webp') center/cover;color:var(--cream);isolation:isolate;min-height:clamp(590px,74vh,800px);padding-top:clamp(260px,31vh,355px);position:relative}.page-hero--cottages:after{border:1px solid rgba(220,203,139,.45);content:'';height:72px;left:max(28px,calc((100vw - 1280px)/2));position:absolute;top:145px;width:1px}.page-hero--cottages .shell{position:relative;z-index:1}.page-hero--cottages h1{font-size:clamp(58px,7.2vw,110px);letter-spacing:-.055em;line-height:.91;max-width:750px}.page-hero--cottages .page-hero__intro{color:rgba(248,245,235,.84);font-family:var(--serif);font-size:clamp(16px,1.45vw,21px);line-height:1.45;margin:28px 0 0;max-width:380px}.page-hero--cottages .eyebrow{margin-bottom:25px}@media(max-width:760px){.page-hero--cottages{background-position:60% center;min-height:600px;padding-top:280px}.page-hero--cottages:after{left:24px;top:135px}.page-hero--cottages h1{font-size:clamp(51px,14vw,74px)}.page-hero--cottages .page-hero__intro{font-size:16px;margin-top:22px}}
