:root { --theme-color:#17675f; --secondary-color:#164c47; --title-color:#183e39; --text-color:#596761; --cream:#faf6ed; --copper:#aa5639; }
body { background:var(--cream); color:var(--text-color); }
.boxed_wrapper { background:var(--cream); }
h1,h2,h3,h4,h5 { color:var(--title-color); }
a:focus-visible,button:focus-visible { outline:3px solid var(--copper); outline-offset:5px; }
.auto-container { max-width:1280px; padding-left:32px; padding-right:32px; }
.skip-link { position:fixed; top:-100px; left:20px; padding:12px 20px; background:white; z-index:100000; }
.skip-link:focus { top:12px; }
.main-header .header-top { background:#164c47; }
.main-header .header-top .top-inner { padding:10px 32px; gap:20px; }
.main-header .header-top .info-list { flex-wrap:wrap; gap:5px 22px; }
.main-header .header-top .info-list li { font-size:12px; line-height:18px; margin:0; color:#f6efdf; }
.main-header .header-top a,.main-header .header-top i { color:#f6efdf!important; }
.main-header .header-lower,.main-header .sticky-header { background:var(--cream); border-bottom:1px solid #d9dfd5; }
.main-header .outer-container { padding:0 32px!important; }
.main-header.header-style-three .outer-container .left-column .logo-box { padding:16px 0; margin-right:32px; width:260px!important; flex-shrink:0; border:0; }
.main-header .menu-right-content { width:auto; flex-shrink:0; }
.main-header .left-column { min-width:0; }
.main-header .menu-area { flex-shrink:0; }
.main-header .header-lower .navigation,.main-header .sticky-header .navigation { display:flex; align-items:center; }
.main-header .logo-box img { max-height:76px; max-width:100%; width:auto; object-fit:contain; }
.main-menu .navigation > li { margin:0 14px; }
.main-menu .navigation > li > a { padding:30px 0; color:var(--title-color); font-size:15px; font-weight:600; }
.main-header .menu-right-content .support-box { font-size:16px; margin-right:22px; }
.theme-btn.btn-one { background:var(--theme-color); color:white; border-radius:40px; padding:15px 28px; font-size:14px; }
.theme-btn:before,.theme-btn:after { background:#103f3a!important; }
.mobile-nav-toggler { background:none; border:0; padding:12px; }
.mobile-menu .menu-box { background:#164c47; }
.banner-style-three { background:radial-gradient(ellipse at 84% 45%,#d5e5d9 0%,#edf0e2 28%,#faf6ed 65%); overflow:hidden; }
.banner-style-three .pattern-layer,.banner-style-three .shape-box { opacity:.13; }
.banner-style-three .banner-carousel .slide-item { padding:85px 0 100px; min-height:640px; }
.banner-style-three .content-box { max-width:650px; position:relative; z-index:2; }
.banner-style-three .content-box .upper-text { font:600 12px/1.8 'DM Sans',sans-serif; letter-spacing:2px; text-transform:uppercase; max-width:470px; color:var(--theme-color); margin-bottom:22px; }
.banner-style-three .content-box .wellness-hero-title { font:600 clamp(45px,5.8vw,80px)/1.05 'DM Sans',sans-serif; text-transform:none; letter-spacing:-3px; margin-bottom:26px; }
.wellness-hero-title em,.facilities-heading em { font-family:Marcellus,Georgia,serif; font-weight:400; color:var(--copper); }
.banner-style-three .content-box p { max-width:440px; font-size:17px; line-height:1.8; color:#50655e; }
.banner-style-three .slide-item .image-layer { width:43%; right:2%; bottom:0; top:auto; }
.banner-style-three .image-layer img { max-height:570px; width:100%; object-fit:contain; }
.banner-style-three .image-layer { border-radius:180px 180px 0 0; overflow:hidden; }
.banner-style-three .owl-nav { bottom:24px; top:auto; }
.banner-style-three .content-box > *,.banner-style-three .slide-item .image-layer { opacity:1!important; transform:none!important; transition:none!important; }
.banner-style-three .banner-carousel .owl-nav { position:absolute; left:auto; right:32px; top:auto; bottom:24px; display:flex; gap:10px; }
.banner-style-three .banner-carousel .owl-nav button { position:static; margin:0; width:46px; height:46px; line-height:46px; }
.care-ribbon { display:flex; gap:35px; justify-content:center; align-items:center; flex-wrap:wrap; background:#164c47; color:#fff7e7; padding:23px; font-size:12px; letter-spacing:2px; }
.care-ribbon b { color:#d1ae77; font-size:24px; }
.facilities-section { padding:95px 0; background:var(--cream); }
.facilities-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.eyebrow { display:block; color:var(--theme-color); font:600 11px/1.8 'DM Sans',sans-serif; letter-spacing:1.8px; text-transform:uppercase; margin-bottom:12px; }
.facilities-heading h1,.facilities-heading h2 { font:600 clamp(40px,5vw,64px)/1.15 'DM Sans',sans-serif; letter-spacing:-2px; }
.facilities-heading p { max-width:350px; }
.facility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.facility-card { background:#fffdfa; border:1px solid #dde1d7; border-radius:24px; overflow:hidden; scroll-margin-top:120px; }
.facility-image { position:relative; aspect-ratio:3/2; overflow:hidden; }
.facility-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.facility-card:hover img { transform:scale(1.035); }
.facility-number { position:absolute; left:18px; top:18px; padding:6px 12px; border-radius:20px; background:var(--cream); color:var(--title-color); font-size:12px; }
.facility-copy { padding:28px; }
.facility-copy h3 { font-size:29px; margin-bottom:14px; }
.facility-copy p:not(.eyebrow) { min-height:86px; font-size:15px; line-height:1.8; }
.text-link { display:flex; justify-content:space-between; border-top:1px solid #dce0d7; padding-top:18px; margin-top:22px; color:var(--title-color); font-weight:600; }
.text-link span { font-size:23px; }
.image-note { font-size:12px; margin-top:14px; }
.service-catalog { padding:85px 0 50px; background:var(--cream); }
.service-catalog .facilities-heading { align-items:center; }
.service-catalog .facilities-heading h1 { max-width:690px; }
.service-jump-links { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 36px; }
.service-jump-links a { border:1px solid #cad8cf; border-radius:30px; padding:10px 16px; color:var(--title-color); font-size:13px; background:#fffcf6; }
.service-jump-links a:hover { background:#164c47; color:white; }
.traditional-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.traditional-service { padding:30px; border-radius:20px; background:#fffdfa; border:1px solid #dae1d6; scroll-margin-top:110px; }
.traditional-service:nth-child(4n+2),.traditional-service:nth-child(4n+3) { background:#edf1e8; }
.service-index { display:block; color:var(--copper); font:500 12px/1.5 'DM Sans',sans-serif; letter-spacing:2px; margin-bottom:18px; }
.traditional-service h2 { font-size:24px; line-height:1.7; margin-bottom:14px; }
.traditional-service p { font-size:16px; line-height:2.1; color:#465b53; }
.house-visit-banner { display:flex; align-items:center; justify-content:space-between; gap:25px; background:#164c47; padding:36px; border-radius:22px; margin:40px 0; }
.house-visit-banner h2 { color:var(--cream); font-size:34px; }
.house-visit-banner .eyebrow { color:#d9c8a8; }
.house-visit-banner a.theme-btn.btn-one { background:#faf6ed!important; color:#164c47!important; border:2px solid #faf6ed; }
.house-visit-banner a.theme-btn.btn-one:hover,.house-visit-banner a.theme-btn.btn-one:focus-visible { background:#164c47!important; color:#faf6ed!important; }
.house-visit-banner a.theme-btn.btn-one::before,.house-visit-banner a.theme-btn.btn-one::after { display:none!important; }
.service-reference { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:55px; border-top:1px solid #d8ded4; padding-top:50px; }
.service-reference h2 { font-size:40px; margin-bottom:18px; }
.service-reference>div { padding:20px 0; max-width:380px; }
.service-reference img { width:100%; height:auto; border-radius:16px; border:1px solid #d8ded4; }
@media(max-width:767px) { .service-catalog { padding:55px 0 25px; } .traditional-service-grid,.service-reference { grid-template-columns:1fr; } .traditional-service { padding:24px; } .traditional-service h2 { font-size:22px; } .traditional-service p { font-size:15px; } .house-visit-banner { display:block; padding:26px; } .house-visit-banner .theme-btn { margin-top:24px; } .service-reference { gap:15px; } .service-jump-links a { font-size:12px; } }
.facilities-callout { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:38px; background:#e4eadd; border-radius:24px; margin-top:50px; }
.facilities-callout h3 { font-size:34px; }
.service-style-two { background:#f0ede3; padding:80px 0; }
.service-style-two .inner-container img { max-width:100%; height:auto; border-radius:18px; }
.sec-title h2 { font-size:clamp(36px,4vw,54px); line-height:1.15; }
.main-footer { background:#123f39; }
.main-footer p,.main-footer li,.main-footer a,.main-footer h3 { color:#f4efdf!important; }
.main-footer .widget-section { padding:65px 0; }
.footer-bottom { background:#0e342f; border-top:1px solid #426159; }
.contact-style-two .form-inner { background:#fffdfa; padding:30px; border-radius:24px; }
.contact-style-two input,.contact-style-two textarea { border-radius:12px!important; }
.contact-style-two .map-inner { border-radius:24px; overflow:hidden; }
.contact-style-two iframe { max-width:100%; }
.visit-section { padding:80px 0 95px; }
.visit-grid { display:grid; grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr); gap:48px; align-items:stretch; }
.visit-details { padding:32px; background:#fffdfa; border:1px solid #d8dfd5; border-radius:24px; }
.visit-detail + .visit-detail { margin-top:25px; padding-top:25px; border-top:1px solid #d8dfd5; }
.visit-detail h2 { font-size:28px; margin-bottom:15px; }
.visit-detail address { font-style:normal; line-height:1.9; margin-bottom:0; }
.visit-detail p { margin-bottom:8px; overflow-wrap:anywhere; }
.visit-detail a:not(.theme-btn) { color:#17675f; }
.visit-detail .theme-btn { margin-top:15px; }
.visit-hours { margin:0; }
.visit-hours>div { display:flex; justify-content:space-between; gap:15px; flex-wrap:wrap; padding:5px 0; }
.visit-hours dt { font-weight:500; }
.visit-hours dd { margin:0; }
.visit-map { display:flex; flex-direction:column; min-height:600px; border-radius:24px; overflow:hidden; background:#e4eadd; }
.map-help { display:flex; flex-wrap:wrap; gap:10px 18px; align-items:center; padding:14px 18px; background:#edf1e8; font-size:13px; }
.map-help button,.map-help a { background:none; color:#164c47; text-decoration:underline; border:0; cursor:pointer; }
.visit-map iframe { display:block; width:100%; height:100%; min-height:600px; }
@media(max-width:991px) { .visit-grid { grid-template-columns:1fr; gap:25px; } .visit-map,.visit-map iframe { min-height:450px; } }
@media(max-width:599px) { .visit-section { padding:50px 0; } .visit-details { padding:25px; } .visit-map,.visit-map iframe { min-height:380px; } }
.mobile-menu .nav-logo { padding:50px 25px 35px; background:var(--cream); }
.mobile-menu .close-btn { background:var(--theme-color); border-radius:50%; }
.mobile-menu .menu-box { transition:transform .25s ease,opacity .25s ease!important; }
@media(max-width:767px) { .service-style-two .inner-container.pb-5 { font-size:18px!important; text-align:left!important; } }
.wellness-loader { display:none; position:fixed; inset:0; z-index:99999; background:var(--cream); align-items:center; justify-content:center; flex-direction:column; pointer-events:none; }
.wellness-loader.is-loading { display:flex; animation:loader-exit .25s 1.3s forwards; }
.loader-emblem { width:90px; height:90px; animation:leaf-breathe 1.8s ease-in-out infinite; }
.loader-emblem svg { fill:none; stroke:var(--theme-color); stroke-width:2; }
.wellness-loader p { color:var(--title-color); font-size:15px; letter-spacing:5px; margin-top:22px; }
.wellness-loader span { font-size:12px; margin-top:9px; }
@keyframes leaf-breathe { 50% { transform:scale(1.08); opacity:.55; } }
@keyframes loader-exit { to { opacity:0; visibility:hidden; } }
@media(max-width:1200px) { .main-header .logo-box { width:180px; margin-right:15px; } .main-menu .navigation>li { margin:0 9px; } .main-header .outer-container { padding:0 20px!important; } }
@media(max-width:991px) { .banner-style-three .banner-carousel .slide-item { padding:65px 0 0; } .banner-style-three .slide-item .image-layer { position:relative; display:block; width:75%; max-width:420px; right:auto; margin:20px auto 0; } .banner-style-three .content-box { max-width:100%; } .banner-style-three .slide-item { display:flex; flex-direction:column; } .banner-style-three .slide-item>.auto-container { order:-1; width:100%; } .facility-grid { gap:16px; } .facility-copy { padding:20px; } .facility-copy h3 { font-size:25px; } .main-header .header-top .info-list { display:flex; } }
@media(max-width:767px) { .auto-container { padding-left:22px; padding-right:22px; } .facilities-section { padding:60px 0; } .facilities-heading { display:block; } .facilities-heading p { margin-top:20px; } .facility-grid { grid-template-columns:1fr; gap:25px; } .facility-copy p:not(.eyebrow) { min-height:0; } .facilities-callout { display:block; padding:26px; } .facilities-callout .theme-btn { margin-top:24px; } .care-ribbon { gap:12px; font-size:10px; letter-spacing:1px; } .care-ribbon b { font-size:17px; } .banner-style-three .content-box .wellness-hero-title { letter-spacing:-2px; } .main-header .header-top .top-inner { padding:10px 20px; } .main-header .header-top .info-list { justify-content:flex-start; } .main-header .header-top .header-info { padding-top:8px; } .main-footer .footer-widget { margin-left:0!important; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .wellness-loader.is-loading { display:none; } }
