.elementor-16 .elementor-element.elementor-element-tbc00008 > .elementor-container{max-width:100px;}.elementor-16 .elementor-element.elementor-element-tbc00008{padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-tbc00007:not(.elementor-motion-effects-element-type-background), .elementor-16 .elementor-element.elementor-element-tbc00007 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ffffff;}.elementor-16 .elementor-element.elementor-element-tbc00007 > .elementor-container{max-width:1340px;}.elementor-16 .elementor-element.elementor-element-tbc00007{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-tbc00007 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-16 .elementor-element.elementor-element-dd-hcol.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-16 .elementor-element.elementor-element-dd-hcol > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-tbc00006 > .elementor-container{max-width:1200px;}.elementor-16 .elementor-element.elementor-element-tbc00006{padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-tbc00005.elementor-column > .elementor-widget-wrap{justify-content:left;}.elementor-16 .elementor-element.elementor-element-tbc00005 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-16 .elementor-element.elementor-element-tbc00003 .elementor-button{background-color:#c4693a;font-family:"Lato", Sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;fill:#ffffff;color:#ffffff;border-radius:40px 40px 40px 40px;padding:11px 26px 11px 26px;}.elementor-16 .elementor-element.elementor-element-tbc00003 .elementor-button:hover, .elementor-16 .elementor-element.elementor-element-tbc00003 .elementor-button:focus{background-color:#3d6b6b;color:#ffffff;}.elementor-16 .elementor-element.elementor-element-tbc00003{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-16 .elementor-element.elementor-element-tbc00003 .elementor-button:hover svg, .elementor-16 .elementor-element.elementor-element-tbc00003 .elementor-button:focus svg{fill:#ffffff;}.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);}

header.site-header, #site-header { display:none !important; }
/* Clean full-width header bar: light cream, solidifies on scroll. Style derived from the
   client's example sites (explorajourneys / thetravelmentors: elegant, airy, white space). */
.elementor-location-header { position:fixed !important; top:0; left:0; right:0; z-index:1000; background:transparent; }
#dd-header { position:relative; z-index:1000; background:rgba(245,239,228,0.86); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid rgba(46,42,38,0.08); transition:background .3s ease, box-shadow .3s ease, border-color .3s ease; }
#dd-header.dd-shrink { background:rgba(245,239,228,0.98); box-shadow:0 4px 20px rgba(46,42,38,0.08); }
/* OUTER bar: [logo+burger] left, [menu group] right — centered + vertically aligned */
#dd-header .elementor-element-dd-hcol > .elementor-widget-wrap {
  display:flex; flex-wrap:nowrap; align-items:center; gap:24px;
  max-width:1280px; margin:0 auto; padding:18px 30px; transition:padding .3s ease;
}
#dd-header.dd-shrink .elementor-element-dd-hcol > .elementor-widget-wrap { padding:12px 30px; }
#dd-header .elementor-element-dd-hcol > .elementor-widget-wrap > .elementor-widget-html { flex:0 0 auto; width:auto; margin:0; }
/* same default-margin kill on the top-bar widget + menu section so the outer row is driven by
   the logo height alone (keeps the header from standing ~20px too tall). */
#dd-header .elementor-element-dd-hcol > .elementor-widget-wrap > .elementor-element { margin:0; }
#dd-header .dd-hbar-top { display:flex; align-items:center; }
#dd-header .dd-hlogo { flex:0 0 auto; line-height:0; display:block; }
#dd-header .dd-hlogo img { height:44px; width:auto; display:block; transition:transform .3s ease, height .25s ease; }
#dd-header .dd-hlogo img:hover { transform:scale(1.05); }
/* MENU GROUP (inner section) — pushed right; inline row on desktop */
#dd-header #dd-menu { flex:0 0 auto; width:auto; margin-left:auto; }
#dd-header #dd-menu > .elementor-container { width:auto; max-width:none; }
#dd-menu .elementor-widget-wrap { display:flex; flex-wrap:nowrap; flex-direction:row; align-items:center; gap:26px; }
/* Kill Elementor's default 20px widget-bottom-margin on the menu items. It applies to every
   widget EXCEPT the last child, so nav + CTA carried a 20px bottom margin and the search
   (last child) did not — in a centered flex row that pushed nav/CTA up 10px while the search
   icon sat 10px low, AND inflated the row to 58px (→ a too-tall 100px header). Zeroed here so
   all three share a baseline: icon, nav and button align on one line and the header tightens. */
#dd-menu .elementor-widget-wrap > .elementor-widget { width:auto; margin:0; }
#dd-menu .elementor-widget-container { width:auto; }
/* desktop order: nav, search, button */
#dd-search-w { order:1; }
#dd-cta-btn { order:2; }
#dd-header .dd-hnav { display:flex; align-items:center; gap:24px; }
#dd-header .dd-hnav a { font-family:'Lato',sans-serif; font-size:15px; font-weight:600; color:#2e2a26; text-decoration:none; white-space:nowrap; transition:color .2s ease; }
#dd-header .dd-hnav a:hover { color:#c4693a; }
/* Expanding search. The icon (button) is the ONLY in-flow element and is a bare inline icon
   (no fixed box) so the search widget is exactly the icon's height and sits on the SAME line
   as the nav/CTA. The input is absolute AND collapses to a ZERO box when closed (height:0,
   width:0) so it can never stretch the header row or push the icon down — closed, the row is
   just the icon; opening expands a frosted box LEFT over the nav, reflowing nothing. */
#dd-header .dd-hsearch { position:relative; display:flex; align-items:center; flex:0 0 auto; height:24px; }
#dd-header .dd-hsearch-input {
  position:absolute; right:0; top:50%; transform:translateY(-50%); z-index:5;
  width:0; max-width:0; height:0; opacity:0; pointer-events:none; overflow:hidden; box-sizing:border-box;
  padding:0; border:0; border-radius:30px; background:rgba(255,255,255,0.98);
  box-shadow:0 10px 30px rgba(46,42,38,0.18); color:#2e2a26;
  font-family:'Lato',sans-serif; font-size:15px;
  transition:width .3s cubic-bezier(.2,.8,.2,1), height .25s ease, opacity .2s ease, padding .3s ease;
}
#dd-header.dd-search-open .dd-hsearch-input {
  width:250px; max-width:250px; height:42px; opacity:1; pointer-events:auto;
  padding:0 48px 0 20px; border:1px solid rgba(46,42,38,0.14);
}
#dd-header .dd-hsearch-input::placeholder { color:rgba(46,42,38,0.5); }
#dd-header .dd-hsearch-input:focus { outline:none; }
#dd-header .dd-hsearch-btn {
  position:relative; z-index:6; display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; padding:0; margin:0; background:none; border:0; cursor:pointer;
  color:#2e2a26; font-size:16px; line-height:0; transition:color .2s ease;
}
#dd-header .dd-hsearch-btn:hover, #dd-header.dd-search-open .dd-hsearch-btn { color:#c4693a; }
/* NATIVE button skin — pinned here so it renders on this host (per-element Elementor CSS
   is not served); no !important so a client's editor edits can still take over. */
#dd-header .elementor-button { display:inline-flex; align-items:center; justify-content:center; background:#c4693a; color:#fff; padding:11px 26px; border:1.5px solid #c4693a; border-radius:40px; font-family:'Lato',sans-serif; font-weight:700; font-size:14px; letter-spacing:.3px; line-height:1; text-decoration:none; white-space:nowrap; box-shadow:none; transition:background .2s ease, color .2s ease, border-color .2s ease; }
#dd-header .elementor-button .elementor-button-text { color:#fff; }
#dd-header .elementor-button:hover { background:#3d6b6b; border-color:#3d6b6b; color:#fff; }
#dd-header .elementor-button:hover .elementor-button-text { color:#fff; }
/* hamburger — hidden on desktop, animates to an X when open */
#dd-header .dd-hburger { display:none; flex:0 0 auto; margin-left:auto; background:none; border:0; cursor:pointer; padding:9px; }
#dd-header .dd-hburger span { display:block; width:24px; height:2px; background:#2e2a26; margin:5px 0; border-radius:2px; transition:transform .3s ease, opacity .2s ease; }
#dd-header.dd-menu-open .dd-hburger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
#dd-header.dd-menu-open .dd-hburger span:nth-child(2) { opacity:0; }
#dd-header.dd-menu-open .dd-hburger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media (max-width:1100px) { #dd-menu .elementor-widget-wrap { gap:18px; } #dd-header .dd-hnav { gap:18px; } #dd-header .elementor-element-dd-hcol > .elementor-widget-wrap { gap:16px; padding:10px 18px; } }
/* MOBILE: burger toggles #dd-menu into a white dropdown box — nav, button, then right-aligned search */
@media (max-width:980px) {
  #dd-header .elementor-element-dd-hcol > .elementor-widget-wrap { padding:10px 16px; }
  #dd-header .elementor-element-dd-hcol > .elementor-widget-wrap > .elementor-widget-html { flex:1 1 auto; }
  #dd-header .dd-hlogo img { height:38px; }
  #dd-header .dd-hburger { display:block; padding:8px 6px; }
  #dd-header #dd-menu { display:none; position:absolute; top:calc(100% + 8px); left:16px; right:16px; margin:0; width:auto; background:#ffffff; box-shadow:0 16px 34px rgba(46,42,38,.18); border-radius:22px; border:1px solid rgba(46,42,38,0.10); z-index:1001; overflow:hidden; }
  #dd-header.dd-menu-open #dd-menu { display:block; }
  #dd-header #dd-menu > .elementor-container { width:100%; max-width:none; }
  #dd-menu .elementor-widget-wrap { flex-direction:column; align-items:stretch; gap:0; padding:6px 0 12px; }
  /* mobile order: nav, button, search */
  #dd-nav-w { order:1; }
  #dd-cta-btn { order:2; }
  #dd-search-w { order:3; }
  #dd-header .dd-hnav { flex-direction:column; align-items:stretch; gap:0; width:100%; }
  #dd-header .dd-hnav a { padding:14px 28px; border-bottom:1px solid rgba(46,42,38,0.08); font-size:16px; }
  #dd-menu .elementor-button { margin:14px 28px 6px; }
  /* mobile: search is a full-width box at the bottom of the dropdown (always visible, no
     overlay-expand which would be awkward inside the narrow column), icon at its right. */
  #dd-header .dd-hsearch { position:relative; display:flex; align-items:center; width:auto; margin:8px 28px 6px; }
  #dd-header .dd-hsearch-input {
    position:static; transform:none; z-index:auto; width:100%; max-width:100%; opacity:1; pointer-events:auto;
    height:46px; padding:0 48px 0 18px; border:1px solid rgba(46,42,38,0.16); background:#fff; box-shadow:none;
  }
  #dd-header .dd-hsearch-btn { position:absolute; right:16px; top:50%; transform:translateY(-50%); }
}
#mta-tb-style-host,#mta-tb-style-host .elementor-container,#mta-tb-style-host .elementor-column-wrap,#mta-tb-style-host .elementor-widget-wrap,#mta-tb-style-host .elementor-widget{height:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;line-height:0;font-size:0;overflow:hidden;}/* End custom CSS */