/* Shared footer and navigation, using the supplied FEWTURE system. */
@font-face{font-family:'FEWTURE Barlow';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/barlow-300-latin.woff2') format('woff2')}
@font-face{font-family:'FEWTURE Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/barlow-400-latin.woff2') format('woff2')}
body :is(.ft-site-nav,.ft-site-overlay,.ft-site-footer){font-family:var(--font-sans);font-weight:300}
body :is(.ft-site-nav,.ft-site-overlay,.ft-site-footer) :is(a,button):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
body :is(.ft-site-nav,.ft-site-overlay,.ft-site-footer) ::selection{background:var(--brand);color:var(--on-brand)}

/* Source Nav: dark pill, original reversed logo, yellow booking action. */
body .ft-site-nav{max-width:1280px;background:rgba(10,10,10,.8);color:var(--ink);border-color:var(--line);box-shadow:none;padding-left:26px}
body .ft-site-nav .custom-logo-link img{filter:brightness(0) invert(1)!important}
body .ft-site-nav .ft-menu-button{font:400 15px/1.4 var(--font-sans);border-color:var(--line-strong);background:transparent;color:var(--ink);padding:10px 20px;border-radius:var(--radius-pill)}
body .ft-site-nav .ft-header-booking{font:400 15px/1.4 var(--font-sans);padding:11px 22px;min-height:44px;border:0;border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand)}
body .ft-site-nav .ft-menu-button:hover{background:var(--surface-sunken);color:var(--ink);transform:none}
body .ft-site-nav .ft-header-booking:hover{background:var(--brand);color:var(--on-brand)}
body .ft-site-nav.is-compact .ft-header-contact{background:var(--brand);color:var(--on-brand)}

/* Retain the existing navigation hierarchy and image previews. */
body .ft-site-overlay{background:var(--surface);color:var(--ink);overflow-x:hidden}
body .ft-site-overlay .ft-menu-stage{overflow-x:clip}
body .ft-site-overlay .ft-overlay-head{border-color:var(--line)}
body .ft-site-overlay .ft-close{padding:0;border-color:var(--line-strong);color:var(--ink);background:transparent}
body .ft-site-overlay .ft-close:focus{background:var(--surface-sunken);color:var(--ink)}
body .ft-site-overlay .ft-close:hover{background:var(--surface-sunken);border-color:var(--ink)}
body .ft-site-overlay :is(.ft-overlay-menu a,.ft-submenu-list a){font-family:var(--font-sans);font-weight:400;letter-spacing:0;line-height:1.15;color:var(--ink);padding-block:var(--space-3)}
body .ft-site-overlay .ft-overlay-menu a{font-size:var(--type-display-size)}
body .ft-site-overlay .ft-overlay-menu a::before{background:var(--line)}
body .ft-site-overlay .ft-submenu-list a{font-size:var(--type-h2-size);border-color:var(--line)}
body .ft-site-overlay :is(.ft-overlay-menu a,.ft-submenu-list a) span{white-space:normal;padding-bottom:0}
body .ft-site-overlay :is(.ft-overlay-menu a,.ft-submenu-list a):is(:hover,:focus-visible){color:var(--brand)}
body .ft-site-overlay .ft-submenu-title{font:400 var(--type-h2-size)/var(--type-h2-line) var(--font-sans);letter-spacing:0;margin-bottom:var(--space-5);color:var(--ink)}
body .ft-site-overlay .ft-menu-back{font:400 16px/1.4 var(--font-sans);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink);gap:var(--space-2)}
body .ft-site-overlay .ft-menu-back:hover{color:var(--brand)}
body .ft-site-overlay .ft-service-icon-label{font:300 18px/1.6 var(--font-sans);color:var(--ink-muted)}
body .ft-site-overlay .ft-service-icon-stage{background:var(--surface-raised);border-color:var(--line)}
body .ft-site-overlay .ft-service-icon-stage::before,body .ft-site-overlay .ft-service-icon-stage::after{display:none}
body .ft-site-overlay .ft-menu-arrow,body .ft-site-overlay .ft-menu-plus{color:var(--brand)}
body .ft-site-overlay .ft-menu-panel{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}

/* Promote the approved homepage footer to the shared component. */
body .ft-site-footer{background:var(--surface-sunken);color:var(--ink);padding-inline:var(--space-7)}
body .ft-site-footer .ft-footer-card{max-width:1280px;border-radius:var(--radius-xl);background:var(--surface);box-shadow:none}
body .ft-site-footer .ft-footer-cta{gap:var(--space-7);background:var(--surface-raised)}
body .ft-site-footer .ft-footer-cta h2{font:400 var(--type-h2-size)/var(--type-h2-line) var(--font-sans);letter-spacing:0;color:var(--ink);text-wrap:balance}
body .ft-site-footer .ft-footer-cta p{font:300 var(--type-body-size)/var(--type-body-line) var(--font-sans);letter-spacing:0;color:var(--ink-muted);max-width:65ch}
body .ft-site-footer .ft-footer-links h3{font:400 var(--type-h3-size)/var(--type-h3-line) var(--font-sans);letter-spacing:0;color:var(--ink);margin:0 0 var(--space-5)}
body .ft-site-footer .ft-footer-links :is(p,a){font:300 var(--type-body-sm-size)/var(--type-body-sm-line) var(--font-sans);letter-spacing:0;color:var(--ink-muted)}
body .ft-site-footer .ft-footer-links p{margin-top:0}
body .ft-site-footer .ft-footer-links a:not(.custom-logo-link){padding-block:2px}
body .ft-site-footer .ft-footer-bottom{font:400 var(--type-caption-size)/var(--type-caption-line) var(--font-sans);letter-spacing:var(--type-caption-tracking);color:var(--ink-muted)}
body .ft-site-footer :is(.ft-footer-links,.ft-footer-bottom) a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
body .ft-site-footer .ft-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font:400 18px/1 var(--font-sans);min-height:50px;min-width:0;padding:16px 28px;border:0;border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand);text-decoration:none;white-space:normal;text-align:center;position:static;transform:none;transition:transform .2s,box-shadow .2s}
body .ft-site-footer .ft-button:is(:hover,:focus-visible){background:var(--brand);color:var(--on-brand)}
body .ft-site-footer .ft-button .ft-arrow-icon{flex:none;width:20px;height:20px;margin:0;stroke-width:1.8;transition:transform .2s}

@media(min-width:1025px){body .ft-site-nav.is-compact{padding-left:16px}body .ft-site-nav.is-compact .ft-menu-button{padding:0}}
@media(max-width:1180px),(max-height:860px){body .ft-site-overlay .ft-overlay-menu a{font-size:48px}}
@media(max-width:700px){
 body .ft-site-footer{padding-inline:var(--space-4)}
 body .ft-site-footer .ft-footer-cta{gap:var(--space-5)}
 body .ft-site-footer .ft-footer-cta h2{font-size:30px}
 body .ft-site-footer .ft-button{max-width:100%;min-height:54px;line-height:1.2}
}
@media(max-width:680px){
 body .ft-site-nav{padding-left:14px}
 body .ft-site-nav .ft-menu-button{min-height:44px;padding:10px 14px}
 body .ft-site-overlay .ft-overlay-menu a{font-size:var(--type-display-mobile-size)}
 body .ft-site-overlay .ft-submenu-list a{font-size:var(--type-h3-size);gap:var(--space-3);white-space:normal}
 body .ft-site-overlay .ft-submenu-list a span{white-space:normal;padding-right:0}
 body .ft-site-footer .ft-footer-links{gap:var(--space-6)}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 body .ft-site-footer .ft-button:hover,body .ft-site-nav .ft-header-booking:hover{transform:translateY(-3px);box-shadow:var(--shadow-brand)}
 body .ft-site-footer .ft-button:hover .ft-arrow-icon{transform:translateX(6px)}
}
@media(prefers-reduced-motion:reduce){
 body :is(.ft-site-nav,.ft-site-overlay,.ft-site-footer) :is(a,button,svg){transition:none!important}
 body .ft-site-footer .ft-button:hover,body .ft-site-footer .ft-button:hover .ft-arrow-icon,body .ft-site-nav .ft-header-booking:hover{transform:none;box-shadow:none}
}
