:root{--ink:#244137;--cream:#f8f3f3;--paper:#fffdfb;--rose:#cf7f9b;--gold:#88a58e;--line:#dfd8d8;--sage:#6f927c;--pink-soft:#f8e8ee;--green-soft:#eaf2ec}
body{color:#29453b;background:var(--paper)}
.announcement{background:#29453b;color:#fff5f7}.announcement span{background:#f1a9c0}
.site-header{background:rgba(255,253,251,.95);border-color:#e7dfe1}.brand>b{border-color:var(--rose);color:var(--rose)}.brand>span{color:#385c4e}.site-header nav a:hover{color:var(--rose)}
.button-dark{background:#315646}.button-dark:hover{background:#c86f8f}.button-outline{border-color:#9bb5a4;color:#315646}.button-light{background:#fff4f7;color:#315646}
.eyebrow{color:#bd6685}em{color:#73977f}.hero-copy{color:#496057}.hero-proof b{color:#bd6685}.avatars i{background:#799b85;border-color:#f9e8ee}
.section-pad{padding-top:76px;padding-bottom:76px}.services{background:linear-gradient(135deg,#fbf1f5 0%,#f3f7f3 100%)}
.filters button{border-color:#cfdbd1;border-radius:30px;color:#4d6e5e;transition:.25s}.filters button:hover{background:#f6dfe8;border-color:#d68aa4}.filters button.active{background:#426c59;border-color:#426c59}
.service-grid{align-items:stretch;border-color:#d7dfd9;gap:14px;border:0}.service-card{display:flex;flex-direction:column;min-height:330px;height:100%;padding:30px;border:1px solid #dbe3dd;border-radius:18px;background:rgba(255,255,255,.72);overflow:hidden;isolation:isolate}.service-card:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,var(--pink-soft),var(--green-soft));opacity:0;z-index:-1;transition:.35s}.service-card:hover{transform:translateY(-8px) scale(1.012);border-color:#c88ca1;box-shadow:0 18px 45px rgba(70,103,82,.14)}.service-card:hover:before{opacity:1}.service-card:hover .service-icon{transform:rotate(-8deg) scale(1.16);color:#c56889}.service-icon{color:#71967f;transition:.3s}.service-card h3{color:#315646;margin:24px 0 12px}.service-card p{color:#60756b;min-height:0;margin-bottom:22px}.service-meta{margin-top:auto;border-color:#cfdbd3}.service-meta b,.text-link{color:#b85f80}.text-link{align-self:flex-start;transition:.25s}.service-card:hover .text-link{padding-left:8px}
.about{gap:7vw}.arch{height:530px}.seal{background:#c87391}.stats b{color:#c36e8d}.testimonial{background:#f5faf6}.quote-mark{color:#dd9fb5}.testimonial blockquote{max-width:780px;font-size:clamp(25px,2.6vw,38px)}
.visit{background:#315646}.visit .eyebrow,.visit h2 em{color:#f2aac1}.visit-details small{color:#efb3c6}.visit-details div{border-color:#668776}
footer{background:#233b32}.booking-panel{background:linear-gradient(150deg,#fff8fa,#f3f8f4)}.success i{background:#dcecdf;color:#315646}
.latest{background:#fff}.latest .section-heading{margin-bottom:25px}.latest .section-heading>p{color:#6b7c73}.latest-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:25px}.latest-filters button{border:1px solid #cfdbd1;background:white;color:#4d6e5e;border-radius:30px;padding:8px 15px;text-transform:uppercase;font-size:9px;letter-spacing:.1em}.latest-filters button.active{background:#c86f8f;color:white;border-color:#c86f8f}.latest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.latest-grid article{position:relative;height:300px;border-radius:16px;overflow:hidden;background:#edf1ed}.latest-grid img,.latest-grid video{width:100%;height:100%;object-fit:cover;display:block;transition:.45s}.latest-grid article:hover img,.latest-grid article:hover video{transform:scale(1.04)}.latest-grid article>div{position:absolute;inset:auto 0 0;padding:40px 18px 17px;color:white;background:linear-gradient(transparent,rgba(21,43,34,.8));pointer-events:none}.latest-grid span{text-transform:uppercase;font-size:8px;letter-spacing:.18em;color:#ffc6d9}.latest-grid h3{font-size:23px;margin-top:4px}
@media(max-width:900px){.section-pad{padding-top:64px;padding-bottom:64px}.service-grid{gap:12px}.latest-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.section-pad{padding-top:52px;padding-bottom:52px}.service-card{min-height:300px}.about-visual{display:none}.about{gap:0}.testimonial blockquote{font-size:25px}.hero-proof{display:none}.latest-grid{grid-template-columns:1fr 1fr}.latest-grid article{height:220px}.latest-grid h3{font-size:18px}}
