@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Playfair+Display:wght@500;600&display=swap');
:root{--ink:#183234;--deep:#153b3d;--sea:#4f7776;--sand:#f3eee5;--paper:#fbfaf7;--white:#fff;--muted:#68716e;--line:#ddd8cf;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400}.site-header{height:78px;position:absolute;z-index:20;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;color:#fff}.brand{font-size:12px;font-weight:600;letter-spacing:.2em;white-space:nowrap}.brand span{font-weight:300}.site-header nav{display:flex;align-items:center;gap:28px}.site-header a{color:inherit;text-decoration:none;font-size:12px}.nav-cta{border:1px solid #ffffff80;padding:11px 15px;background:#ffffff12}.hero{height:92vh;min-height:650px;position:relative;overflow:hidden;color:#fff}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,32,.74) 0%,rgba(10,31,32,.36) 48%,rgba(10,31,32,.08) 76%)}.hero-copy{position:absolute;left:8vw;bottom:12vh;max-width:790px}.eyebrow{margin:0 0 18px;color:var(--sea);font-size:11px;font-weight:600;letter-spacing:.22em}.eyebrow.light{color:#d7e5e2}h1,h2{font-family:var(--serif);font-weight:500;margin:0}h1{font-size:clamp(52px,6.5vw,94px);line-height:.98;letter-spacing:-.025em}h2{font-size:clamp(38px,4vw,61px);line-height:1.06;letter-spacing:-.02em}.hero-lead{max-width:560px;margin:26px 0 32px;font-size:18px;line-height:1.65;color:#f1f4f2}.hero-actions{display:flex;align-items:center;gap:28px}.button{appearance:none;border:0;display:inline-block;padding:15px 22px;background:var(--sea);color:#fff;text-decoration:none;font:600 12px var(--sans);letter-spacing:.04em;cursor:pointer}.primary{background:#f4efe6;color:var(--ink)}.ghost-link{color:#fff;text-decoration:none;font-size:12px}.facts{display:grid;grid-template-columns:repeat(6,1fr);padding:28px 5vw;background:#fff;border-bottom:1px solid var(--line)}.facts div{text-align:center;border-right:1px solid var(--line)}.facts div:last-child{border:0}.facts strong{display:block;font:500 24px var(--serif)}.facts span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.section{padding:110px 8vw}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:10vw}.intro-copy p,.story-copy p,.terrace p,.location-copy p,.section-heading>p:not(.eyebrow),.availability-intro>p:not(.eyebrow){font-size:16px;line-height:1.85;color:#5c6662}.intro-copy p:first-child{margin-top:2px}.story-card{display:grid;grid-template-columns:1.15fr .85fr;background:var(--sand);align-items:stretch}.story-image img{width:100%;height:100%;min-height:650px;object-fit:cover}.story-copy{padding:90px 8vw;display:flex;flex-direction:column;justify-content:center}.story-copy h2{margin-bottom:25px}.mini-features{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cec8bd;margin-top:28px}.mini-features span{padding:14px 0;border-bottom:1px solid #cec8bd;font-size:12px}.rooms{background:#fff}.section-heading{text-align:center;max-width:760px;margin:0 auto 52px}.section-heading>p:not(.eyebrow){margin:20px auto 0}.room-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:1fr 1fr;gap:16px;max-width:1280px;margin:auto}.room-grid figure{margin:0;position:relative;overflow:hidden;background:#eee;min-height:330px}.room-grid .room-main{grid-row:1/3;min-height:680px}.room-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.room-grid figure:hover img{transform:scale(1.015)}figcaption{position:absolute;left:0;right:0;bottom:0;padding:36px 24px 20px;color:#fff;background:linear-gradient(transparent,rgba(11,31,31,.72))}figcaption b,figcaption span{display:block}figcaption b{font:500 20px var(--serif)}figcaption span{font-size:11px;margin-top:4px}.bathrooms{background:var(--deep);color:#fff;padding:110px 8vw}.bath-copy{max-width:720px;margin:0 auto 48px;text-align:center}.bath-copy p:last-child{color:#cbd8d5;line-height:1.8}.bath-images{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1100px;margin:auto}.bath-images img{width:100%;height:650px;object-fit:cover}.terrace{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:linear-gradient(rgba(248,246,241,.93),rgba(248,246,241,.93)),url('images/living-terrace.jpg') center/cover}.terrace p{margin-top:0}.terrace .note{font-size:12px;color:#8a8e8b;margin-top:22px}.amenities{background:#fff}.amenity-grid{display:grid;grid-template-columns:repeat(5,1fr);max-width:1150px;margin:auto;border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenity-grid span{padding:24px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;text-align:center}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:240px;gap:12px;max-width:1380px;margin:auto}.gallery-grid img{width:100%;height:100%;object-fit:cover;grid-column:span 4}.gallery-grid .g-wide{grid-column:span 8}.gallery-grid .g-tall{grid-row:span 2}.location{display:grid;grid-template-columns:1.08fr .92fr;background:var(--sand)}.location-image img{width:100%;height:100%;min-height:650px;object-fit:cover}.location-copy{padding:90px 8vw;display:flex;flex-direction:column;justify-content:center}.location-copy h2{margin-bottom:26px}.distance-list{margin-top:26px;border-top:1px solid #ccc5b9}.distance-list div{display:grid;grid-template-columns:120px 1fr;padding:15px 0;border-bottom:1px solid #ccc5b9;font-size:12px}.availability{background:var(--deep);color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.availability-intro>p:not(.eyebrow){color:#c9d5d2;margin:25px 0}.direct-contact{display:flex;flex-direction:column;gap:8px;margin-top:32px;font-size:12px}.direct-contact span{color:#91aaa6;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.direct-contact a{color:#fff;text-decoration:none}.enquiry-form{background:#fff;color:var(--ink);padding:38px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.enquiry-form label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-bottom:17px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;margin-top:7px;border:1px solid #d5d7d3;background:#fbfbf9;padding:13px 12px;font:400 14px var(--sans);color:var(--ink);border-radius:0}.enquiry-form textarea{resize:vertical}.optional{font-weight:400;color:#8a8e8b}.consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;line-height:1.5;letter-spacing:0!important}.consent input{width:auto;margin:3px 0 0}.submit{width:100%;padding:16px;background:var(--sea)}.form-note{font-size:10px;line-height:1.5;color:#777f7b;text-align:center;margin:12px 0 0}.hidden{position:absolute;left:-9999px}footer{padding:42px 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;background:#fff;font-size:11px}.dark-brand{color:var(--ink)}footer p{margin:8px 0 0;color:#737a77}.footer-contact{text-align:center;display:flex;flex-direction:column;gap:6px}.footer-contact a{color:var(--ink);text-decoration:none}.fine{text-align:right;color:#8b908d}
@media(max-width:900px){.site-header nav a:not(.nav-cta){display:none}.hero{height:82vh;min-height:620px}.hero-copy{left:7vw;right:7vw}.facts{grid-template-columns:repeat(3,1fr);gap:20px 0}.facts div:nth-child(3){border-right:0}.intro,.terrace,.availability,.location,.story-card{grid-template-columns:1fr}.section{padding:80px 7vw}.story-image img,.location-image img{min-height:420px;height:52vw}.story-copy,.location-copy{padding:65px 7vw}.room-grid{grid-template-columns:1fr;grid-template-rows:auto}.room-grid .room-main{grid-row:auto;min-height:500px}.room-grid figure{min-height:420px}.bath-images img{height:500px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:280px}.gallery-grid img,.gallery-grid .g-wide{grid-column:auto}.gallery-grid .g-tall{grid-row:auto}.availability{gap:45px}.enquiry-form{padding:28px}footer{grid-template-columns:1fr;text-align:center}.fine{text-align:center}}
@media(max-width:560px){.site-header{height:68px;padding:0 5vw}.nav-cta{padding:9px 11px}.hero{height:78vh;min-height:570px}.hero-copy{bottom:9vh}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.facts{padding:22px 3vw}.facts strong{font-size:20px}.facts span{font-size:9px}.intro{gap:35px}.room-grid .room-main,.room-grid figure{min-height:390px}.bath-images{grid-template-columns:1fr}.bath-images img{height:520px}.amenity-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:330px}.field-row{grid-template-columns:1fr}.enquiry-form{padding:24px 20px}.footer-contact{margin:8px 0}}

/* Kitchen + terrace feature additions */
.story-card-reverse .story-image{order:2}
.story-card-reverse .story-copy{order:1}
.terrace-feature{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:clamp(28px,5vw,76px);align-items:center}
.terrace-feature-image{overflow:hidden;border-radius:2px}
.terrace-feature-image img{display:block;width:100%;height:min(62vw,680px);object-fit:cover}
.terrace-feature-copy h2{margin-top:.35rem}
@media(max-width:800px){.story-card-reverse .story-image,.story-card-reverse .story-copy{order:initial}.terrace-feature{grid-template-columns:1fr}.terrace-feature-image img{height:auto}}
