.copy-slideshow{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}.copy-slide{position:absolute;inset:0;background-size:cover;background-position:center center;transition:opacity .5s ease}.elementor-background-overlay{z-index:1}.elementor-section>.elementor-container{position:relative;z-index:2}.animated{animation-duration:1.25s;animation-fill-mode:both}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}@keyframes fadeInLeft{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}@keyframes fadeInRight{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:none}}.fadeIn{animation-name:fadeIn}.fadeInUp{animation-name:fadeInUp}.fadeInLeft{animation-name:fadeInLeft}.fadeInRight{animation-name:fadeInRight}@media(prefers-reduced-motion:reduce){.animated{animation-duration:.01ms}.copy-slide{transition:none}}
/* White header complements the supplied VIP logo artwork. */
header.elementor-location-header .elementor-element-73846eb{background:#fff!important}
header.elementor-location-header .elementskit-navbar-nav>li>a{color:#55585b!important}
header.elementor-location-header .elementskit-navbar-nav>li>a:hover,
header.elementor-location-header .elementskit-navbar-nav>li>a:focus{color:#db6d17!important}
header.elementor-location-header .elementor-element-2cf64e6 .elementor-button{background:#fff!important;color:#55585b!important;border:1px solid #d5d5d5}
header.elementor-location-header .elementor-element-2cf64e6 .elementor-button:hover{background:#f5f5f5!important;border-color:#888}
header.elementor-location-header .elementor-menu-cart__toggle_button{background:#fff!important;color:#55585b!important;border:1px solid #d5d5d5!important}
header.elementor-location-header .elementskit-menu-hamburger-icon{background:#55585b!important}
/* Match both footer sections to the white logo background. */
footer.elementor-location-footer .elementor-element-a0a539b,
footer.elementor-location-footer .elementor-element-f6078db{background:#fff!important}
footer.elementor-location-footer .elementor-heading-title,
footer.elementor-location-footer .elementor-icon-list-text,
footer.elementor-location-footer .elementor-icon-list-icon i,
footer.elementor-location-footer .elementor-widget-text-editor,
footer.elementor-location-footer .elementor-widget-text-editor p,
footer.elementor-location-footer a{color:#55585b!important}

.elementor h1.elementor-heading-title{font-size:clamp(38px,5.6vw,76px)!important;line-height:1.1!important;max-width:1000px;margin-inline:auto}#vip-contact{scroll-margin-top:20px}#vip-contact .elementor-icon-list-item{margin-bottom:12px}html{scroll-behavior:smooth}

#vip-services{padding:90px 24px 100px;background:#faf9f6;scroll-margin-top:24px;color:#55585b}
.vip-services-inner{max-width:1140px;margin:0 auto}
.vip-services-eyebrow{text-align:center;font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;margin:0 0 14px}
#vip-services h2{font-family:Cormorant,Georgia,serif;font-size:clamp(40px,5vw,62px);font-weight:400;text-align:center;margin:0 0 48px;color:#454846}
.vip-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 28px}
.vip-service-photo{aspect-ratio:4/3;background:#f0efeb;border:1px dashed #c9c9c1;display:flex;align-items:center;justify-content:center}
.vip-service-photo span{font-family:Montserrat,sans-serif;color:#797b76;font-size:11px;letter-spacing:1.6px;text-transform:uppercase}
#vip-services h3{font-family:Cormorant,Georgia,serif;font-weight:500;font-size:29px;line-height:1.2;margin:20px 0 0;color:#454846}
.vip-service-pending{font-family:Montserrat,sans-serif;font-size:12px;color:#797b76;margin:10px 0 0}
@media(max-width:900px){.vip-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){#vip-services{padding:60px 22px}.vip-services-grid{grid-template-columns:1fr;gap:34px}#vip-services h2{margin-bottom:32px}}
/* Consistent logo-orange interaction state across the site. */
:root{--vip-link-hover:#db6d17}
a,button{transition:color .2s ease,border-color .2s ease,background-color .2s ease}
:is(#vip-interaction-priority,body) a:is(:hover,:focus-visible),
:is(#vip-interaction-priority,body) button:is(:hover,:focus-visible),
:is(#vip-interaction-priority,body) a:is(:hover,:focus-visible) :is(span,i,bdi):not(.elementor-button-icon-qty),
:is(#vip-interaction-priority,body) button:is(:hover,:focus-visible) :is(span,i){color:var(--vip-link-hover)!important}
:is(#vip-interaction-priority,body) a.elementor-button:is(:hover,:focus-visible),
:is(#vip-interaction-priority,body) button:is(:hover,:focus-visible){border-color:var(--vip-link-hover)!important}
:is(#vip-interaction-priority,body) .elementskit-menu-hamburger:is(:hover,:focus-visible) .elementskit-menu-hamburger-icon{background:var(--vip-link-hover)!important}
a:focus-visible,button:focus-visible{outline:2px solid var(--vip-link-hover);outline-offset:4px}
@media(prefers-reduced-motion:reduce){a,button{transition:none}}
/* Teal sampled from the VIP logo. */
#vip-services{background:#7ecdc3;color:#244c47}
#vip-services h2,#vip-services h3{color:#203e3a}
#vip-services .vip-services-eyebrow,#vip-services .vip-service-pending{color:#30534d}
#vip-services .vip-service-photo{background:#f5faf8;border-color:#639e95}
/* Contact CTA uses the logo teal. */
.elementor .elementor-element-dad1fb2 a.elementor-button{background-color:#7ecdc3!important;color:#203e3a;border-color:#7ecdc3}
/* Balance header after removal of the cart column. */
@media(min-width:1025px){header.elementor-location-header .elementor-element-3a8907c{flex:1}header.elementor-location-header .elementor-element-4095ada{width:25%}}
/* Match Home's exact orange for the Services action, including its text. */
html body header.elementor-location-header .elementor-element-2cf64e6 a.elementor-button:is(:hover,:focus-visible),
html body header.elementor-location-header .elementor-element-2cf64e6 a.elementor-button:is(:hover,:focus-visible) .elementor-button-text{color:#db6d17!important;border-color:#db6d17!important}
/* Service tiles share the navigation's orange hover accent. */
#vip-services .vip-service-card h3{transition:color .2s ease}
#vip-services .vip-service-card:hover h3,
#vip-services .vip-service-card:focus-within h3{color:#db6d17!important}
@media(prefers-reduced-motion:reduce){#vip-services .vip-service-card h3{transition:none}}
.vip-service-card{cursor:pointer;border-radius:2px}.vip-service-card:focus-visible{outline:2px solid #db6d17;outline-offset:8px}
#vip-service-focus{width:min(900px,92vw);max-height:90dvh;padding:0;border:0;border-radius:6px;background:#fff;color:#203e3a;overflow:auto;box-shadow:0 24px 100px #0005}
#vip-service-focus::backdrop{background:rgba(15,31,28,.72);backdrop-filter:blur(5px)}
#vip-service-focus[open]{animation:vip-service-zoom .3s cubic-bezier(.2,.7,.2,1)}
.vip-focus-panel{position:relative}.vip-focus-close{position:absolute;top:14px;right:14px;z-index:1;width:42px;height:42px;padding:0;border:1px solid #d4dfdc;border-radius:50%;background:#fff;color:#203e3a;font-size:29px;line-height:1}
#vip-service-focus .vip-service-photo{aspect-ratio:16/8;min-height:180px;background:#eff7f4;border:0}
.vip-focus-copy{padding:30px 40px 36px}.vip-focus-eyebrow{font:11px Montserrat,sans-serif;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 12px}
#vip-focus-title{font:500 clamp(30px,4vw,46px)/1.1 Cormorant,Georgia,serif;margin:0 0 16px;color:#203e3a}.vip-focus-message{font:14px/1.7 Montserrat,sans-serif;max-width:620px}
.vip-focus-back{background:#7ecdc3;color:#203e3a;border:1px solid #7ecdc3;padding:13px 20px;font:12px Montserrat,sans-serif;margin-top:12px}
@keyframes vip-service-zoom{from{opacity:0;transform:scale(.82) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:540px){.vip-focus-copy{padding:25px}#vip-service-focus .vip-service-photo{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){#vip-service-focus[open]{animation:none}}
#vip-service-focus .vip-focus-close{border-radius:50%;background:#fff;color:#203e3a;font-size:29px;line-height:1;padding:0}
#vip-service-focus .vip-focus-back{background:#7ecdc3;color:#203e3a;border-color:#7ecdc3;font-size:12px;padding:13px 20px}
/* Keep the original contact photo with teal surrounding the section. */
.elementor .elementor-element-bd7ae5d{background-color:#7ecdc3!important}
/* Center service captions and place navigation on the header midpoint. */
#vip-services .vip-service-card h3,#vip-services .vip-service-pending{text-align:center}
@media(min-width:1025px){
header.elementor-location-header .elementor-element-73846eb>.elementor-container{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
header.elementor-location-header .elementor-element-a347994,
header.elementor-location-header .elementor-element-3a8907c,
header.elementor-location-header .elementor-element-4095ada{width:100%!important;min-width:0}
header.elementor-location-header .elementor-element-99bde8c{width:auto!important;max-width:none!important}
header.elementor-location-header .elementor-element-99bde8c>.elementor-widget-container{margin:0!important}
header.elementor-location-header #menu-menu{justify-content:center}
header.elementor-location-header .elementor-element-4095ada>.elementor-widget-wrap{justify-content:flex-end}
}
/* Uploaded About Us artwork, shown in full without cropping. */
.elementor .elementor-element-10b3244e>.elementor-widget-wrap{background-image:url('/assets/vip-about-artwork.png')!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;background-color:transparent;min-height:400px}

/* Readability and alignment refinements. */
#vip-services .vip-services-eyebrow{font-size:14px}
@media(min-width:1025px){
header.elementor-location-header .elementor-element-a347994 .elementor-widget-image{position:relative;left:-40px}
}
@media(max-width:767px){
html body .elementor-widget-text-editor{font-size:17px!important;line-height:1.7!important}
html body .elementor-widget-text-editor p{font-size:inherit;line-height:inherit}
html body .elementor h1.elementor-heading-title{font-size:42px!important;line-height:1.12!important}
html body .elementor h2.elementor-heading-title{font-size:42px!important;line-height:1.18!important}
html body .elementor h3.elementor-heading-title{font-size:32px!important}
html body .elementor h4.elementor-heading-title{font-size:22px!important}
html body .elementor h5.elementor-heading-title,html body .elementor h6.elementor-heading-title{font-size:17px!important}
html body .elementor .elementor-button{font-size:17px!important}
html body header.elementor-location-header .elementskit-navbar-nav>li>a{font-size:17px!important}
#vip-services .vip-services-eyebrow{font-size:16px;line-height:1.6}
#vip-services h2{font-size:44px}
#vip-services h3{font-size:32px}
.vip-service-photo span{font-size:13px}
#vip-services .vip-service-pending{font-size:14px}
#vip-contact .elementor-icon-list-item>a,#vip-contact .elementor-icon-list-text{font-size:17px!important;line-height:1.6!important}
html body #vip-contact .elementor-heading-title{font-size:22px!important}
html body #vip-contact .elementor-widget-text-editor{font-size:14px!important}
.vip-focus-eyebrow{font-size:13px}
#vip-focus-title{font-size:34px}
.vip-focus-message{font-size:16px}
#vip-service-focus .vip-focus-back{font-size:14px}
}

/* Leave the scenic background visible around the mobile content panel. */
@media(max-width:767px){
.elementor .elementor-element.elementor-element-64a68d7c{position:relative;background-image:none!important;padding:76px 0!important;isolation:isolate}
.elementor .elementor-element-64a68d7c::before{content:"";position:absolute;inset:-90px 0;background:url('/assets/0360712bb566e8fa048f.jpg') center/cover no-repeat;transform:translate3d(0,var(--vip-parallax-y,0px),0);will-change:transform;z-index:0;pointer-events:none}
.elementor .elementor-element-64a68d7c>.elementor-background-overlay{z-index:1}
.elementor .elementor-element-56c77387>.elementor-element-populated{width:86%;margin:0 auto!important;padding:28px 22px!important;flex-grow:0}
.elementor .elementor-element-64a68d7c .elementor-icon-box-description{font-size:17px;line-height:1.65}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.elementor .elementor-element-64a68d7c::before{transform:none;will-change:auto}}

/* Blank white panel requested in the scenic section. */
.elementor .elementor-element-56c77387>.elementor-widget-wrap{background:#fff!important;min-height:444px;box-shadow:none!important}
