.elementor-18 .elementor-element.elementor-element-tbc00017 > .elementor-container{max-width:100px;}.elementor-18 .elementor-element.elementor-element-tbc00017{padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-tbc00013 > .elementor-container{max-width:100px;}.elementor-18 .elementor-element.elementor-element-tbc00013{padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-tbc00012.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-18 .elementor-element.elementor-element-tbc00012 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-tbc00016 > .elementor-container{max-width:100px;}.elementor-18 .elementor-element.elementor-element-tbc00016{padding:0px 0px 0px 0px;}.elementor-18 .elementor-element.elementor-element-tbc00015.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,600&family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,400&family=Caveat:wght@400;500;600;700&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css');
body { font-family:'Lato',sans-serif; }
h1,h2,h3,h4,h5,h6 { font-family:'Playfair Display',serif; }

/* Tight section header spacing. */
body.page-id-0 .elementor-widget-heading:has(+ .elementor-widget-divider) {
  margin-block-end: 2px !important; margin-bottom: 2px !important;
}
body.page-id-0 .elementor-widget-heading:has(+ .elementor-widget-divider) .elementor-heading-title {
  margin: 0 !important; padding: 0 !important; line-height: 1.15 !important;
}
body.page-id-0 .elementor-widget-divider {
  margin-block-start: 0 !important; margin-block-end: 6px !important;
  margin-top: 0 !important; margin-bottom: 6px !important;
}
body.page-id-0 .elementor-widget-divider .elementor-divider-separator {
  margin-inline: auto !important; margin-left: auto !important; margin-right: auto !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading {
  margin-block-start: 0 !important; margin-top: 0 !important;
  margin-block-end: 10px !important; margin-bottom: 10px !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading .elementor-heading-title {
  margin: 0 !important; padding: 0 !important; line-height: 1.1 !important;
}
body.page-id-0 .elementor-widget-divider + .elementor-widget-heading + .elementor-widget-text-editor {
  margin-block-start: 4px !important; margin-top: 4px !important;
}


body.page-id-0 .elementor-widget-text-editor a,
body.page-id-0 .elementor-widget-text-editor a:link,
body.page-id-0 .elementor-widget-text-editor a:visited,
body.page-id-0 .elementor-widget-text-editor a:hover { color: #3d6b6b; }


.elementor-invisible{opacity:1 !important;visibility:visible !important;}
/* scroll-in reveal driven by the footer IntersectionObserver script (cross-browser).
   Content is VISIBLE by default; JS adds .dd-pre (hide) ONLY to below-fold elements
   then .dd-in (reveal) as they scroll in — so it can never leave content blank. */
.dd-anim{transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);}
@media (prefers-reduced-motion:no-preference){
  .dd-anim.dd-pre{opacity:0;transform:translateY(38px);}
}
.dd-anim.dd-in{opacity:1;transform:none;}
/* modern box hover (apply class .dd-box to cards/columns) */
.dd-box{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;}
.dd-box:hover{transform:translateY(-7px);box-shadow:0 24px 46px rgba(40,46,28,.17);}

footer.site-footer, #site-footer { display:none !important; }
/* the footer location holds the cookie/JS section too. Back it the footer's own colour so no
   white strip ever shows under the footer. */
.elementor-location-footer { background-color:#241f1b; }
/* The cookie/JS host section has NO visual content (banner is position:fixed, rest is a
   <script>) so it MUST take ZERO height — otherwise its empty box shows as a stray dark bar
   at the page bottom. Section _css_classes are stripped over REST here, so target by id. */
#dd-cookie-host { height:0 !important; min-height:0 !important; padding:0 !important; margin:0 !important; overflow:visible; font-size:0; line-height:0; }
#dd-cookie-host > .elementor-container, #dd-cookie-host .elementor-column,
#dd-cookie-host .elementor-widget-wrap, #dd-cookie-host .elementor-widget-html { min-height:0 !important; padding:0 !important; margin:0 !important; }
#dd-footer, #dd-footer > .elementor-container { max-width:100% !important; width:100% !important; padding:0 !important; margin:0 !important; }
#dd-footer .elementor-column, #dd-footer .elementor-widget-wrap, #dd-footer .elementor-widget-html { padding:0 !important; }

/* ── footer shell: client's travel photo under a deep charcoal gradient (photographic,
   intentional — deliberately NOT a flat dark slab). The solid charcoal top FADES into the
   photo via a tall gradient overlay (mta-foot-fade) — NO hard seam line. ── */
.mta-footer { position:relative; background-color:#241f1b; }
.mta-footer .mta-foot-photo { position:relative; background-color:#241f1b; background-size:cover;
  background-position:center 38%; padding-top:72px; }
/* solid-color → photo blend: opaque charcoal at the very top, fading to clear over ~220px,
   so the band above melts into the photograph with no line. */
.mta-footer .mta-foot-fade { position:absolute; top:0; left:0; right:0; height:230px; z-index:0; pointer-events:none;
  background:linear-gradient(180deg, #241f1b 0%, rgba(36,31,27,0.92) 26%, rgba(36,31,27,0.55) 62%, rgba(36,31,27,0) 100%); }
.mta-footer .mta-foot-veil { position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg, rgba(36,31,27,0.30) 0%, rgba(36,31,27,0.62) 30%, rgba(30,26,22,0.88) 66%, rgba(26,22,19,0.97) 100%); }
.mta-footer .mta-foot-inner { position:relative; z-index:1; max-width:1180px; margin:0 auto; padding:0 40px 46px; }

/* ── 1. CTA band: book cover (left) + white headline + copy + button (right) ── */
.mta-footer .mta-foot-cta { display:flex; align-items:center; justify-content:center; gap:52px;
  padding:64px 0 72px; border-bottom:1px solid rgba(255,255,255,0.12); }
.mta-footer .mta-foot-cta-book { flex:0 0 auto; line-height:0; }
.mta-footer .mta-foot-cta-book img { display:block; width:210px; height:auto;
  filter:drop-shadow(0 24px 48px rgba(0,0,0,0.55)); }
.mta-footer .mta-foot-cta-body { flex:0 1 auto; max-width:540px; text-align:center; }
.mta-footer .mta-foot-cta-body .mta-join-eyebrow { font-family:'Lato',sans-serif; font-weight:700; font-size:12px;
  letter-spacing:3px; text-transform:uppercase; color:#c4693a; margin:0 0 12px; }
.mta-footer .mta-foot-cta-title { font-family:'Playfair Display',serif; font-weight:700; font-size:38px;
  line-height:1.1; color:#fff; margin:0 0 16px; }
.mta-footer .mta-foot-cta-sub { font-family:'Lato',sans-serif; font-size:16px; line-height:1.7;
  color:rgba(255,255,255,0.80); margin:0 auto 28px; max-width:480px; }
.mta-footer .mta-join-btn, .mta-footer .mta-join-btn:link, .mta-footer .mta-join-btn:visited {
  display:inline-block; font-family:'Lato',sans-serif; font-weight:700; font-size:13px;
  letter-spacing:1.2px; text-transform:uppercase; color:#fff !important; background:#c4693a;
  border-radius:40px; padding:15px 32px; text-decoration:none;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease; }
.mta-footer .mta-join-btn:hover { background:#3d6b6b; transform:translateY(-2px); box-shadow:0 12px 26px rgba(46,42,38,0.30); }

/* ── 2. footer body: brand block (left) + two link groups (right) ── */
/* padding-top matches padding-bottom so the grid sits evenly between the CTA band's
   bottom hairline (above) and the "Say hello" hairline (below) — the top line was flush
   against the content. */
.mta-footer .mta-foot-grid { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start;
  gap:56px 72px; padding-top:56px; padding-bottom:56px; }
.mta-footer .mta-foot-brand { flex:1 1 340px; max-width:430px; }
.mta-footer .mta-foot-logo { display:inline-block; line-height:0; }
.mta-footer .mta-foot-logo img { width:206px; height:auto; }
.mta-footer .mta-foot-line { font-family:'Playfair Display',serif; font-style:italic; font-size:18px; line-height:1.6;
  color:rgba(255,255,255,0.80); margin:20px 0 0; max-width:380px; }
.mta-footer .mta-foot-socials { display:flex; gap:10px; margin-top:24px; flex-wrap:wrap; }
.mta-footer .mta-foot-soc { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px;
  border-radius:50%; color:#fff; font-size:17px; text-decoration:none;
  background:rgba(255,255,255,0.10); border:1px solid rgba(255,255,255,0.18);
  transition:background .25s ease, border-color .25s ease, transform .25s ease; }
.mta-footer .mta-foot-soc:hover { background:#c4693a; border-color:#c4693a; transform:translateY(-3px); }
.mta-footer .mta-foot-cols { display:flex; gap:64px; flex:0 1 auto; }
.mta-footer .mta-foot-col { display:flex; flex-direction:column; }
.mta-footer .mta-foot-h { font-family:'Lato',sans-serif; font-weight:700; font-size:12px; letter-spacing:2.4px;
  text-transform:uppercase; color:#c4693a; margin-bottom:18px; }
.mta-footer .mta-fl, .mta-footer .mta-fl:link, .mta-footer .mta-fl:visited { color:rgba(255,255,255,0.82);
  text-decoration:none; font-family:'Lato',sans-serif; font-size:15.5px; line-height:1; padding:7px 0;
  transition:color .2s ease, padding-left .2s ease; }
.mta-footer .mta-fl:hover { color:#c4693a; padding-left:6px; }

/* inline "Say hello" connect row, above the bar */
.mta-footer .mta-foot-connect { display:flex; align-items:baseline; gap:18px; flex-wrap:wrap;
  padding:36px 0 8px; border-top:1px solid rgba(255,255,255,0.10); }
.mta-footer .mta-foot-connect .mta-foot-h { margin-bottom:0; }
.mta-footer .mta-fc, .mta-footer .mta-fc:link, .mta-footer .mta-fc:visited { color:rgba(255,255,255,0.82);
  text-decoration:none; font-family:'Lato',sans-serif; font-size:15px; transition:color .2s ease; }
.mta-footer .mta-fc:hover { color:#c4693a; }
.mta-footer .mta-fdot { color:rgba(255,255,255,0.32); }

/* ── 3. refined hairline bottom bar ── */
.mta-footer .mta-foot-bar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  gap:14px 24px; margin-top:38px; padding-top:26px; border-top:1px solid rgba(255,255,255,0.10); }
.mta-footer .mta-legalrow { display:flex; flex-wrap:wrap; gap:8px 20px; }
.mta-footer .mta-legal, .mta-footer .mta-legal:link, .mta-footer .mta-legal:visited { color:rgba(255,255,255,0.55);
  text-decoration:none; font-family:'Lato',sans-serif; font-size:13px; transition:color .2s ease; }
.mta-footer .mta-legal:hover { color:#c4693a; }
.mta-footer .mta-copy { color:rgba(255,255,255,0.55); font-family:'Lato',sans-serif; font-size:13px; }

/* ── responsive ── */
@media (max-width:900px) {
  .mta-footer .mta-foot-photo { padding-top:48px; }
  .mta-footer .mta-foot-fade { height:160px; }
  .mta-footer .mta-foot-inner { padding:0 24px 38px; }
  .mta-footer .mta-foot-cta { flex-direction:column; text-align:center; gap:28px; padding:48px 0 56px; }
  .mta-footer .mta-foot-cta-book img { width:160px; }
  .mta-footer .mta-foot-cta-title { font-size:30px; }
  .mta-footer .mta-foot-cta-sub { font-size:15.5px; max-width:100%; }
  .mta-footer .mta-foot-socials { justify-content:center; }
  .mta-footer .mta-foot-grid { gap:44px; padding-top:40px; padding-bottom:44px; }
  .mta-footer .mta-foot-cols { gap:48px; width:100%; }
  .mta-footer .mta-foot-col { flex:1 1 auto; }
  .mta-footer .mta-foot-bar { justify-content:flex-start; }
}

/* cookie consent banner (shown once via the footer script) */
.dd-cookie { position:fixed; left:0; right:0; bottom:0; z-index:1200; background:#2e2a26; color:#fff;
  display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; padding:14px 24px;
  font-family:Lato; font-size:14px; box-shadow:0 -6px 24px rgba(0,0,0,.2); }
.dd-cookie.dd-cookie-hidden { display:none; }
.dd-cookie a { color:#c4693a; text-decoration:underline; }
.dd-cookie-x { background:#c4693a; color:#fff; border:0; border-radius:30px; padding:9px 24px;
  font-family:Lato; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:1px; cursor:pointer; transition:transform .2s ease; }
.dd-cookie-x:hover { transform:translateY(-1px); }

/* === site-wide hover micro-interactions === */
.elementor-widget-icon-box .elementor-icon, .dd-svc .elementor-icon { transition:transform .45s cubic-bezier(.34,1.56,.64,1) !important; }
.elementor-widget-icon-box:hover .elementor-icon, .dd-svc:hover .elementor-icon { transform:scale(1.13) rotate(-7deg) !important; }
.elementor-button, .elementor-button-link { transition:transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease !important; }
.elementor-button:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(46,42,38,.20); }
.elementor-widget-image .elementor-widget-container { overflow:hidden; }
.elementor-widget-image img { transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.elementor-widget-image:hover img { transform:scale(1.05); }/* End custom CSS */