:root{--ink:#292b42;--green:#324a70;--muted:#55566c;--cream:#fff;--line:#d8e2ed;--serif:Arial,Helvetica,sans-serif;--powder:#dceaf7;--lilac:#ede3f4;--blush:#f9e9e5;--blue:#a9cbe9}
body{color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif}
h1,h2,h3{font-weight:800;letter-spacing:-.055em}h2{font-size:clamp(34px,3.6vw,52px);line-height:1.05}h3{font-size:32px}p{line-height:1.7}
.preview{background:#292b42;font-size:12px;letter-spacing:1.1px;padding:7px}
header{padding:24px 5%;border-bottom:9px solid transparent!important;border-image:repeating-linear-gradient(90deg,#a9cbe9 0 12px,#fff 12px 24px) 9}
.brand{font-family:Georgia,serif;font-weight:bold;font-size:33px}.brand span{font-weight:600;font-size:11px;letter-spacing:2.6px}
nav>a{font-size:15px}.button,.button.small{border-radius:30px;min-height:48px;font-size:15px;font-weight:700;padding:13px 23px;background:#292b42;box-shadow:none;border:1px solid #292b42}
.button:hover{background:#405375;box-shadow:none}.button.light{background:#dceaf7;border:1px solid #7899b7;color:#292b42}.button.light:hover{background:#c8def1}
nav .button{background:#dceaf7;color:#292b42;border-color:#7899b7}
.eyebrow{font-size:13px;letter-spacing:2px;color:#48698b}.hero{position:relative;background:#fff;border:0;border-radius:0;padding:52px 0 28px;margin:0 auto;gap:64px;grid-template-columns:1fr 1.1fr}
.hero h1{font-size:clamp(54px,5.4vw,78px);font-weight:900;line-height:.97;letter-spacing:-.06em}
.hero h1 em{font-style:normal;text-decoration:underline;text-decoration-color:#a9cbe9;text-decoration-thickness:10px;text-underline-offset:3px;text-decoration-skip-ink:none}
.hero-content>p:not(.eyebrow){font-size:18px;max-width:480px;margin-top:30px}.hero .button.light{background:#292b42;border-color:#292b42;color:#fff}
.hero>img{border-radius:110px 110px 16px 16px;border:8px solid #eaf2fa;outline:2px solid #a9cbe9;outline-offset:5px;max-width:800px;box-shadow:14px 17px 0 #ede3f4}
.hero-foot{border:0;margin-top:5px;font-size:12px;letter-spacing:1.4px;color:#55566c}.hero-foot a{font-size:15px}
.coastal-seal{position:absolute;right:39%;top:58%;width:126px;height:126px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff;border:2px dashed #7497bc;outline:8px solid #e2edf7;color:#324a70;font-size:9px;font-weight:700;line-height:1.3;text-align:center;letter-spacing:.7px;transform:rotate(-10deg)}
.coastal-seal span{font:38px/20px Georgia,serif}.colour-ribbon{background:#dac6e8;display:flex;justify-content:space-evenly;gap:20px;padding:19px 5%;font-size:12px;font-weight:700;letter-spacing:1.5px;flex-wrap:wrap}
.section{max-width:1440px;padding:75px 5%}.intro{padding-bottom:40px}.intro h2{font-size:45px}.lead{font-family:Georgia,serif;font-size:27px}.intro-facts{border-radius:12px;border:1px solid #d8e2ed;padding:24px;background:#f6f9fc;letter-spacing:.8px;font-size:14px}
.stays{padding-top:30px}.section-heading h2{font-size:46px}.section-heading>p{font-size:17px;max-width:360px}
.property-grid{gap:28px}.property-grid article{background:#eaf2fa;border:1px solid #ccdaea;border-radius:18px;overflow:hidden;padding:20px}.property-grid article:nth-child(2){background:#f0e8f6;border-color:#ded0e7}
.property-photo{border-radius:12px}.property-photo>span{border-radius:30px;font-size:14px;padding:10px 15px}.property-heading h3{font-family:Georgia,serif;font-size:35px;letter-spacing:-1px}.property-heading>span{font-size:12px;letter-spacing:1px}.property-meta{font-size:15px!important}.property-grid article>p{font-size:17px}.property-grid .property-page-link{border-radius:30px;font-size:15px}
.grounds{background:#e3edf8;margin-top:15px}.grounds h2{font-size:52px;text-transform:uppercase}.grounds-copy{padding:60px 12%}.grounds-copy>p:not(.eyebrow){font-size:18px}.grounds-photo{padding:30px}.grounds-photo img{border-radius:18px;min-height:460px}
.explore-grid figure{border-radius:14px;overflow:hidden;background:#f8eeeb;padding:14px}.explore-grid figure:nth-child(2){background:#e9f1f8}.explore-grid figure:nth-child(3){background:#eee6f4}.explore-grid img{border-radius:9px}.explore-grid figcaption{padding:20px 10px 12px}.explore-grid figcaption>span{font-size:12px}.explore-grid h3{font-family:Georgia,serif;letter-spacing:-.5px;font-size:29px}.explore-grid p{font-size:17px}
.gallery-strip img{border-radius:12px}.booking{background:#eee5f5;color:#292b42;border-top:1px solid #ddcce9}.booking h2{font-size:48px;text-transform:uppercase}.booking>div>p:not(.eyebrow),.booking address{color:#55566c}.booking aside{border-color:#bfa9d0}.booking .contact-link{font-family:Georgia,serif}.booking .button.light{background:#fff}.booking .eyebrow{color:#555071}footer{background:#292b42;color:#fff;border-top:10px solid transparent;border-image:repeating-linear-gradient(90deg,#a9cbe9 0 12px,#fff 12px 24px) 10}footer>span{color:#dce4ee}
/* Carry the alternative palette through the property pages. */
.property-hero{background:#eaf2fa;border-color:#ccdaea;border-radius:24px}.property-title h1{font-family:Georgia,serif;font-size:70px;letter-spacing:-3px}.property-title-bottom>p{font-family:Georgia,serif;font-size:27px}.property-title .eyebrow{color:#48698b}.property-banner>img{border-radius:16px}.property-essentials{background:#eee5f5;border-color:#dccce8;border-radius:18px}.property-description h2,.property-description h3,.property-grounds h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-1px}.property-page .calendar-section{background:#eaf2fa}.property-contact{background:#eee5f5;color:#292b42}.property-contact .eyebrow{color:#555071}.room-photos img{border-radius:12px}
@media(max-width:1050px){nav{gap:13px}nav>a{font-size:14px}.hero{gap:35px}.hero h1{font-size:58px}.coastal-seal{right:38%;top:64%;width:100px;height:100px;font-size:8px}.intro h2{font-size:38px}.section-heading h2{font-size:38px}.property-title h1{font-size:56px}}
@media(max-width:760px){header{padding:20px 5%}.brand{font-size:29px}.hero{padding:35px 5% 20px;width:100%;grid-template-columns:1fr;gap:32px}.hero h1{font-size:60px}.hero>img{width:calc(100% - 15px);margin:0 auto;border-radius:70px 70px 12px 12px}.hero-content>p:not(.eyebrow){font-size:17px}.coastal-seal{display:none}.hero-foot{margin-top:4px}.colour-ribbon{display:grid;grid-template-columns:1fr 1fr;text-align:center;font-size:10px;gap:14px}.section{padding:50px 5%}.intro h2{font-size:36px}.intro-facts{font-size:13px;gap:18px}.section-heading h2{font-size:36px}.property-grid article{padding:16px}.property-heading h3{font-size:30px}.property-meta{font-size:14px!important}.property-photo>span{font-size:12px}.grounds-photo{padding:20px}.grounds-photo img{min-height:0;height:auto}.grounds-copy{padding:30px 6% 50px}.grounds h2{font-size:40px}.gallery{padding-top:10px}.booking h2{font-size:38px}.property-title h1{font-size:50px}.property-title .eyebrow{font-size:13px}.property-hero{border-radius:18px}.property-page .property-contact{background:#eee5f5}.property-contact .contact-link{font-size:27px}}
header nav a.button{background:#dceaf7;color:#292b42;border-color:#7899b7}header nav a.button:hover{background:#c8def1;color:#292b42}
@media(max-width:760px){.hero h1{font-size:clamp(43px,12.8vw,60px)}.hero h1 em{white-space:nowrap;text-decoration-thickness:6px}}

/* Hartshanger's own coastal identity: clean horizon lines and a framed view. */
header{border-image:none!important;border-bottom:1px solid #dce5ee!important}
header nav a.button{background:#324f79;color:#fff;border:1px solid #324f79;border-radius:10px}
header nav a.button:hover,header nav a.button:focus-visible{background:#223b60;color:#fff}
header nav a.button span{color:inherit}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:50px;padding-top:46px;padding-bottom:36px}
.hero h1{font-size:clamp(48px,4.5vw,68px);line-height:1.08;letter-spacing:-.055em;text-transform:none}
.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;color:#385d87;text-decoration:none;white-space:normal}
.hero .eyebrow{display:flex;align-items:center;gap:12px}.hero .eyebrow:before{content:'';width:30px;height:3px;background:#c58979;flex-shrink:0}
.hero-visual{grid-column:2;grid-row:1;margin:0;background:#e7eff8;padding:14px;border-radius:18px;position:relative}
.hero-visual>img{width:100%;height:auto;object-fit:contain;display:block;border-radius:9px;max-width:800px}
.hero-visual figcaption{padding:17px 5px 5px;font-size:15px;color:#425675;display:flex;justify-content:space-between;gap:12px;align-items:center}
.hero-visual figcaption span{font-size:10px;font-weight:700;letter-spacing:1.5px}
.hero-foot{border-top:1px solid #dce5ee;padding-top:22px;margin-top:0}
.hero .button.light{border-radius:10px;background:#324f79;border-color:#324f79}.hero .button.light:hover{background:#223b60}
.colour-ribbon{background:#f7f9fc;color:#425675;border-top:1px solid #e6ecf3;border-bottom:1px solid #e6ecf3;padding:23px 5%;font-size:12px}
.colour-ribbon span{display:flex;align-items:center;gap:12px}.colour-ribbon span:before{content:'';width:9px;height:9px;border-radius:2px;background:#8aaed3}.colour-ribbon span:nth-child(2):before{background:#b59ec8}.colour-ribbon span:nth-child(3):before{background:#d2a18d}.colour-ribbon span:nth-child(4):before{background:#8aaed3}
footer{border-image:none;border-top:1px solid #dce5ee}
@media(max-width:1050px){.hero{gap:30px}.hero h1{font-size:51px}.hero-visual figcaption{display:block}.hero-visual figcaption span{display:block;margin-bottom:5px}}
@media(max-width:760px){.hero{grid-template-columns:1fr;gap:28px;padding-top:30px}.hero h1{font-size:clamp(43px,11vw,56px)}.hero h1 em{white-space:normal}.hero-visual{grid-column:1;grid-row:2;padding:10px;border-radius:14px}.hero-visual figcaption{padding:14px 4px 5px;font-size:14px}.hero-foot{grid-row:3;padding-top:18px}.colour-ribbon{font-size:10px;text-align:left;gap:18px}.colour-ribbon span{gap:8px}}
