.elementor-kit-7{--e-global-color-primary:#384F4A;--e-global-color-secondary:#FAF7EB;--e-global-color-text:#384054;--e-global-color-accent:#C4754D;--e-global-color-cream:#FAF7EB;--e-global-color-ink:#384054;--e-global-color-forest:#384F4A;--e-global-color-teal:#47615E;--e-global-color-muted:#94968C;--e-global-color-line:#E4E3DC;--e-global-color-on-dark:#FAF7EB;--e-global-typography-primary-font-family:"Lora";--e-global-typography-primary-font-size:64px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-line-height:74px;--e-global-typography-secondary-font-family:"Lora";--e-global-typography-secondary-font-size:56px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:64px;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:24px;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:16px;--e-global-typography-accent-letter-spacing:1.2px;background-color:#FAF7EB;color:#384054;font-family:"Figtree", Sans-serif;font-size:16px;font-weight:400;line-height:24px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#384F4A;font-family:"Figtree", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;line-height:16px;letter-spacing:1.2px;color:#FAF7EB;border-radius:0px 0px 0px 0px;padding:22px 44px 22px 44px;}.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:#47615E;color:#FAF7EB;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#384054;}.elementor-kit-7 a:hover{color:#C4754D;}.elementor-kit-7 h1{color:#384054;font-family:"Lora", Sans-serif;font-size:64px;font-weight:600;text-transform:none;line-height:74px;}.elementor-kit-7 h2{color:#384054;font-family:"Lora", Sans-serif;font-size:56px;font-weight:600;text-transform:none;line-height:64px;}.elementor-kit-7 h3{color:#384054;font-family:"Lora", Sans-serif;font-size:24px;font-weight:600;text-transform:none;line-height:30px;}.elementor-kit-7 h4{color:#384054;font-family:"Lora", Sans-serif;font-size:20px;font-weight:600;text-transform:none;line-height:28px;}.elementor-kit-7 h5{color:#384054;font-family:"Figtree", Sans-serif;font-size:14px;font-weight:400;line-height:28px;}.elementor-kit-7 h6{color:#384054;font-family:"Figtree", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;line-height:16px;letter-spacing:1.2px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1330px;}.e-con{--container-max-width:1330px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@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 */html:root{
  --n29-serif:'Lora',Georgia,'Times New Roman',serif;
  --n29-sans:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --n29-cream:#FAF7EB;
  --n29-ink:#384054;
  --n29-forest:#384F4A;
  --n29-teal:#47615E;
  --n29-accent:#C4754D;
  --n29-muted:#94968C;
  --n29-line:#E4E3DC;
}
html body.elementor-default,
html body.home,
html body {
  font-family:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:#384054;
  background:#FAF7EB !important;
}
html body .elementor-button{
  border-radius:0!important;
  letter-spacing:1.2px!important;
}
.elementor-element-9ee9407{
  position:absolute!important;
  right:40px!important;
  bottom:20px!important;
  width:380px!important;
  max-width:28vw!important;
  opacity:.12!important;
  pointer-events:none;
  z-index:0;
}

/* ============ 29N BUTTON SIZE SYSTEM - single source of truth ============
   Measured from the approved designs (Homepage.pdf, All Stays v2.pdf):
     body   60px tall / 44px side padding
     header 40px tall / 28px side padding
     footer 49px tall / 35px side padding
   Colour roles stay in n29-cta-buttons.php (James Dawson 25 Aug 2026:
   solid at rest, invert to outline on hover; ghost only for pair secondaries).
   The repeated class names are a deliberate specificity boost so this beats
   the !important padding in n29-cta-buttons.php and n29-all-stays.php.
   CLEANUP: once those sizing rules are deleted from the mu-plugins
   (n29-cta-buttons.php padding block, n29-all-stays.php lines 619/710/731)
   the repeats can be reduced to a single class. */

html body .elementor-button.elementor-button.elementor-button.elementor-button,
html body .n29-as-btn.n29-as-btn.n29-as-btn,
html body .n29-hero-btn.n29-hero-btn.n29-hero-btn,
html body .n29-menu-cta.n29-menu-cta.n29-menu-cta,
html body .n29-ft-cta.n29-ft-cta.n29-ft-cta{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:60px!important;
  height:auto!important;
  padding:0 44px!important;
  border-radius:0!important;
  white-space:nowrap!important;
}

/* Header - compact */
html body [data-elementor-type="header"] .elementor-button.elementor-button.elementor-button.elementor-button,
html body .n29-menu-cta.n29-menu-cta.n29-menu-cta{
  min-height:40px!important;
  padding:0 28px!important;
}

/* Footer - medium */
html body [data-elementor-type="footer"] .elementor-button.elementor-button.elementor-button.elementor-button,
html body .n29-ft-cta.n29-ft-cta.n29-ft-cta{
  min-height:49px!important;
  padding:0 35px!important;
}

/* All Stays property CTAs hug their label (design: 254 primary / 220 secondary) */
html body .n29-as-cta .n29-as-btn.n29-as-btn.n29-as-btn{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}

/* Mobile - stack full width, slightly shorter, allow wrapping */
@media (max-width:767px){
  html body .elementor-button.elementor-button.elementor-button.elementor-button,
  html body .n29-as-btn.n29-as-btn.n29-as-btn{
    min-height:56px!important;
    padding:0 24px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  html body .n29-as-cta .n29-as-btn.n29-as-btn.n29-as-btn{
    width:100%!important;
    flex:1 1 100%!important;
  }
}/* End custom CSS */