@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{--teal:#087e78;--teal-dark:#07635f;--ink:#15252b;--muted:#596a70;--line:#e4e9e9;--bg:#fff;--soft:#f4f9f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.55 'DM Sans',Arial,sans-serif}a{color:inherit}img{max-width:100%;display:block}.container{max-width:1180px;margin:auto;padding:0 26px}.site-header{background:#fff;position:sticky;top:0;z-index:15;border-bottom:1px solid #edf0f0}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:26px}.logo{display:block;width:220px;flex:none}.nav-links{display:flex;gap:27px;align-items:center;flex-wrap:wrap}.nav-links a{font-size:14px;text-decoration:none;font-weight:600}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--teal)}.button{background:var(--teal);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-weight:700;font-size:14px;padding:14px 23px;text-decoration:none;border-radius:6px;min-height:47px;transition:.2s}.button:hover{background:var(--teal-dark)}.button:focus-visible,a:focus-visible{outline:3px solid #f3a636;outline-offset:3px}.header-btn{white-space:nowrap}.hero{position:relative;isolation:isolate;min-height:440px;display:flex;align-items:center;overflow:hidden;background:#4b443c}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background-image:url('images/hero-room.webp');background-size:cover;background-position:65% 60%;filter:saturate(.93)}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,23,23,.9) 0%,rgba(20,29,29,.78) 34%,rgba(20,26,26,.17) 79%)}.hero-content{width:100%;padding-top:58px;padding-bottom:60px;color:white}.hero .eyebrow{color:#f7fbf9}.hero h1{font-size:clamp(37px,4.5vw,57px);line-height:1.13;max-width:610px;margin:11px 0 16px;font-weight:800;letter-spacing:-.035em}.hero h1 em{color:#8ed3c6;font-style:normal}.hero p{max-width:485px;margin:0 0 25px;color:#f7fbfa}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin:0}.section{padding:76px 0 80px}.center{text-align:center}.section h2{font-size:clamp(28px,3.5vw,40px);line-height:1.18;letter-spacing:-.04em;margin:13px 0}.section-intro{color:var(--muted);max-width:660px;margin:0 auto 37px}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.service-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;box-shadow:0 2px 5px #10272808;text-decoration:none;background:white;transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #10272817}.service-card img{width:100%;height:218px;object-fit:cover}.service-card .body{padding:17px 18px 19px}.service-card h3{font-size:18px;line-height:1.3;margin:0 0 13px;letter-spacing:-.025em}.service-card span{color:var(--teal);font-size:14px;font-weight:800}.trust{padding:63px 0;background:linear-gradient(100deg,#f5fbfa,#eef7f6)}.trust h2{margin:12px 0 11px}.trust .sub{color:var(--muted);margin:0 auto 37px;max-width:640px}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border-radius:12px;align-items:center}.trust-item{text-align:center;padding:12px 15px;border-right:1px solid #ccd9d6;min-height:92px}.trust-item:last-child{border:0}.trust-item strong{display:block;font-size:23px;line-height:1.15}.trust-item small{display:block;color:#4d5e64;font-size:13px;margin-top:6px}.trust-item .large{font-size:32px;color:#0c796f}.trust-item .google{font-size:25px;font-weight:800;letter-spacing:-.05em}.gblue{color:#4285f4}.gred{color:#ea4335}.gyellow{color:#fbbc05}.ggreen{color:#34a853}.trust-item .top-pro{color:var(--teal)}.cta{padding:66px 0;background:linear-gradient(90deg,rgba(12,24,23,.91),rgba(22,30,30,.83)),url('images/hero-room.webp') center 80%/cover;color:white;text-align:center}.cta h2{font-size:clamp(30px,4vw,43px);letter-spacing:-.03em;margin:0 0 13px}.cta p{margin:0 auto 25px;max-width:620px;color:#e7f3f0}.site-footer{background:#14272b;color:#e9f2f0}.footer-grid{padding:38px 0 32px;display:grid;grid-template-columns:1.2fr 1.2fr .9fr .65fr;gap:30px}.footer-col{padding-left:30px;border-left:1px solid #526366}.footer-col:first-child{border:0;padding-left:0}.footer-logo{width:185px;background:#fff;padding:7px;border-radius:4px}.footer-col p{font-size:13px;line-height:1.6;margin:16px 0 0;color:#c7d4d4}.footer-col h3{margin:0 0 10px;font-size:15px}.footer-col a{display:block;text-decoration:none;font-size:13px;line-height:1.75}.footer-col a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #46585a;padding:17px 0;font-size:12px;color:#cbd5d3;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.footer-bottom a{text-decoration:none}.simple-hero{padding:69px 0 50px;background:var(--soft)}.simple-hero h1{font-size:clamp(34px,4.5vw,54px);letter-spacing:-.04em;line-height:1.12;margin:10px 0}.simple-hero p{max-width:650px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:23px}.gallery-cat{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;text-decoration:none}.gallery-cat img{height:250px;object-fit:cover;width:100%}.gallery-cat h2{font-size:22px;margin:0}.gallery-cat div{padding:20px}.gallery-cat p{margin:7px 0;color:var(--muted)}.gallery-cat span{color:var(--teal);font-weight:700}.gallery-section{padding:55px 0;border-bottom:1px solid var(--line)}.gallery-section h2{font-size:30px;margin:0 0 12px}.gallery-section p{color:var(--muted);max-width:720px}.form-panel{max-width:960px;margin:42px auto 80px;border-radius:12px;border:1px solid var(--line);padding:22px;overflow:hidden}#hcp-lead-iframe{display:block;width:100%;height:1150px;border:0}.callout{border:1px solid #d7e4df;background:#f4faf8;padding:28px;border-radius:12px;margin-top:26px}.callout a{color:var(--teal-dark)}.menu-toggle{display:none}.muted{color:var(--muted)}
@media(max-width:980px){.header-inner{flex-wrap:wrap;padding-top:13px;padding-bottom:13px}.logo{width:180px}.nav-links{gap:15px}.services-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.hero{min-height:390px}}
@media(max-width:640px){.container{padding:0 18px}.header-inner{gap:9px}.logo{width:157px}.header-btn{font-size:12px;padding:10px 11px;min-height:40px}.nav-links{order:3;width:100%;gap:16px;justify-content:space-between}.nav-links a{font-size:12px}.hero{min-height:420px}.hero:after{background:linear-gradient(90deg,rgba(10,21,21,.89),rgba(10,22,22,.5))}.hero:before{background-position:55% 50%}.hero-content{padding-top:50px;padding-bottom:50px}.hero h1{max-width:380px}.hero p{font-size:14px;max-width:345px}.section{padding:48px 0}.services-grid{gap:12px}.service-card img{height:145px}.service-card .body{padding:12px}.service-card h3{font-size:15px}.service-card span{font-size:13px}.trust{padding:48px 0}.trust-strip{grid-template-columns:1fr 1fr;row-gap:18px}.trust-item:nth-child(2){border:0}.trust-item strong{font-size:19px}.trust-item .large{font-size:27px}.trust-item .google{font-size:22px}.cta{padding:52px 0}.footer-grid{grid-template-columns:1fr 1fr;gap:24px 12px}.footer-col{padding-left:13px}.footer-col:nth-child(3){border:0;padding-left:0}.gallery-grid{grid-template-columns:1fr}.gallery-cat img{height:205px}.form-panel{padding:6px;margin:24px auto 55px}#hcp-lead-iframe{height:1350px}}


.gallery-filter{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:27px}
.filter-btn{cursor:pointer;border:1px solid #bfcfc9;border-radius:6px;padding:12px 17px;background:white;color:#185a54;font-weight:700}
.filter-btn:hover,.filter-btn.active{background:#087e78;color:white;border-color:#087e78}
.real-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.real-photo{margin:0;border:1px solid #e4e8e7;border-radius:12px;overflow:hidden;background:white}
.real-photo[hidden]{display:none}
.real-photo img{display:block;width:100%;height:300px;object-fit:cover;object-position:center 52%;transition:transform .2s}
.real-photo a:hover img{transform:scale(1.025)}
.real-photo figcaption{padding:13px 16px;display:flex;gap:4px;flex-direction:column}
.real-photo figcaption strong{font-size:14px;color:#123d3b}
.real-photo figcaption span{font-size:13px;color:#607078}
.gallery-notice{color:#607078;font-size:13px;margin:24px 0 0}
@media(max-width:780px){.real-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.real-grid{grid-template-columns:1fr}.real-photo img{height:320px}}

/* Footer brand / contact / social refinements */
.footer-logo{background:transparent;padding:0;border-radius:0;width:195px;height:auto}
.footer-col .email-link{overflow-wrap:anywhere;margin-top:4px}
.social-links{display:flex;gap:12px;align-items:center;margin-top:13px}
.footer-col .social-links a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;border-radius:50%;border:1px solid #6f9693;color:#f0f8f7;line-height:1;transition:background .18s,border-color .18s}
.footer-col .social-links a:hover{background:#087e78;border-color:#087e78}
.social-links svg{width:23px;height:23px;display:block}
/* About us */
.about-hero p:last-child{max-width:770px}
.about-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);align-items:start;gap:65px}
.about-intro h2,.about-services h2,.about-callout h2{font-size:clamp(28px,3vw,38px)}
.about-intro p:not(.eyebrow),.about-services p:not(.eyebrow){color:#56666b;font-size:16px;line-height:1.84;max-width:800px}
.about-highlights{background:#f0f8f6;border-radius:14px;padding:28px 30px;border:1px solid #d8e8e4}
.about-highlights h3{margin:0 0 20px;font-size:23px}
.about-highlights div{border-top:1px solid #cbded9;padding:15px 0;display:flex;flex-direction:column;gap:4px}
.about-highlights strong{color:#0b7068;font-size:15px}
.about-highlights span{font-size:14px;color:#56666b;line-height:1.6}
.about-services{background:#f7faf9;padding-top:60px;padding-bottom:60px}
.about-services .container{max-width:1100px}
.about-callout{margin:0;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px}
.about-callout h2{margin:8px 0 8px}
.about-callout p:not(.eyebrow){color:#56666b;max-width:670px}
.about-callout .button{color:#fff;white-space:nowrap}
@media(max-width:780px){.about-layout{grid-template-columns:1fr;gap:24px}.about-callout{flex-direction:column;align-items:flex-start}.about-callout .button{white-space:normal}}
@media(max-width:640px){.footer-logo{width:160px}.footer-col .social-links a{width:42px;height:42px}}
