.elementor-kit-8{--e-global-color-primary:#2E2B26;--e-global-color-secondary:#F9D7AA;--e-global-color-text:#4A423B;--e-global-color-accent:#7E5C36;--e-global-color-38f52f8:#F7F3EC;--e-global-color-6173a82:#EAE3D7;--e-global-color-d44076b:#D9CBB4;--e-global-color-3701b0c:#6B5F54;--e-global-color-f319867:#38342E;--e-global-color-4290840:#1A1816;--e-global-color-8d7a587:#E4DACB;--e-global-color-3cab29b:#A89A8B;--e-global-color-ee3c8d3:#E0D7C8;--e-global-color-dace497:#4A443C;--e-global-color-8749942:#FCD4A0;--e-global-color-0185ab4:#C8743A;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:3.5rem;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:3.5rem;--e-global-typography-primary-letter-spacing:0em;--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-secondary-font-size:2rem;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:2rem;--e-global-typography-secondary-letter-spacing:0em;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-letter-spacing:0em;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1rem;--e-global-typography-accent-letter-spacing:0em;background-color:#F7F3EC;color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:1.2rem;font-weight:400;line-height:1.2px;letter-spacing:0em;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{background-color:#2E2B26;font-family:"Montserrat", Sans-serif;font-size:0.8rem;font-weight:500;text-transform:uppercase;line-height:1rem;letter-spacing:0em;color:#F7F3EC;border-style:solid;border-width:1px 1px 1px 1px;border-color:#2E2B26;padding:1.25rem 2.25rem 1.25rem 2.25rem;}.elementor-kit-8 button:hover,.elementor-kit-8 button:focus,.elementor-kit-8 input[type="button"]:hover,.elementor-kit-8 input[type="button"]:focus,.elementor-kit-8 input[type="submit"]:hover,.elementor-kit-8 input[type="submit"]:focus,.elementor-kit-8 .elementor-button:hover,.elementor-kit-8 .elementor-button:focus{background-color:#F9D7AA;color:#2E2B26;border-style:solid;border-width:1px 1px 1px 1px;border-color:#F9D7AA;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#7E5C36;}.elementor-kit-8 a:hover{color:#2E2B26;}.elementor-kit-8 h1{color:#2E2B26;font-family:"Playfair Display", Sans-serif;font-size:3.5rem;font-weight:400;line-height:3.5rem;letter-spacing:0em;}.elementor-kit-8 h2{color:#2E2B26;font-family:"Playfair Display", Sans-serif;font-size:2.5rem;font-weight:400;line-height:2.5rem;letter-spacing:0em;}.elementor-kit-8 h3{color:#2E2B26;font-family:"Playfair Display", Sans-serif;font-size:2rem;font-weight:400;line-height:2rem;letter-spacing:0em;}.elementor-kit-8 h4{color:#2E2B26;font-family:"Playfair Display", Sans-serif;font-size:1.4rem;font-weight:400;line-height:1.4rem;letter-spacing:0em;}.elementor-kit-8 h5{color:#7E5C36;font-family:"Montserrat", Sans-serif;font-size:0.8rem;font-weight:500;line-height:0.9rem;letter-spacing:0em;}.elementor-kit-8 h6{color:#6B5F54;font-family:"Montserrat", Sans-serif;font-size:0.8rem;font-weight:500;text-transform:uppercase;line-height:1rem;letter-spacing:0em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}.elementor-widget:not(:last-child){--kit-widget-spacing:0rem;}.elementor-element{--widgets-spacing:0rem 0rem;--widgets-spacing-row:0rem;--widgets-spacing-column:0rem;}{}h1.entry-title{display:var(--page-title-display);}.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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   HALO — Global effects (Site Settings → Custom CSS)
   Add classes in any widget/container: Advanced → CSS Classes
   ========================================================= */

:root {
  --halo-tempo: 2.8s;            /* shared heartbeat: 2s Gentle · 2.8s Calm · 4s Still */
  --halo-ease: cubic-bezier(.45, 0, .55, 1);
  --halo-exhale: cubic-bezier(.33, 0, .2, 1);
  --pulse-rgb: 249, 215, 170;    /* Halo Peach glow */
}

/* ---------- Site-wide polish ---------- */
html { scroll-behavior: smooth; }

::selection { background: #F9D7AA; color: #2E2B26; }

:focus-visible { outline: 2px solid #7E5C36; outline-offset: 3px; }
.halo-dark :focus-visible { outline-color: #F9D7AA; }

/* Smooth hover for every button on the site */
.elementor-button {
  transition: background-color .45s ease, color .45s ease,
              border-color .45s ease, box-shadow .6s ease;
}
.elementor-button:hover {
  box-shadow: 0 0 24px rgba(var(--pulse-rgb), .35);
}

/* ---------- Dark sections ---------- */
/* Add "halo-dark" to any charcoal container */
.halo-dark a:not(.elementor-button) { color: #F9D7AA; }
.halo-dark a:not(.elementor-button):hover { color: #F7F3EC; }

/* ---------- Button variants ---------- */
/* Peach button for dark sections */
.elementor .halo-btn-dark .elementor-button {
  background-color: #F9D7AA; color: #2E2B26; border-color: #F9D7AA;
}
.elementor .halo-btn-dark .elementor-button:hover {
  background-color: #F7F3EC; color: #2E2B26; border-color: #F7F3EC;
}

/* Outline button for light sections */
.elementor .halo-btn-outline .elementor-button {
  background-color: transparent; color: #2E2B26; border-color: #2E2B26;
}
.elementor .halo-btn-outline .elementor-button:hover {
  background-color: #2E2B26; color: #F7F3EC; border-color: #2E2B26;
}

/* Outline button for dark sections */
.elementor .halo-btn-outline-light .elementor-button {
  background-color: transparent; color: #F7F3EC; border-color: #F7F3EC;
}
.elementor .halo-btn-outline-light .elementor-button:hover {
  background-color: #F7F3EC; color: #2E2B26; border-color: #F7F3EC;
}

/* ---------- Pulsing button (heartbeat glow) ---------- */
.halo-btn-pulse .elementor-button {
  animation: haloBtnPulse var(--halo-tempo) linear infinite;
}
.halo-btn-pulse .elementor-button:hover {
  animation: none;
  box-shadow: 0 0 0 3px rgba(var(--pulse-rgb), .35),
              0 0 28px rgba(var(--pulse-rgb), .45);
}

@keyframes haloBtnPulse {
  0%   { box-shadow: 0 0 0 0 rgba(var(--pulse-rgb), 0),   0 0 0 0 rgba(var(--pulse-rgb), 0);   animation-timing-function: var(--halo-ease); }
  11%  { box-shadow: 0 0 0 3px rgba(var(--pulse-rgb), .35), 0 0 22px 0 rgba(var(--pulse-rgb), .35); animation-timing-function: var(--halo-ease); }
  21%  { box-shadow: 0 0 0 4px rgba(var(--pulse-rgb), .18), 0 0 16px 0 rgba(var(--pulse-rgb), .2);  animation-timing-function: var(--halo-ease); }
  30%  { box-shadow: 0 0 0 6px rgba(var(--pulse-rgb), .2),  0 0 24px 0 rgba(var(--pulse-rgb), .28); animation-timing-function: var(--halo-exhale); }
  80%, 100% { box-shadow: 0 0 0 12px rgba(var(--pulse-rgb), 0), 0 0 30px 0 rgba(var(--pulse-rgb), 0); }
}

/* ---------- Glowing / pulsing box ---------- */
/* Add to a container — e.g. the featured package card */
.halo-glow-box {
  border: 1px solid rgba(var(--pulse-rgb), .45);
  animation: haloBoxGlow var(--halo-tempo) linear infinite;
}

@keyframes haloBoxGlow {
  0%   { box-shadow: 0 0 0 0 rgba(var(--pulse-rgb), 0),  0 0 30px rgba(var(--pulse-rgb), .08); animation-timing-function: var(--halo-ease); }
  11%  { box-shadow: 0 0 0 1px rgba(var(--pulse-rgb), .5), 0 0 48px rgba(var(--pulse-rgb), .28); animation-timing-function: var(--halo-ease); }
  21%  { box-shadow: 0 0 0 1px rgba(var(--pulse-rgb), .25), 0 0 36px rgba(var(--pulse-rgb), .15); animation-timing-function: var(--halo-ease); }
  30%  { box-shadow: 0 0 0 1px rgba(var(--pulse-rgb), .35), 0 0 44px rgba(var(--pulse-rgb), .22); animation-timing-function: var(--halo-exhale); }
  80%, 100% { box-shadow: 0 0 0 0 rgba(var(--pulse-rgb), 0), 0 0 30px rgba(var(--pulse-rgb), .08); }
}

/* Use bronze glow instead of peach on light backgrounds */
.halo-bronze { --pulse-rgb: 126, 92, 54; }

/* ---------- Card hover: lift + soft halo edge ---------- */
.halo-glow-hover {
  transition: transform .7s cubic-bezier(.2, .7, .2, 1), box-shadow .7s ease;
}
.halo-glow-hover:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px -24px rgba(46, 43, 38, .35),
              0 0 0 1px rgba(var(--pulse-rgb), .55),
              0 0 40px rgba(var(--pulse-rgb), .18);
}

/* ---------- Slow image zoom on hover ---------- */
.halo-img-zoom .elementor-widget-container,
.halo-img-zoom { overflow: hidden; }
.halo-img-zoom img { transition: transform 1.4s cubic-bezier(.2, .7, .2, 1); }
.halo-img-zoom:hover img { transform: scale(1.04); }

/* ---------- Glowing italic word in headings ---------- */
/* Add to a Heading; wrap the word in <em>…</em> (e.g. it's <em>HALO.</em>) */
.halo-text-glow em, .halo-text-glow i {
  color: #F9D7AA;
  animation: haloTextGlow var(--halo-tempo) linear infinite;
}

@keyframes haloTextGlow {
  0%   { text-shadow: 0 0 10px rgba(249, 215, 170, .15); animation-timing-function: var(--halo-ease); }
  11%  { text-shadow: 0 0 26px rgba(249, 215, 170, .55); animation-timing-function: var(--halo-ease); }
  21%  { text-shadow: 0 0 16px rgba(249, 215, 170, .3);  animation-timing-function: var(--halo-ease); }
  30%  { text-shadow: 0 0 22px rgba(249, 215, 170, .42); animation-timing-function: var(--halo-exhale); }
  80%, 100% { text-shadow: 0 0 10px rgba(249, 215, 170, .15); }
}

/* ---------- Pulsing dot (e.g. "Now booking") ---------- */
.halo-dot .elementor-heading-title::before,
.halo-dot p:first-child::before {
  content: "";
  display: inline-block;
  width: .5em; height: .5em;
  margin-right: .75em;
  border-radius: 50%;
  vertical-align: middle;
  background: rgb(var(--pulse-rgb));
  animation: haloDot var(--halo-tempo) linear infinite;
}

@keyframes haloDot {
  0%   { box-shadow: 0 0 0 0 rgba(var(--pulse-rgb), .6); animation-timing-function: var(--halo-exhale); }
  70%, 100% { box-shadow: 0 0 0 .7em rgba(var(--pulse-rgb), 0); }
}

/* ---------- Fade-up reveal on scroll (no JS) ---------- */
/* Modern browsers animate; others simply show the content */
@supports (animation-timeline: view()) {
  .halo-reveal {
    animation: haloReveal linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 45%;
  }
}

@keyframes haloReveal {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: none; }
}

/* ---------- Respect reduced-motion settings ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .halo-btn-pulse .elementor-button,
  .halo-glow-box,
  .halo-text-glow em, .halo-text-glow i,
  .halo-dot .elementor-heading-title::before,
  .halo-dot p:first-child::before,
  .halo-reveal { animation: none !important; }
  .halo-glow-hover, .halo-img-zoom img { transition: none; }
  .halo-glow-hover:hover { transform: none; }
}/* End custom CSS */