:root{--green-950:#063b1f;--green-900:#0b4d28;--green-800:#14532d;--green-700:#1f6b3a;--green-600:#2f8f4e;--green-400:#63b86b;--green-200:#a8dbae;--green-50:#e8f5ea;--white:#fff}
html body{background:var(--white)!important;color:var(--green-800)!important}
.topbar,.main-nav,.main-nav .main-menu,.site-header .main-nav,.header-sticky .main-nav,.header-sticky .site-menu,.primary-mobile-nav,.primary-mobile-nav .mobile-nav-content,.footer-widgets,.site-footer{background-color:var(--green-950)!important;background-image:none!important;border-color:var(--green-600)!important}
.topbar,.topbar a,.main-nav a,.main-nav i,.primary-mobile-nav a,.primary-mobile-nav i,.footer-widgets,.footer-widgets h1,.footer-widgets h2,.footer-widgets h3,.footer-widgets h4,.footer-widgets h5,.footer-widgets p,.footer-widgets li,.footer-widgets a,.site-footer,.site-footer p,.site-footer a{color:var(--white)!important}
.topbar i,.footer-widgets i,.footer-contact .ft-contact i,.opening-hours i{color:var(--green-200)!important}
#primary-menu>li.current-menu-item>a,#primary-menu>li.current-menu-ancestor>a,#primary-menu>li:hover>a,#primary-menu .sub-menu li:hover>a{background:var(--green-600)!important;color:var(--white)!important}
#primary-menu .sub-menu{background:var(--white)!important;border-color:var(--green-400)!important}
#primary-menu .sub-menu a{color:var(--green-800)!important}
.page-header .header-title,.footer-callout,.home .vc_custom_1650305921156,.partner-section-shell,.nn-service-cta,.nn-native-closing,.nn-about-cta-band,.nn-about-band,.nn-programme-aside,.nn-programme-route,.nn-about .nn-cycle{background-color:var(--green-700)!important;background-image:linear-gradient(120deg,var(--green-900),var(--green-700) 55%,var(--green-600))!important;border-color:var(--green-400)!important}
.page-header .header-title *,.footer-callout *,.partner-section-shell>.partner-heading *,.nn-service-cta *,.nn-native-closing *,.nn-about-cta-band *,.nn-about-band *,.nn-programme-aside *,.nn-programme-route *,.nn-about .nn-cycle *{color:var(--white)!important}
.breadcrumb-area{background:var(--white)!important;border-color:var(--green-200)!important}.breadcrumb,.breadcrumb a,.breadcrumb span,.breadcrumb i{color:var(--green-700)!important}
button,input[type=submit],input[type=button],.fh-btn,.fh-btn-2,.fh-btn-3,.btn,.btn-primary,.submit-btn,.wpcf7-submit,.topbar-button,.header-buttom a,.nn-service-button,.nn-template-button{background-color:var(--green-600)!important;background-image:none!important;border-color:var(--green-600)!important;color:var(--white)!important}
button:hover,input[type=submit]:hover,input[type=button]:hover,.fh-btn:hover,.btn:hover,.btn-primary:hover,.submit-btn:hover,.wpcf7-submit:hover,.nn-service-button:hover{background-color:var(--green-800)!important;border-color:var(--green-800)!important;color:var(--white)!important}
input,textarea,select{background:var(--white)!important;color:var(--green-800)!important;border-color:var(--green-400)!important;box-shadow:none!important}input:focus,textarea:focus,select:focus{outline:3px solid var(--green-200)!important;border-color:var(--green-600)!important}
.fh-icon,.service-icon,.project-icon,.counter-icon,.fa,.fas,.far,.fab,[class^=flaticon-],[class*=' flaticon-']{color:var(--green-600)}
.site-logo .logo img,.footer-brand-mark,.partner-section-shell .partner-card img{filter:none!important}
.fh-icon img,.service-icon img,.counter-icon img,.icon-custom img{filter:grayscale(1) brightness(.82) sepia(1) hue-rotate(78deg) saturate(4.2)!important}
.page-card,.service-content,.project-inner,.entry-content,.fh-counter{border-color:var(--green-200)!important;box-shadow:0 12px 30px rgba(6,59,31,.12)!important}
a{color:var(--green-700)}a:hover{color:var(--green-800)}::selection{background:var(--green-600);color:var(--white)}

/* Four supplied partners stay together in one row. */
.home .partner-section-shell .partner-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;overflow:visible!important}
.home .partner-section-shell .partner-card{min-width:0!important}
@media(max-width:767px){.home .partner-section-shell .partner-grid{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding-bottom:10px!important}.home .partner-section-shell .partner-card{flex:0 0 72vw!important;scroll-snap-align:start}}

/* Navigation search: one coherent green pill, with no white inner rectangle. */
.site-menu .menu-item-search,.header-v2 .menu-item-search{width:280px!important;margin-left:auto!important;padding:7px 0!important}
.menu-item-search .search-form{position:relative!important;display:block!important;width:100%!important;height:46px!important;margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid var(--green-400)!important;border-radius:999px!important;background:var(--green-900)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important}
.menu-item-search .search-field{display:block!important;width:100%!important;height:44px!important;margin:0!important;padding:0 50px 0 20px!important;border:0!important;border-radius:999px!important;outline:0!important;background:transparent!important;color:var(--white)!important;box-shadow:none!important;line-height:44px!important}
.menu-item-search .search-field::placeholder{color:var(--green-200)!important;opacity:1!important}
.menu-item-search .search-form i{position:absolute!important;top:50%!important;right:18px!important;left:auto!important;z-index:2!important;margin:0!important;color:var(--white)!important;font-size:17px!important;transform:translateY(-50%)!important;pointer-events:none!important}
.menu-item-search .search-submit{position:absolute!important;top:0!important;right:0!important;z-index:3!important;width:52px!important;height:46px!important;padding:0!important;border:0!important;background:transparent!important;opacity:0!important;cursor:pointer!important}

/* Unfinished destinations remain visible but cannot be opened. */
a[data-under-construction='true']{color:var(--green-200)!important;cursor:not-allowed!important;pointer-events:none!important;opacity:.72!important}

/* Navbar states: subtle underline instead of a large solid block. */
#primary-menu>li>a{position:relative!important;background:transparent!important;color:var(--white)!important;box-shadow:none!important;transition:color .2s ease!important}
#primary-menu>li>a::after{content:''!important;position:absolute!important;right:18px!important;bottom:0!important;left:18px!important;height:3px!important;border-radius:3px 3px 0 0!important;background:var(--green-400)!important;transform:scaleX(0)!important;transform-origin:center!important;transition:transform .2s ease!important}
#primary-menu>li:hover>a,#primary-menu>li.current-menu-item>a,#primary-menu>li.current-menu-ancestor>a{background:transparent!important;color:var(--green-200)!important;box-shadow:none!important}
#primary-menu>li:hover>a::after,#primary-menu>li.current-menu-item>a::after,#primary-menu>li.current-menu-ancestor>a::after{transform:scaleX(1)!important}

/* Counter symbols need strong contrast against the green cards. */
.home .vc_custom_1650305921156 .fh-counter .fh-icon{display:inline-flex!important;width:72px!important;height:72px!important;align-items:center!important;justify-content:center!important;border:2px solid var(--green-400)!important;border-radius:50%!important;background:var(--green-800)!important;color:var(--white)!important;opacity:1!important;filter:none!important}
.home .vc_custom_1650305921156 .fh-counter .fh-icon::before,
.home .vc_custom_1650305921156 .fh-counter .fh-icon i,
.home .vc_custom_1650305921156 .fh-counter .fh-icon i::before{color:var(--white)!important;opacity:1!important;filter:none!important}

/* Partner logos always remain in one horizontal line. */
.home .partner-section-shell .partner-grid{display:flex!important;grid-template-columns:none!important;flex-flow:row nowrap!important;align-items:stretch!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;padding:12px!important}
.home .partner-section-shell .partner-card{flex:1 1 0!important;min-width:190px!important;scroll-snap-align:start!important}
@media(max-width:767px){.home .partner-section-shell .partner-grid{display:flex!important;flex-flow:row nowrap!important;overflow-x:auto!important}.home .partner-section-shell .partner-card{flex:0 0 72vw!important;min-width:250px!important}}
