/* Rare Tilt for Astra: brand touches on Astra's header & footer, and the glue that lets
   the Rare Tilt Elementor sections sit edge to edge. Colours and sizes set in
   Appearance → Customize still apply; these rules are kept low-specificity on purpose. */

:root{--rt-black:#0B0B0E;--rt-blue:#7F93FE;--rt-deep:#4E5FE0;--rt-paper:#F5F5F3;--rt-ease:cubic-bezier(.2,.8,.2,1)}

/* ---------- header ---------- */
.rt-sticky-header #masthead{position:sticky;top:0;z-index:99;transition:transform .3s var(--rt-ease)}
@media (max-width:921px){.rt-sticky-desktop #masthead{position:relative}}
.rt-header-hidden #masthead{transform:translateY(-110%)}
.admin-bar.rt-sticky-header #masthead{top:32px}
@media (max-width:782px){.admin-bar.rt-sticky-header #masthead{top:46px}}
@media (max-width:600px){.admin-bar.rt-sticky-header #masthead{top:0}}
.rt-astra #masthead{border-bottom:1px solid rgba(255,255,255,.06)}
.rt-astra .ast-primary-header-bar{border-bottom-width:0}
.rt-astra .ast-builder-button-wrap .ast-custom-button,.rt-astra .ast-header-html-1 .rt-hbtn{white-space:nowrap}
.rt-astra .main-header-menu .menu-link{white-space:nowrap}
@media (min-width:922px){.rt-astra .ast-builder-menu-1 .main-header-menu>.menu-item>.menu-link{padding-left:.8em;padding-right:.8em}}
@media (min-width:922px) and (max-width:1180px){.rt-astra .ast-builder-menu-1 .main-header-menu>.menu-item>.menu-link{padding-left:.55em;padding-right:.55em;font-size:13px}.rt-astra .ast-header-html-1{display:none}}
.rt-astra .main-header-menu .menu-link{font-size:.9rem;font-weight:400;letter-spacing:.01em;position:relative;transition:color .2s}
.rt-astra .main-header-menu>.menu-item>.menu-link::after{content:"";position:absolute;left:1em;right:1em;bottom:calc(50% - .95em);height:1.5px;background:var(--rt-blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--rt-ease)}
.rt-astra .main-header-menu>.menu-item>.menu-link:hover::after,.rt-astra .main-header-menu>.menu-item>.menu-link.on::after{transform:scaleX(1)}
.rt-astra .main-header-menu .menu-link.on{color:#fff}
.rt-astra .ast-builder-button-wrap .ast-custom-button{font-weight:500;font-size:13px;line-height:1.2;padding:9px 15px;border:1.5px solid var(--rt-blue);transition:background .25s,color .25s,border-color .25s}
.rt-astra .ast-builder-button-wrap .ast-custom-button::after{content:"\2192";display:inline-block;margin-left:.5em;transition:transform .25s var(--rt-ease)}
.rt-astra .ast-builder-button-wrap .ast-custom-button:hover::after{transform:translateX(3px)}
/* "Free 20-min call" ghost button (Astra HTML element 1) */
.rt-astra .ast-header-html-1 .ast-builder-html-element p{margin:0}
.rt-astra .ast-header-html-1 .rt-hbtn{display:inline-flex;align-items:center;font-size:13px;font-weight:500;line-height:1.2;padding:9px 15px;border:1.5px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;transition:border-color .25s,background .25s}
.rt-astra .ast-header-html-1 .rt-hbtn:hover{border-color:#fff;background:rgba(255,255,255,.06);color:#fff}
.rt-astra .site-header-primary-section-right .ast-header-html-1{margin-left:12px;margin-right:8px}
.rt-astra .custom-logo-link img{display:block}
/* mobile menu drawer on the black header */
.rt-astra .ast-mobile-header-content,.rt-astra .ast-mobile-popup-drawer .ast-mobile-popup-inner{background:var(--rt-black)}
.rt-astra .ast-mobile-header-content .main-header-menu,.rt-astra .ast-mobile-header-content .main-header-menu .menu-item .menu-link,.rt-astra .ast-mobile-popup-drawer .main-header-menu,.rt-astra .ast-mobile-popup-drawer .main-header-menu .menu-item .menu-link{background:transparent}
.rt-astra .ast-mobile-header-content .main-header-menu .menu-item .menu-link,.rt-astra .ast-mobile-popup-drawer .main-header-menu .menu-item .menu-link{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.1);font-size:16px;line-height:1.4;padding-top:13px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.08)}
.rt-astra .ast-mobile-header-content .main-header-menu .menu-item .menu-link:hover,.rt-astra .ast-mobile-header-content .main-header-menu .menu-link.on{color:#fff}
.rt-astra .ast-mobile-header-content .ast-header-button-1,.rt-astra .ast-mobile-header-content .ast-builder-layout-element.ast-header-button-1{padding:18px 20px 24px;margin:0;width:100%}
.rt-astra .ast-mobile-header-content .ast-builder-button-wrap,.rt-astra .ast-mobile-header-content .ast-builder-button-wrap .ast-custom-button{display:block;width:100%;text-align:center;font-size:15px;padding-top:13px;padding-bottom:13px}
.rt-astra .menu-toggle:focus:not(:focus-visible){outline:none}
.rt-astra .menu-toggle .ast-mobile-svg{fill:#fff}

/* in-page anchors: smooth, and clear the sticky header */
@media (prefers-reduced-motion:no-preference){html:has(body.rt-sections-page){scroll-behavior:smooth}}
.rt-el [id]{scroll-margin-top:16px}
.rt-sticky-header .rt-el [id]{scroll-margin-top:84px}
@media (max-width:921px){.rt-sticky-header .rt-el [id]{scroll-margin-top:72px}.rt-sticky-desktop .rt-el [id]{scroll-margin-top:16px}}

/* ---------- footer ---------- */
.rt-astra .site-footer{font-size:.88rem}
.rt-astra .site-below-footer-wrap a{color:#fff}
.rt-astra .site-primary-footer-wrap{color:rgba(255,255,255,.72);padding-top:56px;padding-bottom:40px}
.rt-astra .site-primary-footer-wrap a{color:rgba(255,255,255,.85);text-decoration:none}
.rt-astra .site-primary-footer-wrap a:hover{color:var(--rt-blue)}
.rt-astra .site-primary-footer-wrap .rt-ft-brand{margin-bottom:14px}
.rt-astra .site-primary-footer-wrap .rt-ft-brand img{display:block;width:170px;height:auto}
.rt-astra .site-primary-footer-wrap .rt-ft-tag{margin:0;color:rgba(255,255,255,.72);font-size:15px}
.rt-astra .rt-legal{display:inline-flex;flex-wrap:wrap;gap:4px 18px;margin-left:18px}
.rt-astra .rt-legal a{color:rgba(255,255,255,.6)!important;text-decoration:none}
.rt-astra .rt-legal a:hover{color:#fff!important;text-decoration:underline}
@media (max-width:640px){.rt-astra .rt-legal{display:flex;margin:10px 0 0}}
.rt-astra .ast-footer-html-2 p{line-height:2.1}
.rt-astra .site-primary-footer-wrap{font-size:14px}
.rt-astra .site-footer-section-2 .footer-widget-area::before{content:"Explore";display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rt-blue);font-weight:500;margin-bottom:12px}
.rt-astra .site-footer-section .astra-footer-vertical-menu .menu-link{padding:4px 0}
.rt-astra .site-below-footer-wrap .ast-builder-grid-row{border-top:1px solid rgba(255,255,255,.1);padding-top:18px}
.rt-astra .site-below-footer-wrap{padding-top:0!important}
.rt-astra .ast-footer-copyright{font-size:12px}
.rt-astra .site-primary-footer-wrap .rt-ft-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rt-blue);font-weight:500;margin-bottom:.8em}
.rt-astra .site-primary-footer-wrap p{max-width:34em;line-height:1.65}
.rt-astra .site-footer-section .menu-link{color:rgba(255,255,255,.85);padding:.25em 0}
.rt-sections-page .site-footer{margin-top:0}

/* ---------- pages built from Rare Tilt sections ---------- */
.rt-sections-page .site-content>.ast-container{max-width:100%;padding-left:0;padding-right:0;display:block}
.rt-sections-page #primary{margin:0;padding:0;width:100%}
.rt-sections-page .site-content .ast-article-single,.rt-sections-page .site-content .ast-article-post{padding:0;margin:0;background:none;border:0}
.rt-sections-page .entry-content{margin:0}
.rt-sections-page .entry-header,.rt-sections-page .post-navigation,.rt-sections-page #comments{display:none}
.rt-sections-page{overflow-x:clip}

/* Elementor: Rare Tilt section widgets sit edge to edge */
.elementor-widget[class*="elementor-widget-rare-tilt-"]{margin:0!important;width:100%;max-width:100%}
.elementor-widget[class*="elementor-widget-rare-tilt-"]>.elementor-widget-container{margin:0;padding:0}
.elementor .rt-el-wrap{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--content-width:100%;--width:100%;padding:0!important}
.elementor .rt-el-wrap>.e-con-inner{max-width:none!important;padding:0!important;gap:0!important}
.elementor-section.rt-el-wrap>.elementor-container{max-width:none}
.elementor-section.rt-el-wrap .elementor-column>.elementor-widget-wrap{padding:0!important}
/* Elementor caps images at 100% wide; the hero illustration is meant to bleed. */
.elementor .rt-el img.ill{max-width:none}

/* mobile CTA bar container must not take space */
.rt-el.rt-el-mbar{display:contents}

/* booking form helpers */
.rt-el.rt-el .rt-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rt-el.rt-el .bk-plugin-form{display:block}
.rt-el.rt-el .bk-plugin-form input[type=text],.rt-el.rt-el .bk-plugin-form input[type=email],.rt-el.rt-el .bk-plugin-form input[type=url],.rt-el.rt-el .bk-plugin-form input[type=tel],.rt-el.rt-el .bk-plugin-form input[type=number],.rt-el.rt-el .bk-plugin-form textarea,.rt-el.rt-el .bk-plugin-form select{width:100%;max-width:100%;padding:.75rem .9rem;font:inherit;font-size:1rem;color:var(--rt-black);background:var(--rt-paper);border:1px solid rgba(11,11,14,.18);border-radius:8px;transition:border-color .2s,box-shadow .2s,background-color .2s}
.rt-el.rt-el .bk-plugin-form input:focus,.rt-el.rt-el .bk-plugin-form textarea:focus,.rt-el.rt-el .bk-plugin-form select:focus{outline:none;background:#fff;border-color:var(--rt-deep);box-shadow:0 0 0 4px rgba(127,147,254,.2)}
.rt-el.rt-el .bk-plugin-form button[type=submit],.rt-el.rt-el .bk-plugin-form input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.8rem 1.4rem;border:1.5px solid var(--rt-black);background:var(--rt-black);color:#fff;font:inherit;font-weight:500;cursor:pointer;border-radius:0}
.rt-el.rt-el .bk-plugin-form button[type=submit]:hover,.rt-el.rt-el .bk-plugin-form input[type=submit]:hover{background:var(--rt-deep);border-color:var(--rt-deep);color:#fff}
.rt-el.rt-el .bk-plugin-form label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem}
.rt-el.rt-el .bk-plugin-form p{margin:0 0 1rem}

/* footer: comfortable side padding on tablets and phones */
@media (max-width:1240px){.rt-astra .site-footer .ast-builder-grid-row{padding-left:clamp(16px,4vw,32px);padding-right:clamp(16px,4vw,32px)}}
.rt-astra .site-footer-section .astra-footer-vertical-menu,.rt-astra .site-footer-section .footer-nav-wrap ul{margin-left:0;padding-left:0}
.rt-astra #astra-footer-menu .menu-item .menu-link{padding-left:0;padding-right:0}
@media (max-width:921px){.rt-astra .site-primary-footer-wrap .site-footer-section{margin-bottom:28px}.rt-astra .site-primary-footer-wrap{padding-top:44px;padding-bottom:12px}}

/* ---------- white header (1.5.0; Appearance → Customize → Rare Tilt → White header) ---------- */
.rt-light-header #masthead,.rt-light-header .ast-primary-header-bar,.rt-light-header .main-header-bar,.rt-light-header .ast-mobile-header-wrap .ast-primary-header-bar,.rt-light-header #ast-mobile-header .ast-primary-header-bar{background:#FFFFFF!important;background-image:none!important}
.rt-light-header #masthead{border-bottom:1px solid rgba(11,11,14,.08);box-shadow:0 1px 0 rgba(11,11,14,.02)}
.rt-light-header.rt-sticky-header #masthead{background:rgba(255,255,255,.92)!important;-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.rt-light-header.rt-sticky-header #masthead .ast-primary-header-bar{background:transparent!important}
.rt-light-header .ast-builder-menu-1 .main-header-menu .menu-item>.menu-link,.rt-light-header .main-header-menu .menu-link{color:#3A3A42!important}
.rt-light-header .ast-builder-menu-1 .main-header-menu .menu-item>.menu-link:hover,.rt-light-header .main-header-menu .menu-link.on,.rt-light-header .main-header-menu .current-menu-item>.menu-link{color:#0B0B0E!important}
.rt-light-header .main-header-menu>.menu-item>.menu-link::after{background:var(--rt-deep)}
.rt-light-header .ast-header-html-1 .rt-hbtn{border-color:rgba(11,11,14,.3);color:#0B0B0E}
.rt-light-header .ast-header-html-1 .rt-hbtn:hover{border-color:#0B0B0E;background:#0B0B0E;color:#FFFFFF}
.rt-light-header .ast-builder-button-wrap .ast-custom-button:hover{background:#0B0B0E!important;border-color:#0B0B0E!important;color:#FFFFFF!important}
.rt-light-header .menu-toggle,.rt-light-header .ast-mobile-menu-trigger-minimal,.rt-light-header .ast-button-wrap .menu-toggle{color:#0B0B0E!important;border-color:rgba(11,11,14,.25)!important}
.rt-light-header .menu-toggle .ast-mobile-svg,.rt-light-header .menu-toggle svg{fill:#0B0B0E!important}
/* the mobile drawer stays Rare Black, so its links keep their light colours */
.rt-light-header .ast-mobile-header-content .main-header-menu .menu-item .menu-link,.rt-light-header .ast-mobile-popup-drawer .main-header-menu .menu-item .menu-link{color:rgba(255,255,255,.85)!important}
.rt-light-header .ast-mobile-popup-drawer .menu-toggle{color:#FFFFFF!important}
