.elementor-kit-7{--e-global-color-primary:#9A835C;--e-global-color-secondary:#7E6A48;--e-global-color-text:#2E2B27;--e-global-color-accent:#A8926C;--e-global-color-plivory:#F7F3EC;--e-global-color-plsand:#D9CDB8;--e-global-color-plbtntext:#221D17;--e-global-color-plbtnhov:#8F7A56;--e-global-color-plespresso:#2E2B27;--e-global-color-plparch:#E9DFCB;--e-global-color-plmuted:#C9B48E;--e-global-color-plwhite:#FFFFFF;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-size:44px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.15em;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:12px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-secondary-letter-spacing:0.28em;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.85em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0.28em;--e-global-typography-plcard-font-family:"Cormorant Garamond";--e-global-typography-plcard-font-size:30px;--e-global-typography-plcard-font-weight:500;--e-global-typography-plcard-line-height:1.2em;--e-global-typography-plquote-font-family:"Cormorant Garamond";--e-global-typography-plquote-font-size:30px;--e-global-typography-plquote-font-weight:400;--e-global-typography-plquote-line-height:1.3em;--e-global-typography-plhero-font-family:"Cormorant Garamond";--e-global-typography-plhero-font-size:56px;--e-global-typography-plhero-font-weight:500;--e-global-typography-plhero-line-height:1.1em;--e-global-typography-plsmall-font-family:"Montserrat";--e-global-typography-plsmall-font-size:14px;--e-global-typography-plsmall-font-weight:400;--e-global-typography-plsmall-line-height:1.85em;--e-global-typography-plcardtext-font-family:"Montserrat";--e-global-typography-plcardtext-font-size:15px;--e-global-typography-plcardtext-font-weight:400;--e-global-typography-plcardtext-line-height:1.8em;--e-global-typography-plnav-font-family:"Montserrat";--e-global-typography-plnav-font-size:16px;--e-global-typography-plnav-font-weight:500;--e-global-typography-plnav-text-transform:uppercase;--e-global-typography-plnav-line-height:1.2em;--e-global-typography-plnav-letter-spacing:0.04em;--e-global-typography-plscript-font-family:"Alex Brush";--e-global-typography-plscript-font-size:52px;--e-global-typography-plscript-font-weight:400;--e-global-typography-plscript-line-height:1.1em;background-color:#FFFFFF;color:#2E2B27;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:400;line-height:1.85em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#A8926C;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:0.28em;color:#221D17;border-radius:0px 0px 0px 0px;padding:16px 30px 16px 30px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#8F7A56;color:#FFFFFF;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#2E2B27;}.elementor-kit-7 a:hover{color:#7E6A48;}.elementor-kit-7 h1{color:#9A835C;font-family:"Cormorant Garamond", Sans-serif;font-size:44px;font-weight:400;line-height:1.15em;}.elementor-kit-7 h2{color:#9A835C;font-family:"Cormorant Garamond", Sans-serif;font-size:44px;font-weight:400;line-height:1.15em;}.elementor-kit-7 h3{color:#2E2B27;font-family:"Cormorant Garamond", Sans-serif;font-size:30px;font-weight:500;line-height:1.2em;}.elementor-kit-7 label{color:#2E2B27;font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:500;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-family:"Montserrat", Sans-serif;font-size:15px;color:#2E2B27;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#D9CDB8;border-radius:0px 0px 0px 0px;padding:12px 14px 12px 14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1320px;}.e-con{--container-max-width:1320px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:rgba(24,21,18,0.94);--lightbox-ui-color:#E9DFCB;--lightbox-ui-color-hover:#FFFFFF;--lightbox-text-color:#E9DFCB;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-primary-font-size:40px;--e-global-typography-plcard-font-size:28px;--e-global-typography-plquote-font-size:28px;--e-global-typography-plhero-font-size:48px;--e-global-typography-plscript-font-size:46px;}.elementor-kit-7 h1{font-size:40px;}.elementor-kit-7 h2{font-size:40px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:34px;--e-global-typography-plcard-font-size:26px;--e-global-typography-plquote-font-size:26px;--e-global-typography-plhero-font-size:38px;--e-global-typography-plscript-font-size:40px;}.elementor-kit-7 h1{font-size:34px;}.elementor-kit-7 h2{font-size:34px;}.elementor-kit-7 h3{font-size:26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   Palms La Batterie: site-wide styles (Elementor > Site Settings > Custom CSS)
   Colours/fonts live in Site Settings (Global Colors / Global Fonts).
   This file only holds behaviour Elementor's panels cannot express:
   the transparent-to-white header, script name styling, text links, forms.
   ========================================================================== */
:root{--pl-gold:#9A835C;--pl-deep:#7E6A48;--pl-ink:#2E2B27;--pl-btn:#A8926C;--pl-btn-dk:#8F7A56;
--pl-ivory:#F7F3EC;--pl-sand:#D9CDB8;--pl-parch:#E9DFCB;--pl-muted:#C9B48E;--pl-hh:132px}
html{scroll-padding-top:calc(var(--pl-hh) + 16px)}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:var(--pl-parch);color:var(--pl-ink)}

/* "Palms La Batterie" as a name or heading: Alex Brush (brief p.3) */
.pl-script{font-family:"Alex Brush",cursive;font-weight:400;font-style:normal;letter-spacing:0;font-size:1.12em;line-height:1;white-space:nowrap}

/* ---------- Header: fixed over the homepage video, white everywhere else ---------- */
.elementor-location-header{position:sticky;top:0;z-index:1000}
body:has(.pl-video-hero) .elementor-location-header{position:fixed;left:0;right:0}
body.admin-bar .elementor-location-header{top:32px}
@media (max-width:782px){body.admin-bar .elementor-location-header{top:46px}}
@media (max-width:600px){body.admin-bar .elementor-location-header{top:0}}
.pl-header{transition:background-color .35s ease,box-shadow .35s ease}
.pl-header .pl-logo-white{display:none}
.pl-header .pl-util .elementor-icon-list-text,.pl-header .pl-util a{transition:color .2s}
/* Transparent state: homepage, until the video has scrolled out from under the header */
body:has(.pl-video-hero):not(.pl-solid) .pl-header{background-color:transparent!important;box-shadow:none!important;
 background-image:linear-gradient(180deg,rgba(20,16,12,.62) 0%,rgba(20,16,12,.42) 70%,rgba(20,16,12,0) 100%)!important}
body:has(.pl-nav .elementor-menu-toggle.elementor-active) .pl-header{background-image:none!important}
body:has(.pl-video-hero):not(.pl-solid) .pl-header .pl-logo-white{display:block}
body:has(.pl-video-hero):not(.pl-solid) .pl-header .pl-logo-gold{display:none}
body:has(.pl-video-hero):not(.pl-solid) .pl-header .pl-util .elementor-icon-list-text{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.35)}
body:has(.pl-video-hero):not(.pl-solid) .pl-header .pl-util a:hover .elementor-icon-list-text{color:var(--pl-parch)}
body:has(.pl-video-hero):not(.pl-solid) .pl-nav .elementor-nav-menu--main>.elementor-nav-menu>li>.elementor-item{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 10px rgba(0,0,0,.35)}
body:has(.pl-video-hero):not(.pl-solid) .pl-nav .elementor-nav-menu--main>.elementor-nav-menu>li>.elementor-item:hover,
body:has(.pl-video-hero):not(.pl-solid) .pl-nav .elementor-nav-menu--main>.elementor-nav-menu>li>.elementor-item:focus-visible{color:var(--pl-parch)}
body:has(.pl-video-hero):not(.pl-solid) .pl-nav .elementor-menu-toggle{color:#fff!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}
body:has(.pl-video-hero):not(.pl-solid) .pl-nav .elementor-menu-toggle svg{fill:#fff!important}
body:has(.pl-video-hero):not(.pl-solid) .pl-nav .elementor-menu-toggle i{color:#fff!important}
body:has(.pl-video-hero):not(.pl-solid) .pl-cta .elementor-button{box-shadow:0 3px 12px rgba(0,0,0,.25)}
/* Phone/tablet menu open: header turns solid so the panel reads as one piece */
body:has(.pl-nav .elementor-menu-toggle.elementor-active) .pl-header{background-color:#fff!important}
body:has(.pl-nav .elementor-menu-toggle.elementor-active) .pl-header .pl-logo-white{display:none!important}
body:has(.pl-nav .elementor-menu-toggle.elementor-active) .pl-header .pl-logo-gold{display:block!important}
body:has(.pl-nav .elementor-menu-toggle.elementor-active) .pl-nav .elementor-menu-toggle{color:var(--pl-ink)!important;filter:none!important}
body:has(.pl-nav .elementor-menu-toggle.elementor-active) .pl-nav .elementor-menu-toggle svg{fill:var(--pl-ink)!important}
body.pl-solid .pl-header,body:not(:has(.pl-video-hero)) .pl-header{box-shadow:0 1px 0 rgba(46,43,39,.08),0 6px 24px rgba(46,43,39,.06)}

/* Menu: "+" after dropdown names, keyboard focus ring, dropdown panel */
.pl-nav .elementor-nav-menu--main .elementor-item.has-submenu .sub-arrow{margin:0;padding-inline-start:8px}
.pl-nav .sub-arrow svg{fill:currentColor}
.pl-nav .sub-arrow i{color:inherit}
.pl-nav .elementor-nav-menu--main .sub-arrow svg{width:.62em;height:.62em}
.pl-nav .elementor-item:focus-visible,.pl-nav .elementor-sub-item:focus-visible{outline:2px solid var(--pl-btn);outline-offset:3px}
.pl-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown{min-width:230px!important}
.pl-nav .elementor-nav-menu--dropdown a{min-height:44px;display:flex;align-items:center}
/* phone/tablet dropdown: never clip the list (scrollable when long) */
.pl-nav .elementor-nav-menu--dropdown.elementor-nav-menu__container{overflow-x:hidden;overflow-y:auto}
.pl-cta .elementor-button{white-space:nowrap}

/* Narrower laptop screens: logo and menu slightly smaller (brief p.3) */
.pl-hdr-right{min-width:0}
@media (min-width:1025px) and (max-width:1366px){
 .pl-header .pl-logo,.pl-header .pl-logo img{width:220px!important}
 .pl-nav{--e-nav-menu-horizontal-menu-item-margin:11px}
 .pl-nav .elementor-nav-menu--main .elementor-item{font-size:14px!important}
 .pl-cta .elementor-button{font-size:14px!important;padding:13px 28px!important}
 .pl-header .pl-util .elementor-icon-list-text{font-size:13px!important}
 .pl-navrow{gap:22px!important}
}
@media (min-width:1025px) and (max-width:1200px){
 .pl-header-inner{gap:24px!important}
 .pl-header .pl-logo,.pl-header .pl-logo img{width:175px!important}
 .pl-nav{--e-nav-menu-horizontal-menu-item-margin:8px}
 .pl-nav .elementor-nav-menu--main .elementor-item{font-size:13px!important;letter-spacing:.02em!important}
 .pl-nav .elementor-nav-menu--main .sub-arrow{padding-left:6px!important}
 .pl-cta .elementor-button{font-size:13px!important;padding:11px 18px!important}
 .pl-header .pl-util .elementor-icon-list-text{font-size:12px!important}
 .pl-navrow{gap:14px!important}
}
@media (min-width:1025px) and (max-width:1100px){
 .pl-nav{--e-nav-menu-horizontal-menu-item-margin:6px}
 .pl-nav .elementor-nav-menu--main .elementor-item{font-size:12.5px!important}
 .pl-cta .elementor-button{font-size:12px!important;padding:11px 14px!important}
}
.pl-nav .elementor-menu-toggle{padding:5px}
@media (max-width:400px){
 .pl-header .pl-logo,.pl-header .pl-logo img{width:128px!important}
 .pl-cta .elementor-button{font-size:11px!important;padding:10px 10px!important;letter-spacing:.02em!important}
}

@media (max-width:340px){
 .pl-header .pl-logo,.pl-header .pl-logo img{width:104px!important}
 .pl-cta .elementor-button{font-size:10px!important;padding:9px 8px!important;letter-spacing:0!important}
}

/* ---------- Text links (ABOUT THE PROPERTY etc.): charcoal, gold underline ---------- */
.pl-link .elementor-button{position:relative;background:transparent!important;border-radius:0!important}
.pl-link .elementor-button::after{content:"";position:absolute;inset:-14px -6px}  /* 44px+ tap target */
.pl-link .elementor-button:hover,.pl-link .elementor-button:focus-visible{color:var(--pl-deep)!important}
.pl-link .elementor-button:focus-visible{outline:2px solid var(--pl-btn);outline-offset:6px}
.elementor-button:focus-visible{outline:2px solid var(--pl-ink);outline-offset:3px}

/* Body copy links inside paragraphs: charcoal with a gold underline */
.elementor-widget-text-editor a{color:var(--pl-ink);text-decoration:underline;text-decoration-color:var(--pl-btn);text-underline-offset:3px}
.elementor-widget-text-editor a:hover{color:var(--pl-deep)}
.pl-footer .elementor-widget-text-editor a{color:var(--pl-parch);text-decoration-color:var(--pl-muted)}
.pl-footer .elementor-widget-text-editor a:hover{color:#fff}

/* Paragraph rhythm inside text editors (mockup: 20px between paragraphs) */
.elementor-widget-text-editor p{margin:0 0 20px}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.pl-script-widget{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)}

/* Footer: comfortable thumb targets on touch screens */
@media (max-width:1024px){.pl-footer .elementor-icon-list-item>a,.pl-footer .elementor-icon-list-item>.elementor-icon-list-text{min-height:44px;display:flex;align-items:center}}

/* Cards: pin the text link to the bottom so the three cards line up */
.pl-card{height:100%}
.pl-card .pl-card-body{flex-grow:1}
.pl-card .pl-card-body .pl-link{margin-top:auto}

/* Images: crisp, never stretched */
.pl-cover img{width:100%!important;object-fit:cover}
.pl-cover a{display:block!important}

/* FAQ (nested accordion): thin sand lines between items */
.pl-faq .e-n-accordion-item{border-top:1px solid var(--pl-sand)}
.pl-faq .e-n-accordion-item:last-child{border-bottom:1px solid var(--pl-sand)}
.pl-faq .e-n-accordion-item-title{min-height:44px}
.pl-faq .e-n-accordion-item-title-text{font-family:"Montserrat",sans-serif!important;font-size:16px!important;font-weight:500!important;line-height:1.5!important;color:inherit!important;letter-spacing:0!important;text-transform:none!important}
.pl-faq .e-n-accordion-item-title:focus-visible{outline:2px solid var(--pl-btn);outline-offset:4px}
.pl-faq .e-n-accordion-item-title-icon svg{width:12px;height:12px}

/* Inner page titles: soft frosted label so the title reads on any photo */
.pl-hero-title{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:calc(100% - 8px)}

/* Breadcrumbs */
.pl-crumbs #breadcrumbs,.pl-crumbs p{margin:0}
.pl-crumbs a{color:var(--pl-ink);text-decoration:underline;text-decoration-color:var(--pl-btn);text-underline-offset:3px}
.pl-crumbs a:hover{color:var(--pl-deep);text-decoration:underline;text-decoration-color:var(--pl-btn)}
.pl-crumbs .breadcrumb_last{color:var(--pl-deep)}

/* ---------- Forms: white, Montserrat labels, thin sand borders ---------- */
.pl-form .elementor-field-group{margin-bottom:18px}
.pl-form .elementor-field-textual,.pl-form select.elementor-field{min-height:48px}
.pl-form .elementor-field:focus{border-color:var(--pl-btn)!important;outline:2px solid rgba(168,146,108,.35);outline-offset:0;box-shadow:none}
.pl-form .elementor-field-group .elementor-select-wrapper::before{color:var(--pl-deep)}
.pl-form input[readonly]{background:var(--pl-ivory)!important;color:var(--pl-ink)}
.pl-form .elementor-message{font-family:"Montserrat",sans-serif;font-size:15px;line-height:1.7;color:var(--pl-ink)}
.pl-form .elementor-message.elementor-message-success{background:var(--pl-ivory);border-left:3px solid var(--pl-btn);padding:16px 18px;margin-top:18px}
.pl-form .elementor-message::before{display:none}
.pl-form .elementor-field-type-submit .elementor-button{min-height:52px}
.pl-hidden{display:none!important}

/* Video (Concierge): portrait clip keeps the creator's tag visible */
.pl-portrait-video .elementor-wrapper{aspect-ratio:9/16;max-width:380px}

/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* =====================================================================================================
   UPGRADES APPROVED 10-09 (numbers = the approval list). 1 quick bar = its own styles in the home bar widget;
   9 page not found = CSS in the 404 template.
   ===================================================================================================== */

/* 2 + 3. Floating corner stack (footer template): back-to-top above, WhatsApp in the corner */
.pl-float{position:fixed!important;right:24px;bottom:24px;left:auto;top:auto;z-index:990;width:auto!important;max-width:none!important;
 display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}
.pl-float>.elementor-element{pointer-events:auto;width:auto!important;max-width:none!important;margin:0!important;flex:none!important}
@media (max-width:767px){.pl-float{right:16px;bottom:16px;gap:10px}}

/* 2. WhatsApp: round gold button, dark glyph = the same colours as the site's gold buttons; hover = button hover */
.pl-wa .elementor-icon-wrapper{line-height:0}
.pl-wa .elementor-icon{width:56px;height:56px;padding:0!important;display:flex!important;align-items:center;justify-content:center;
 box-shadow:0 4px 16px rgba(46,43,39,.22);transition:background-color .25s ease,color .25s ease,fill .25s ease}
.pl-wa .elementor-icon svg{width:26px;height:26px}
.pl-wa .elementor-icon:focus-visible{outline:2px solid #221D17;outline-offset:3px}
@media (max-width:767px){.pl-wa .elementor-icon{width:52px;height:52px}.pl-wa .elementor-icon svg{width:24px;height:24px}}
/* Mouse-over label (computers only). The words come from the Contact page; the number is never shown. */
@media (hover:hover) and (pointer:fine){
 .pl-wa .elementor-icon{position:relative}
 .pl-wa .elementor-icon::before{content:attr(aria-label);position:absolute;right:calc(100% + 12px);top:50%;transform:translate(6px,-50%);
  white-space:nowrap;background:#fff;color:#2E2B27;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:500;line-height:1;
  letter-spacing:.02em;padding:11px 14px;box-shadow:0 4px 16px rgba(46,43,39,.14);opacity:0;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease}
 .pl-wa .elementor-icon:hover::before,.pl-wa .elementor-icon:focus-visible::before{opacity:1;transform:translate(0,-50%)}
}

/* 3. Back to top: white button, gold ring that fills as you scroll, dark arrow */
.pl-btt .ekit-btt{line-height:0}
.pl-btt .ekit-btt__button{display:flex!important;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(46,43,39,.18)}
.pl-btt .ekit-btt__button .progress_indicator{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.pl-btt .ekit-btt__button .canvas{transform:rotate(-90deg)}            /* ring starts at 12 o'clock */
.pl-btt .ekit-btt__button span{position:relative;display:flex;line-height:0}
.pl-btt .ekit-btt__button svg{width:16px;height:16px;fill:#221D17}
.pl-btt .ekit-btt__button:focus-visible{outline:2px solid #221D17;outline-offset:3px}
.pl-btt .ekit-btt__button.yes:not(.ekit-tt-show){visibility:hidden;pointer-events:none;transition:visibility 0s linear .5s}
.pl-btt .ekit-btt__button.ekit-tt-show{visibility:visible}
@media (max-width:767px){.pl-btt .ekit-btt__button{width:48px!important;height:48px!important}}
@media (prefers-reduced-motion:reduce){.pl-btt .ekit-btt__button{animation:none!important}}

/* 4. Photos reveal softly: ElementsKit scroll-reveal curtain (ivory) + a gentle settle of the photo underneath */
.ekit-scroll-reveal .ekit-scroll-reveal-overlay{transition-timing-function:cubic-bezier(.77,0,.18,1)}
.ekit-scroll-reveal img{transform:scale(1.05);transition:transform 1.6s cubic-bezier(.22,.61,.36,1)}
.ekit-scroll-reveal.ekit-scroll-reveal-active img{transform:none}
@media (prefers-reduced-motion:reduce){
 .ekit-scroll-reveal .ekit-scroll-reveal-overlay{display:none!important}
 .ekit-scroll-reveal img{transform:none!important;transition:none!important}
}

/* 5. Slow parallax: header script moves the photo inside its frame (computers only, none for reduced motion) */

/* 6. Gold line draws from the centre outwards when its title scrolls into view (once; header script adds html.pl-lines) */
html.pl-lines .pl-divider .elementor-divider-separator{transform:scaleX(0);transform-origin:50% 50%;
 transition:transform 1.4s cubic-bezier(.22,.61,.36,1)}
html.pl-lines .pl-divider.pl-drawn .elementor-divider-separator{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){html.pl-lines .pl-divider .elementor-divider-separator{transform:none!important;transition:none!important}}

/* 7. Villa cards (home): the photo slowly zooms inside its frame and a thin gold frame draws itself
      14 px inside the card. Mouse (hover) and keyboard (focus) only; phones have no hover, so nothing changes there. */
.pl-villas .pl-card{position:relative}
.pl-villas .pl-card .pl-cover{overflow:hidden}
.pl-villas .pl-card .pl-cover img{transition:transform .9s cubic-bezier(.22,.61,.36,1);transform-origin:50% 50%}
.pl-villas .pl-card::after{content:"";position:absolute;inset:14px;z-index:2;pointer-events:none;
 background:linear-gradient(#A8926C,#A8926C) left top/0 1px no-repeat,linear-gradient(#A8926C,#A8926C) right top/1px 0 no-repeat,
  linear-gradient(#A8926C,#A8926C) right bottom/0 1px no-repeat,linear-gradient(#A8926C,#A8926C) left bottom/1px 0 no-repeat;
 transition:background-size .9s cubic-bezier(.22,.61,.36,1)}
@media (hover:hover) and (pointer:fine){
 .pl-villas .pl-card:hover .pl-cover img{transform:scale(1.05)}
 .pl-villas .pl-card:hover::after{background-size:100% 1px,1px 100%,100% 1px,1px 100%}
}
.pl-villas .pl-card:has(:focus-visible) .pl-cover img{transform:scale(1.05)}
.pl-villas .pl-card:has(:focus-visible)::after{background-size:100% 1px,1px 100%,100% 1px,1px 100%}
@media (prefers-reduced-motion:reduce){.pl-villas .pl-card .pl-cover img{transform:none!important}}

/* 8. Slow line of place names (ElementsKit Marquee on the .pl-marquee container) */
.pl-marquee-band{border-top:1px solid #D9CDB8}
.pl-mq-word .elementor-heading-title{white-space:nowrap}
.pl-mq-word .elementor-heading-title::after{content:"\00B7";display:inline-block;margin-left:30px;color:#A8926C}
@media (max-width:767px){.pl-mq-word .elementor-heading-title::after{margin-left:22px}}
/* Visitors who ask for less motion: a still, centred line of the six names (no copies, no fade) */
@media (prefers-reduced-motion:reduce){
 .pl-marquee.ekit-marquee--yes{overflow:hidden!important}
 .pl-marquee .ekit-marquee-wrap{-webkit-mask-image:none!important;mask-image:none!important}
 .pl-marquee .ekit-marquee-track{width:100%!important;flex-wrap:wrap!important;justify-content:center!important}
 .pl-marquee .ekit-marquee-group{flex:0 0 100%!important;max-width:100%;box-sizing:border-box;flex-wrap:wrap!important;
  justify-content:center!important;row-gap:6px;padding:0 20px!important}
 .pl-marquee .ekit-marquee-group:last-child,.pl-marquee .ekit-marquee-item:has(.pl-mq-dup){display:none!important}
 .pl-marquee .pl-mq-last .elementor-heading-title::after{content:none}
}/* End custom CSS */