/* ==========================================================================
   Fonts: Inter (variable, weights 100-900). Single file, served from /assets/fonts.
   ========================================================================== */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
  src:url('../fonts/inter-variable-font.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ==========================================================================
   Icons: Themify (icon font)
   ========================================================================== */
/* Themify Icons - locally hosted (font: SIL OFL, code: MIT) */
@font-face{
  font-family:'themify';
  src:url('../fonts/themify/themify.woff?v1') format('woff');
  font-weight:normal;
  font-style:normal;
  font-display:block;
}
[class^="ti-"], [class*=" ti-"] {
	font-family: 'themify';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.ti-wand:before {
	content: "\e600";
}
.ti-volume:before {
	content: "\e601";
}
.ti-user:before {
	content: "\e602";
}
.ti-unlock:before {
	content: "\e603";
}
.ti-unlink:before {
	content: "\e604";
}
.ti-trash:before {
	content: "\e605";
}
.ti-thought:before {
	content: "\e606";
}
.ti-target:before {
	content: "\e607";
}
.ti-tag:before {
	content: "\e608";
}
.ti-tablet:before {
	content: "\e609";
}
.ti-star:before {
	content: "\e60a";
}
.ti-spray:before {
	content: "\e60b";
}
.ti-signal:before {
	content: "\e60c";
}
.ti-shopping-cart:before {
	content: "\e60d";
}
.ti-shopping-cart-full:before {
	content: "\e60e";
}
.ti-settings:before {
	content: "\e60f";
}
.ti-search:before {
	content: "\e610";
}
.ti-zoom-in:before {
	content: "\e611";
}
.ti-zoom-out:before {
	content: "\e612";
}
.ti-cut:before {
	content: "\e613";
}
.ti-ruler:before {
	content: "\e614";
}
.ti-ruler-pencil:before {
	content: "\e615";
}
.ti-ruler-alt:before {
	content: "\e616";
}
.ti-bookmark:before {
	content: "\e617";
}
.ti-bookmark-alt:before {
	content: "\e618";
}
.ti-reload:before {
	content: "\e619";
}
.ti-plus:before {
	content: "\e61a";
}
.ti-pin:before {
	content: "\e61b";
}
.ti-pencil:before {
	content: "\e61c";
}
.ti-pencil-alt:before {
	content: "\e61d";
}
.ti-paint-roller:before {
	content: "\e61e";
}
.ti-paint-bucket:before {
	content: "\e61f";
}
.ti-na:before {
	content: "\e620";
}
.ti-mobile:before {
	content: "\e621";
}
.ti-minus:before {
	content: "\e622";
}
.ti-medall:before {
	content: "\e623";
}
.ti-medall-alt:before {
	content: "\e624";
}
.ti-marker:before {
	content: "\e625";
}
.ti-marker-alt:before {
	content: "\e626";
}
.ti-arrow-up:before {
	content: "\e627";
}
.ti-arrow-right:before {
	content: "\e628";
}
.ti-arrow-left:before {
	content: "\e629";
}
.ti-arrow-down:before {
	content: "\e62a";
}
.ti-lock:before {
	content: "\e62b";
}
.ti-location-arrow:before {
	content: "\e62c";
}
.ti-link:before {
	content: "\e62d";
}
.ti-layout:before {
	content: "\e62e";
}
.ti-layers:before {
	content: "\e62f";
}
.ti-layers-alt:before {
	content: "\e630";
}
.ti-key:before {
	content: "\e631";
}
.ti-import:before {
	content: "\e632";
}
.ti-image:before {
	content: "\e633";
}
.ti-heart:before {
	content: "\e634";
}
.ti-heart-broken:before {
	content: "\e635";
}
.ti-hand-stop:before {
	content: "\e636";
}
.ti-hand-open:before {
	content: "\e637";
}
.ti-hand-drag:before {
	content: "\e638";
}
.ti-folder:before {
	content: "\e639";
}
.ti-flag:before {
	content: "\e63a";
}
.ti-flag-alt:before {
	content: "\e63b";
}
.ti-flag-alt-2:before {
	content: "\e63c";
}
.ti-eye:before {
	content: "\e63d";
}
.ti-export:before {
	content: "\e63e";
}
.ti-exchange-vertical:before {
	content: "\e63f";
}
.ti-desktop:before {
	content: "\e640";
}
.ti-cup:before {
	content: "\e641";
}
.ti-crown:before {
	content: "\e642";
}
.ti-comments:before {
	content: "\e643";
}
.ti-comment:before {
	content: "\e644";
}
.ti-comment-alt:before {
	content: "\e645";
}
.ti-close:before {
	content: "\e646";
}
.ti-clip:before {
	content: "\e647";
}
.ti-angle-up:before {
	content: "\e648";
}
.ti-angle-right:before {
	content: "\e649";
}
.ti-angle-left:before {
	content: "\e64a";
}
.ti-angle-down:before {
	content: "\e64b";
}
.ti-check:before {
	content: "\e64c";
}
.ti-check-box:before {
	content: "\e64d";
}
.ti-camera:before {
	content: "\e64e";
}
.ti-announcement:before {
	content: "\e64f";
}
.ti-brush:before {
	content: "\e650";
}
.ti-briefcase:before {
	content: "\e651";
}
.ti-bolt:before {
	content: "\e652";
}
.ti-bolt-alt:before {
	content: "\e653";
}
.ti-blackboard:before {
	content: "\e654";
}
.ti-bag:before {
	content: "\e655";
}
.ti-move:before {
	content: "\e656";
}
.ti-arrows-vertical:before {
	content: "\e657";
}
.ti-arrows-horizontal:before {
	content: "\e658";
}
.ti-fullscreen:before {
	content: "\e659";
}
.ti-arrow-top-right:before {
	content: "\e65a";
}
.ti-arrow-top-left:before {
	content: "\e65b";
}
.ti-arrow-circle-up:before {
	content: "\e65c";
}
.ti-arrow-circle-right:before {
	content: "\e65d";
}
.ti-arrow-circle-left:before {
	content: "\e65e";
}
.ti-arrow-circle-down:before {
	content: "\e65f";
}
.ti-angle-double-up:before {
	content: "\e660";
}
.ti-angle-double-right:before {
	content: "\e661";
}
.ti-angle-double-left:before {
	content: "\e662";
}
.ti-angle-double-down:before {
	content: "\e663";
}
.ti-zip:before {
	content: "\e664";
}
.ti-world:before {
	content: "\e665";
}
.ti-wheelchair:before {
	content: "\e666";
}
.ti-view-list:before {
	content: "\e667";
}
.ti-view-list-alt:before {
	content: "\e668";
}
.ti-view-grid:before {
	content: "\e669";
}
.ti-uppercase:before {
	content: "\e66a";
}
.ti-upload:before {
	content: "\e66b";
}
.ti-underline:before {
	content: "\e66c";
}
.ti-truck:before {
	content: "\e66d";
}
.ti-timer:before {
	content: "\e66e";
}
.ti-ticket:before {
	content: "\e66f";
}
.ti-thumb-up:before {
	content: "\e670";
}
.ti-thumb-down:before {
	content: "\e671";
}
.ti-text:before {
	content: "\e672";
}
.ti-stats-up:before {
	content: "\e673";
}
.ti-stats-down:before {
	content: "\e674";
}
.ti-split-v:before {
	content: "\e675";
}
.ti-split-h:before {
	content: "\e676";
}
.ti-smallcap:before {
	content: "\e677";
}
.ti-shine:before {
	content: "\e678";
}
.ti-shift-right:before {
	content: "\e679";
}
.ti-shift-left:before {
	content: "\e67a";
}
.ti-shield:before {
	content: "\e67b";
}
.ti-notepad:before {
	content: "\e67c";
}
.ti-server:before {
	content: "\e67d";
}
.ti-quote-right:before {
	content: "\e67e";
}
.ti-quote-left:before {
	content: "\e67f";
}
.ti-pulse:before {
	content: "\e680";
}
.ti-printer:before {
	content: "\e681";
}
.ti-power-off:before {
	content: "\e682";
}
.ti-plug:before {
	content: "\e683";
}
.ti-pie-chart:before {
	content: "\e684";
}
.ti-paragraph:before {
	content: "\e685";
}
.ti-panel:before {
	content: "\e686";
}
.ti-package:before {
	content: "\e687";
}
.ti-music:before {
	content: "\e688";
}
.ti-music-alt:before {
	content: "\e689";
}
.ti-mouse:before {
	content: "\e68a";
}
.ti-mouse-alt:before {
	content: "\e68b";
}
.ti-money:before {
	content: "\e68c";
}
.ti-microphone:before {
	content: "\e68d";
}
.ti-menu:before {
	content: "\e68e";
}
.ti-menu-alt:before {
	content: "\e68f";
}
.ti-map:before {
	content: "\e690";
}
.ti-map-alt:before {
	content: "\e691";
}
.ti-loop:before {
	content: "\e692";
}
.ti-location-pin:before {
	content: "\e693";
}
.ti-list:before {
	content: "\e694";
}
.ti-light-bulb:before {
	content: "\e695";
}
.ti-Italic:before {
	content: "\e696";
}
.ti-info:before {
	content: "\e697";
}
.ti-infinite:before {
	content: "\e698";
}
.ti-id-badge:before {
	content: "\e699";
}
.ti-hummer:before {
	content: "\e69a";
}
.ti-home:before {
	content: "\e69b";
}
.ti-help:before {
	content: "\e69c";
}
.ti-headphone:before {
	content: "\e69d";
}
.ti-harddrives:before {
	content: "\e69e";
}
.ti-harddrive:before {
	content: "\e69f";
}
.ti-gift:before {
	content: "\e6a0";
}
.ti-game:before {
	content: "\e6a1";
}
.ti-filter:before {
	content: "\e6a2";
}
.ti-files:before {
	content: "\e6a3";
}
.ti-file:before {
	content: "\e6a4";
}
.ti-eraser:before {
	content: "\e6a5";
}
.ti-envelope:before {
	content: "\e6a6";
}
.ti-download:before {
	content: "\e6a7";
}
.ti-direction:before {
	content: "\e6a8";
}
.ti-direction-alt:before {
	content: "\e6a9";
}
.ti-dashboard:before {
	content: "\e6aa";
}
.ti-control-stop:before {
	content: "\e6ab";
}
.ti-control-shuffle:before {
	content: "\e6ac";
}
.ti-control-play:before {
	content: "\e6ad";
}
.ti-control-pause:before {
	content: "\e6ae";
}
.ti-control-forward:before {
	content: "\e6af";
}
.ti-control-backward:before {
	content: "\e6b0";
}
.ti-cloud:before {
	content: "\e6b1";
}
.ti-cloud-up:before {
	content: "\e6b2";
}
.ti-cloud-down:before {
	content: "\e6b3";
}
.ti-clipboard:before {
	content: "\e6b4";
}
.ti-car:before {
	content: "\e6b5";
}
.ti-calendar:before {
	content: "\e6b6";
}
.ti-book:before {
	content: "\e6b7";
}
.ti-bell:before {
	content: "\e6b8";
}
.ti-basketball:before {
	content: "\e6b9";
}
.ti-bar-chart:before {
	content: "\e6ba";
}
.ti-bar-chart-alt:before {
	content: "\e6bb";
}
.ti-back-right:before {
	content: "\e6bc";
}
.ti-back-left:before {
	content: "\e6bd";
}
.ti-arrows-corner:before {
	content: "\e6be";
}
.ti-archive:before {
	content: "\e6bf";
}
.ti-anchor:before {
	content: "\e6c0";
}
.ti-align-right:before {
	content: "\e6c1";
}
.ti-align-left:before {
	content: "\e6c2";
}
.ti-align-justify:before {
	content: "\e6c3";
}
.ti-align-center:before {
	content: "\e6c4";
}
.ti-alert:before {
	content: "\e6c5";
}
.ti-alarm-clock:before {
	content: "\e6c6";
}
.ti-agenda:before {
	content: "\e6c7";
}
.ti-write:before {
	content: "\e6c8";
}
.ti-window:before {
	content: "\e6c9";
}
.ti-widgetized:before {
	content: "\e6ca";
}
.ti-widget:before {
	content: "\e6cb";
}
.ti-widget-alt:before {
	content: "\e6cc";
}
.ti-wallet:before {
	content: "\e6cd";
}
.ti-video-clapper:before {
	content: "\e6ce";
}
.ti-video-camera:before {
	content: "\e6cf";
}
.ti-vector:before {
	content: "\e6d0";
}
.ti-themify-logo:before {
	content: "\e6d1";
}
.ti-themify-favicon:before {
	content: "\e6d2";
}
.ti-themify-favicon-alt:before {
	content: "\e6d3";
}
.ti-support:before {
	content: "\e6d4";
}
.ti-stamp:before {
	content: "\e6d5";
}
.ti-split-v-alt:before {
	content: "\e6d6";
}
.ti-slice:before {
	content: "\e6d7";
}
.ti-shortcode:before {
	content: "\e6d8";
}
.ti-shift-right-alt:before {
	content: "\e6d9";
}
.ti-shift-left-alt:before {
	content: "\e6da";
}
.ti-ruler-alt-2:before {
	content: "\e6db";
}
.ti-receipt:before {
	content: "\e6dc";
}
.ti-pin2:before {
	content: "\e6dd";
}
.ti-pin-alt:before {
	content: "\e6de";
}
.ti-pencil-alt2:before {
	content: "\e6df";
}
.ti-palette:before {
	content: "\e6e0";
}
.ti-more:before {
	content: "\e6e1";
}
.ti-more-alt:before {
	content: "\e6e2";
}
.ti-microphone-alt:before {
	content: "\e6e3";
}
.ti-magnet:before {
	content: "\e6e4";
}
.ti-line-double:before {
	content: "\e6e5";
}
.ti-line-dotted:before {
	content: "\e6e6";
}
.ti-line-dashed:before {
	content: "\e6e7";
}
.ti-layout-width-full:before {
	content: "\e6e8";
}
.ti-layout-width-default:before {
	content: "\e6e9";
}
.ti-layout-width-default-alt:before {
	content: "\e6ea";
}
.ti-layout-tab:before {
	content: "\e6eb";
}
.ti-layout-tab-window:before {
	content: "\e6ec";
}
.ti-layout-tab-v:before {
	content: "\e6ed";
}
.ti-layout-tab-min:before {
	content: "\e6ee";
}
.ti-layout-slider:before {
	content: "\e6ef";
}
.ti-layout-slider-alt:before {
	content: "\e6f0";
}
.ti-layout-sidebar-right:before {
	content: "\e6f1";
}
.ti-layout-sidebar-none:before {
	content: "\e6f2";
}
.ti-layout-sidebar-left:before {
	content: "\e6f3";
}
.ti-layout-placeholder:before {
	content: "\e6f4";
}
.ti-layout-menu:before {
	content: "\e6f5";
}
.ti-layout-menu-v:before {
	content: "\e6f6";
}
.ti-layout-menu-separated:before {
	content: "\e6f7";
}
.ti-layout-menu-full:before {
	content: "\e6f8";
}
.ti-layout-media-right-alt:before {
	content: "\e6f9";
}
.ti-layout-media-right:before {
	content: "\e6fa";
}
.ti-layout-media-overlay:before {
	content: "\e6fb";
}
.ti-layout-media-overlay-alt:before {
	content: "\e6fc";
}
.ti-layout-media-overlay-alt-2:before {
	content: "\e6fd";
}
.ti-layout-media-left-alt:before {
	content: "\e6fe";
}
.ti-layout-media-left:before {
	content: "\e6ff";
}
.ti-layout-media-center-alt:before {
	content: "\e700";
}
.ti-layout-media-center:before {
	content: "\e701";
}
.ti-layout-list-thumb:before {
	content: "\e702";
}
.ti-layout-list-thumb-alt:before {
	content: "\e703";
}
.ti-layout-list-post:before {
	content: "\e704";
}
.ti-layout-list-large-image:before {
	content: "\e705";
}
.ti-layout-line-solid:before {
	content: "\e706";
}
.ti-layout-grid4:before {
	content: "\e707";
}
.ti-layout-grid3:before {
	content: "\e708";
}
.ti-layout-grid2:before {
	content: "\e709";
}
.ti-layout-grid2-thumb:before {
	content: "\e70a";
}
.ti-layout-cta-right:before {
	content: "\e70b";
}
.ti-layout-cta-left:before {
	content: "\e70c";
}
.ti-layout-cta-center:before {
	content: "\e70d";
}
.ti-layout-cta-btn-right:before {
	content: "\e70e";
}
.ti-layout-cta-btn-left:before {
	content: "\e70f";
}
.ti-layout-column4:before {
	content: "\e710";
}
.ti-layout-column3:before {
	content: "\e711";
}
.ti-layout-column2:before {
	content: "\e712";
}
.ti-layout-accordion-separated:before {
	content: "\e713";
}
.ti-layout-accordion-merged:before {
	content: "\e714";
}
.ti-layout-accordion-list:before {
	content: "\e715";
}
.ti-ink-pen:before {
	content: "\e716";
}
.ti-info-alt:before {
	content: "\e717";
}
.ti-help-alt:before {
	content: "\e718";
}
.ti-headphone-alt:before {
	content: "\e719";
}
.ti-hand-point-up:before {
	content: "\e71a";
}
.ti-hand-point-right:before {
	content: "\e71b";
}
.ti-hand-point-left:before {
	content: "\e71c";
}
.ti-hand-point-down:before {
	content: "\e71d";
}
.ti-gallery:before {
	content: "\e71e";
}
.ti-face-smile:before {
	content: "\e71f";
}
.ti-face-sad:before {
	content: "\e720";
}
.ti-credit-card:before {
	content: "\e721";
}
.ti-control-skip-forward:before {
	content: "\e722";
}
.ti-control-skip-backward:before {
	content: "\e723";
}
.ti-control-record:before {
	content: "\e724";
}
.ti-control-eject:before {
	content: "\e725";
}
.ti-comments-smiley:before {
	content: "\e726";
}
.ti-brush-alt:before {
	content: "\e727";
}
.ti-youtube:before {
	content: "\e728";
}
.ti-vimeo:before {
	content: "\e729";
}
.ti-twitter:before {
	content: "\e72a";
}
.ti-time:before {
	content: "\e72b";
}
.ti-tumblr:before {
	content: "\e72c";
}
.ti-skype:before {
	content: "\e72d";
}
.ti-share:before {
	content: "\e72e";
}
.ti-share-alt:before {
	content: "\e72f";
}
.ti-rocket:before {
	content: "\e730";
}
.ti-pinterest:before {
	content: "\e731";
}
.ti-new-window:before {
	content: "\e732";
}
.ti-microsoft:before {
	content: "\e733";
}
.ti-list-ol:before {
	content: "\e734";
}
.ti-linkedin:before {
	content: "\e735";
}
.ti-layout-sidebar-2:before {
	content: "\e736";
}
.ti-layout-grid4-alt:before {
	content: "\e737";
}
.ti-layout-grid3-alt:before {
	content: "\e738";
}
.ti-layout-grid2-alt:before {
	content: "\e739";
}
.ti-layout-column4-alt:before {
	content: "\e73a";
}
.ti-layout-column3-alt:before {
	content: "\e73b";
}
.ti-layout-column2-alt:before {
	content: "\e73c";
}
.ti-instagram:before {
	content: "\e73d";
}
.ti-google:before {
	content: "\e73e";
}
.ti-github:before {
	content: "\e73f";
}
.ti-flickr:before {
	content: "\e740";
}
.ti-facebook:before {
	content: "\e741";
}
.ti-dropbox:before {
	content: "\e742";
}
.ti-dribbble:before {
	content: "\e743";
}
.ti-apple:before {
	content: "\e744";
}
.ti-android:before {
	content: "\e745";
}
.ti-save:before {
	content: "\e746";
}
.ti-save-alt:before {
	content: "\e747";
}
.ti-yahoo:before {
	content: "\e748";
}
.ti-wordpress:before {
	content: "\e749";
}
.ti-vimeo-alt:before {
	content: "\e74a";
}
.ti-twitter-alt:before {
	content: "\e74b";
}
.ti-tumblr-alt:before {
	content: "\e74c";
}
.ti-trello:before {
	content: "\e74d";
}
.ti-stack-overflow:before {
	content: "\e74e";
}
.ti-soundcloud:before {
	content: "\e74f";
}
.ti-sharethis:before {
	content: "\e750";
}
.ti-sharethis-alt:before {
	content: "\e751";
}
.ti-reddit:before {
	content: "\e752";
}
.ti-pinterest-alt:before {
	content: "\e753";
}
.ti-microsoft-alt:before {
	content: "\e754";
}
.ti-linux:before {
	content: "\e755";
}
.ti-jsfiddle:before {
	content: "\e756";
}
.ti-joomla:before {
	content: "\e757";
}
.ti-html5:before {
	content: "\e758";
}
.ti-flickr-alt:before {
	content: "\e759";
}
.ti-email:before {
	content: "\e75a";
}
.ti-drupal:before {
	content: "\e75b";
}
.ti-dropbox-alt:before {
	content: "\e75c";
}
.ti-css3:before {
	content: "\e75d";
}
.ti-rss:before {
	content: "\e75e";
}
.ti-rss-alt:before {
	content: "\e75f";
}
/* ==========================================================================
   Base, tokens, header and mega menu
   ========================================================================== */
:root {
  --bc-blue:#00539C;
  --bc-blue-dark:#003a70;
  --bc-accent:#e13e20;
  --bc-accent-dark:#c2331a;
  --bc-cream:#fffee0;
  --bc-ink:#10243a;
  --bc-sep:rgba(190,196,208,.38);
  --bc-header-h:42px;
  --bc-font:"Inter", ui-sans-serif, system-ui, sans-serif;
  --hm-bg:#f9f9f9;
  --hm-cream:#f9f9f9;
  --hm-card:#fff;
  --hm-ink:#10243a;
  --hm-muted:#4d6176;
  --hm-line:rgba(16,36,58,.1);
  --hm-dash:#bcc3cc;
  --hm-blue:#00539C;
  --hm-blue-d:#003a70;
  --hm-blue-dd:#00294f;
  --hm-accent:#e13e20;
  --hm-accent-d:#c2331a;
  --hm-tint:rgba(0,83,156,.09);
  --hm-r:13px;
  --hm-shadow:0 1px 2px rgba(16,36,58,.04),0 12px 30px -16px rgba(16,36,58,.1);
  --hm-cta-img:url("../img/vip-premium-facility-services-company-kenya.png");
  --bc-wa:#1a9a4a;
  --bc-wa-dark:#14803c;
  --bc-float-h:48px;
  --bc-float-r:12px;
  --bc-float-slant:14px;
}
*,*::before,*::after{ box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:auto; scroll-padding-top:84px; }
body {
  margin:0;
  padding-top:var(--bc-header-h);
  font-family:var(--bc-font);
  color:var(--hm-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
  background:var(--hm-bg);
}
/* Inter on every element, headings and form controls included */
h1,h2,h3,h4,h5,h6,p,li,a,span,strong,em,small,summary,figcaption,code,
button,input,select,textarea,label{ font-family:var(--bc-font); }
.bc-container{ width:100%; max-width:1240px; margin:0 auto; padding:0 1.25rem; }
.bc-skip{ position:absolute; left:-999px; top:0; z-index:2000; background:#fff; color:#000; padding:.5rem 1rem; }
.bc-skip:focus{ left:0; }
/* ---------- Header shell ---------- */
.bc-header{
  position:fixed; top:0; left:0; right:0; z-index:1030;
  background:var(--bc-blue);
  font-family:var(--bc-font);
  transition:box-shadow .2s;
}
.bc-header.is-scrolled{ box-shadow:0 2px 14px rgba(0,0,0,.22); }
.bc-header a{ text-decoration:none; }
/* 3-column grid: logo | menu (true centre) | actions */
.bc-navbar{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:stretch;
  height:var(--bc-header-h);
}
.bc-brand{ grid-column:1; display:flex; align-items:center; justify-self:start; }
.bc-brand img{ display:block; width:auto; height:30px; }
.bc-collapse{ display:contents; }
/* desktop: children join the grid */
.bc-toggler {
  display:none;
  position:relative;
  align-self:center;
  justify-self:end;
  width:30px;
  height:30px;
  padding:0;
  margin:0;
  border:1.5px solid rgba(255,255,255,.6);
  border-radius:25%;
  background:transparent;
  cursor:pointer;
  transition:background-color .2s,border-color .2s;
}
/* ---------- Menu ---------- */
.bc-menu{
  grid-column:2;
  display:flex; align-items:stretch; justify-content:center;
  list-style:none; margin:0; padding:0;
}
.bc-menu > li{ display:flex; align-items:stretch; }
.bc-link{
  position:relative;
  display:flex; align-items:center; gap:.45rem;
  padding:0 1rem;
  color:rgba(255,255,255,.94);
  font-size:.95rem; font-weight:700; letter-spacing:.01em;
  transition:color .15s;
}
.bc-link .bc-ti{ font-size:.95rem; color:rgba(255,255,255,.7); transition:color .15s; }
.bc-link:hover,
.bc-link:focus-visible{ color:#fff; }
.bc-link:hover .bc-ti,
.bc-link:focus-visible .bc-ti{ color:var(--bc-cream); }
/* cream underline: hover + current page */
.bc-link::after{
  content:""; position:absolute; left:1rem; right:1rem; bottom:0; height:3px;
  background:var(--bc-cream); border-radius:1.5px 1.5px 0 0;
  transform:scaleX(0); transition:transform .2s ease;
}
.bc-link:hover::after,
.bc-link:focus-visible::after,
.bc-link.is-active::after,
.bc-has-mega.is-open > .bc-link::after{ transform:scaleX(1); }
.bc-link.is-active .bc-ti,
.bc-has-mega.is-open > .bc-link .bc-ti{ color:var(--bc-cream); }
/* feint grey dashed separator between items */
.bc-menu > li + li > .bc-link::before{
  content:""; position:absolute; left:0; top:50%;
  height:26px; transform:translateY(-50%);
  border-left:1px dashed var(--bc-sep);
}
/* Services link + caret */
.bc-has-mega > .bc-link{ padding-right:.2rem; }
.bc-has-mega > .bc-link::after{ right:0; }
.bc-caret{
  display:flex; align-items:center;
  background:none; border:0; margin:0; cursor:pointer;
  padding:0 .85rem 0 .3rem;
  color:rgba(255,255,255,.8); font:inherit;
}
.bc-caret .ti-angle-down{ font-size:.62rem; font-weight:700; transition:transform .2s; }
.bc-caret:hover{ color:#fff; }
.bc-has-mega.is-open .bc-caret .ti-angle-down{ transform:rotate(180deg); }
:where(.bc-link,.bc-caret,.bc-btn,.bc-toggler):focus-visible{
  outline:2px solid var(--bc-cream); outline-offset:-2px; border-radius:6px;
}
.bc-mega a:focus-visible{ outline:2px solid var(--bc-blue); outline-offset:-2px; border-radius:7px; }
.bc-mega-cta .bc-btn:focus-visible{ outline-color:var(--bc-blue); outline-offset:2px; }
/* ---------- Mega menu ---------- */
/* No positioned ancestor between panel and header, so it spans the full header width */
.bc-mega{
  display:none;
  position:absolute; left:0; right:0; top:100%;
  background:#fff;
  border-top:3px solid var(--bc-accent);
  border-radius:0 0 14px 14px;
  box-shadow:0 22px 40px rgba(0,41,79,.22);
  animation:bc-drop .18s ease-out;
}
.bc-has-mega.is-open > .bc-mega{ display:block; }
@keyframes bc-drop{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
.bc-mega-grid{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:2rem; padding-top:1.6rem; padding-bottom:1.9rem;
}
.bc-mega-title{
  margin:0 0 .65rem; padding-bottom:.55rem;
  font-size:.76rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--bc-blue); border-bottom:2px solid #e6eef7;
}
.bc-mega ul{ list-style:none; margin:0; padding:0; }
.bc-mega li a{
  display:flex; align-items:center; gap:.65rem;
  padding:.45rem .5rem; border-radius:8px;
  color:var(--bc-ink); font-size:.9rem; font-weight:700;
  transition:background-color .15s,color .15s,transform .15s;
}
.bc-mega li a .bc-ti{
  flex:0 0 30px; width:30px; height:30px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:25%; background:#e8f1fa; color:var(--bc-blue); font-size:.8rem;
  transition:background-color .15s,color .15s;
}
.bc-mega li a:hover,
.bc-mega li a:focus-visible{ background:#f9f9f9; color:var(--bc-blue); transform:translateX(3px); }
.bc-mega li a:hover .bc-ti,
.bc-mega li a:focus-visible .bc-ti{ background:var(--bc-blue); color:#fff; }
.bc-mega-cta{
  height:100%; padding:1.5rem; border-radius:12px; color:#fff;
  background:var(--bc-blue);
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
}
.bc-mega-cta-title{ margin:0 0 .5rem; font-size:1.1rem; font-weight:700; color:#fff; }
.bc-mega-cta-text{ margin:0 0 1.1rem; font-size:.88rem; line-height:1.5; opacity:.92; }
/* ---------- Buttons ---------- */
.bc-actions{
  grid-column:3; justify-self:end;
  display:flex; align-items:center; gap:.55rem;
}
.bc-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  padding:.55rem 1.1rem; border:1px solid transparent; border-radius:10px;
  font:700 .86rem/1.2 var(--bc-font); white-space:nowrap; cursor:pointer;
  transition:background-color .15s,color .15s,border-color .15s,transform .15s;
}
.bc-btn .bc-ti{ font-size:.9rem; }
.bc-btn:hover{ transform:translateY(-1px); }
.bc-btn-sm{ padding:.5rem .95rem; }
.bc-btn-outline-light{ color:#fff; border-color:rgba(255,255,255,.65); background:transparent; }
.bc-btn-outline-light:hover{ background:#fff; color:var(--bc-blue); border-color:#fff; }
.bc-btn-gold,.bc-btn-primary{ color:#fff; background:var(--bc-accent); border-color:var(--bc-accent); }
.bc-btn-gold:hover,.bc-btn-primary:hover{ background:var(--bc-accent-dark); border-color:var(--bc-accent-dark); color:#fff; }
/* ---------- Toggler (round, 30px = 30% smaller than the old ~43x35 box) ---------- */
.bc-toggler::after{ content:""; position:absolute; inset:-7px; }
/* 44px touch target */
.bc-toggler:hover{ background:rgba(255,255,255,.12); border-color:#fff; }
.bc-toggler-icon,
.bc-toggler-icon::before,
.bc-toggler-icon::after{
  position:absolute; left:50%; width:12px; height:2px; margin-left:-6px;
  background:#fff; border-radius:1px; transition:transform .25s,opacity .2s,top .25s;
}
.bc-toggler-icon{ top:50%; margin-top:-1px; }
.bc-toggler-icon::before,.bc-toggler-icon::after{ content:""; left:0; margin-left:0; }
.bc-toggler-icon::before{ top:-4px; }
.bc-toggler-icon::after{ top:4px; }
.bc-toggler[aria-expanded="true"]{ background:var(--bc-cream); border-color:var(--bc-cream); }
.bc-toggler[aria-expanded="true"] .bc-toggler-icon{ background:transparent; }
.bc-toggler[aria-expanded="true"] .bc-toggler-icon,
.bc-toggler[aria-expanded="true"] .bc-toggler-icon::before,
.bc-toggler[aria-expanded="true"] .bc-toggler-icon::after{ background-color:transparent; }
.bc-toggler[aria-expanded="true"] .bc-toggler-icon::before{ top:0; background:var(--bc-blue); transform:rotate(45deg); }
.bc-toggler[aria-expanded="true"] .bc-toggler-icon::after{ top:0; background:var(--bc-blue); transform:rotate(-45deg); }
/* ---------- No-JS fallback (desktop hover via CSS) ---------- */
@media (min-width:1180px) {
  .no-js .bc-has-mega:hover > .bc-mega,
  .no-js .bc-has-mega:focus-within > .bc-mega{ display:block; }
}
/* ---------- Collapsed layout ---------- */
@media (max-width:1179.98px) {
  :root{ --bc-header-h:64px; }
  .bc-navbar{ display:flex; align-items:center; justify-content:space-between; }
  .bc-brand img{ height:36px; }
  .bc-toggler{ display:block; }
  .bc-collapse{
    display:none;
    position:absolute; top:100%; left:0; right:0;
    max-height:calc(100vh - var(--bc-header-h)); max-height:calc(100dvh - var(--bc-header-h));
    overflow-y:auto; overscroll-behavior:contain;
    padding:.25rem 1.25rem 1.25rem;
    background:var(--bc-blue);
    border-top:1px solid rgba(255,255,255,.14);
    box-shadow:0 18px 30px rgba(0,0,0,.25);
  }
  .bc-collapse.is-open{ display:block; animation:bc-drop .2s ease-out; }
  .no-js .bc-collapse{ display:block; }
  .bc-menu{ flex-direction:column; align-items:stretch; }
  .bc-menu > li{ flex-wrap:wrap; border-bottom:1px dashed var(--bc-sep); }
  .bc-menu > li + li > .bc-link::before{ display:none; }
  .bc-link{ flex:1 1 auto; padding:.95rem .25rem; font-size:1rem; }
  .bc-link::after{ display:none; }
  .bc-link.is-active,
  .bc-has-mega.is-open > .bc-link{ color:var(--bc-cream); }
  .bc-caret{ padding:0 .9rem; }
  .bc-mega{
    position:static; flex:0 0 100%;
    border-top:0; border-radius:12px; box-shadow:none; animation:none;
    margin:0 0 .75rem;
  }
  .bc-mega-grid{ grid-template-columns:1fr; gap:1.25rem; padding:1.1rem 1rem; }
  .no-js .bc-has-mega > .bc-mega{ display:block; }
  .bc-actions{ display:flex; gap:.6rem; padding-top:1.1rem; justify-self:stretch; }
  .bc-actions .bc-btn{ flex:1 1 0; padding:.7rem 1rem; }
}
@media (min-width:640px) and (max-width:1179.98px) {
  .bc-mega-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after{ animation:none !important; transition:none !important; }
}
/* ==========================================================================
   Core components (.hm-*): type, buttons, sections, hero, cards, FAQ, CTA, footer
   ========================================================================== */
.hm{ font-family:var(--bc-font); line-height:1.65; }
.hm :where(*){ min-width:0; }
.hm :where(img){ max-width:100%; height:auto; display:block; }
.hm :where(a){ color:inherit; text-decoration:none; }
.hm :where(ul){ list-style:none; margin:0; padding:0; }
.hm :where(h1,h2,h3,h4,p){ margin:0; font-family:var(--bc-font); }
.hm code{ font-family:inherit; font-weight:700; }
.hm-wrap{ width:100%; max-width:1240px; margin:0 auto; padding:0 1.25rem; }
/* ---------- Type ---------- */
.hm-h1{ font-size:clamp(1.6rem, 2.88vw, 2.44rem); line-height:1.1; font-weight:700; letter-spacing:-.02em; color:var(--hm-blue); }
.hm-h2{ font-size:clamp(1.75rem,3.2vw,2.6rem); line-height:1.15; font-weight:800; letter-spacing:-.015em; color:var(--hm-blue); }
.hm-grad{ font-style:normal; color:var(--hm-accent); }
/* solid colour, no gradient */
.hm-eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  margin-bottom:.9rem; padding:.3rem .8rem;
  font-size:.78rem; font-weight:700; letter-spacing:.02em; color:var(--hm-blue);
  background:#fff; border:1px solid var(--hm-line); border-radius:4px;
  box-shadow:0 1px 2px rgba(16,36,58,.01);
}
.hm-eyebrow::before{ content:""; width:7px; height:7px; border-radius:25%; background:var(--hm-accent); }
.hm-lede{ color:var(--hm-muted); font-size:1.06rem; max-width:62ch; }
/* ---------- Buttons ---------- */
.hm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.8rem 1.4rem; border:1px solid transparent; border-radius:11px;
  font:700 .95rem/1.2 var(--bc-font); white-space:nowrap; cursor:pointer;
  transition:background-color .1s,border-color .1s,color .1s,box-shadow .1s;
}
.hm-btn i{ font-size:.9rem; }
.hm-btn--primary{ background:var(--hm-blue); color:#fff; box-shadow:0 8px 18px -10px rgba(0,83,156,.7); }
.hm-btn--primary:hover{ background:var(--hm-blue-d); }
.hm-btn--ghost{ background:#fff; color:var(--hm-blue); border-color:rgba(0,83,156,.28); }
.hm-btn--ghost:hover{ border-color:var(--hm-blue); background:var(--hm-cream); }
.hm-btn--gold{ background:var(--hm-accent); color:#fff; box-shadow:0 8px 18px -10px rgba(225,62,32,.7); }
.hm-btn--gold:hover{ background:var(--hm-accent-d); }
.hm-btn--glass{ background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.45); }
.hm-btn--glass:hover{ background:rgba(255,255,255,.2); border-color:#fff; }
.hm :where(a,button,summary,input,select,textarea):focus-visible{ outline:2px solid var(--hm-blue); outline-offset:2px; border-radius:7px; }
.hm-link{ display:inline-flex; align-items:center; gap:.35rem; font-weight:700; font-size:.9rem; color:var(--hm-blue); }
.hm-link:hover{ text-decoration:underline; text-underline-offset:3px; }
.hm-ic{
  flex:0 0 auto; width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:25%; background:var(--hm-tint); color:var(--hm-blue); font-size:1.1rem;
}
/* ---------- Sections ---------- */
.hm-sec{ padding:5.5rem 0; }
.hm-sec--alt{ background:var(--hm-cream); border-top:1px solid var(--hm-line); border-bottom:1px solid var(--hm-line); }
.hm-intro{ margin-bottom:2.6rem; display:grid; gap:1rem; }
.hm-intro--center{ text-align:center; justify-items:center; }
.hm-intro--split{ grid-template-columns:1.1fr 1fr; align-items:end; gap:2.5rem; }
/* ---------- Hero ---------- */
.hm-hero{ position:relative; padding:3.5rem 0 3rem; overflow:hidden; isolation:isolate; }
.hm-hero>.hm-wrap{ position:relative; z-index:2; }
/* content sits above the image overlay */
/* NOTE: the old .hm-hero::before glow and ::after grid were removed; the image + veil
   + shapes below replace them (they would have been hidden underneath anyway). */
/* Hero background: photo + dull off-white translucent abstract overlay */
.hm-hero-bg {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:#e6e2d9 url("../../dash/uploads/image/westlands-facility-management-company.jpg") center/cover no-repeat;
  --hm-glass-l:.9;
  --hm-glass-m:.78;
  --hm-glass-r:.12;
}
/* Frosted-glass layer over the photo (same blur/saturate/highlight recipe as the Clients section).
   The tint is graded: strongly frosted behind the text on the left, fading to clear glass on the
   right so the photo shows through next to the hero image. Tune the three alphas below. */
.hm-hero-bg::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(120% 70% at 0% 0%,rgba(255,255,255,.35),transparent 55%),
    linear-gradient(100deg,
      rgba(255,255,255,var(--hm-glass-l)) 0%,
      rgba(255,255,255,var(--hm-glass-m)) 40%,
      rgba(255,255,255,.4) 62%,
      rgba(255,255,255,var(--hm-glass-r)) 100%);
  -webkit-backdrop-filter:blur(10px) saturate(160%);
  backdrop-filter:blur(10px) saturate(160%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(255,255,255,.25),
    inset 0 0 24px rgba(255,255,255,.25);
}
/* stacked layout (text spans full width): keep the frost even, so text stays readable */
@media (max-width:960px) {
  .hm-hero-bg{ --hm-glass-l:.85; --hm-glass-m:.82; --hm-glass-r:.78; }
}
/* fine grain of lines for an architectural feel */
.hm-hero-bg::after{
  content:""; position:absolute; inset:0; opacity:.5;
  background:repeating-linear-gradient(135deg,rgba(0,83,156,.035) 0 1px,transparent 1px 46px);
}
/* abstract translucent shapes */
.hm-hero-bg span{ position:absolute; display:block; z-index:1; }
.hm-hero-bg .s1{
  width:520px; height:520px; border-radius:20%; right:-140px; top:-180px;
  background:radial-gradient(circle at 35% 35%,rgba(0,83,156,.16),rgba(0,83,156,.02) 70%);
  border:1px solid rgba(0,83,156,.12);
}
.hm-hero-bg .s2{
  width:340px; height:340px; border-radius:25.6px; left:-110px; bottom:-130px; transform:rotate(24deg);
  background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.7);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
}
.hm-hero-bg .s3{
  width:220px; height:220px; border-radius:20%; left:46%; top:58%;
  border:1px solid rgba(0,83,156,.14);
  box-shadow:0 0 0 15.2px rgba(0,83,156,.03),0 0 0 30.4px rgba(0,83,156,.02);
}
.hm-hero-bg .s4{
  width:180px; height:180px; border-radius:16px; right:8%; bottom:10%; transform:rotate(-14deg);
  background:linear-gradient(160deg,rgba(212,170,70,.16),rgba(212,170,70,0));
  border:1px solid rgba(212,170,70,.22);
}
@media (max-width:720px) {
  .hm-hero-bg .s1{ width:320px; height:320px; right:-120px; top:-120px; }
  .hm-hero-bg .s3,.hm-hero-bg .s4{ display:none; }
}
.hm-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:3rem; align-items:center; }
.hm-slides{ display:grid; }
/* all slides share one cell: constant height */
.hm-slide{ grid-area:1/1; visibility:hidden; }
.hm-slide.is-active{ visibility:visible; }
.hm-badge{
  display:inline-flex; align-items:center; gap:.5rem; margin-bottom:1.1rem;
  padding:.35rem .85rem; font-size:.8rem; font-weight:800; color:var(--hm-blue);
  background:rgba(255,255,255,.9); border:1px solid var(--hm-line); border-radius:4px;
}
.hm-badge i{ width:7px; height:7px; border-radius:25%; background:var(--hm-accent); box-shadow:0 0 0 3px rgba(225,62,32,.22); }
.hm-hero .hm-h1{ margin-bottom:1.1rem; }
.hm-hero-lead{ font-size:1.1rem; color:var(--hm-muted); max-width:56ch; margin-bottom:1.4rem; }
.hm-checks{ display:grid; gap:.55rem; margin-bottom:1.8rem; }
.hm-checks li{ display:flex; align-items:flex-start; gap:.6rem; font-weight:600; font-size:.97rem; }
.hm-checks i{
  flex:0 0 22px; height:22px; margin-top:1px; display:inline-flex; align-items:center; justify-content:center;
  font-size:.62rem; font-weight:800; color:#fff; background:var(--hm-accent); border-radius:25%;
}
.hm-hero-cta{ display:flex; flex-wrap:wrap; gap:.7rem; }
.hm-hero-foot{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:2rem; flex-wrap:wrap; }
.hm-trust{ display:flex; flex-wrap:wrap; gap:.4rem 1.1rem; font-size:.85rem; font-weight:700; color:var(--hm-muted); }
.hm-trust li::before{ content:"✓"; margin-right:.4rem; color:var(--hm-blue); }
.hm-ctrl{ display:flex; align-items:center; gap:1rem; }
.hm-dots{ display:flex; gap:.4rem; }
.hm-dot{ width:8px; height:8px; padding:0; border:0; border-radius:2px; background:rgba(16,36,58,.2); cursor:pointer; position:relative; }
.hm-dot::after{ content:""; position:absolute; inset:-8px; }
.hm-dot[aria-selected="true"]{ background:var(--hm-blue); width:22px; }
.hm-arrows{ display:flex; gap:.4rem; }
.hm-arrow{
  width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid var(--hm-line); border-radius:25%; color:var(--hm-blue); cursor:pointer; font-size:.8rem;
  transition:border-color .15s,background-color .15s;
}
.hm-arrow:hover{ border-color:var(--hm-blue); background:var(--hm-cream); }
.hm-visual{ position:relative; }
.hm-photo{
  position:relative; margin:0; aspect-ratio:900/738; overflow:hidden;
  border-radius:17px; background:var(--hm-cream);
  border:1px solid var(--hm-line); box-shadow:0 30px 60px -30px rgba(0,58,112,.45);
  display:grid;
}
.hm-photo img{ grid-area:1/1; width:100%; height:100%; object-fit:cover; visibility:hidden; }
.hm-photo img.is-active{ visibility:visible; }
.hm-float{
  position:absolute; left:-1.25rem; bottom:2rem;
  display:flex; align-items:center; gap:.75rem; padding:.8rem 1.1rem;
  background:rgba(255,255,255,.94); border:1px solid var(--hm-line); border-radius:11px;
  box-shadow:0 18px 36px -18px rgba(16,36,58,.4);
}
.hm-float strong{ display:block; font-size:1.25rem; line-height:1.1; letter-spacing:-.01em; color:var(--hm-blue); }
.hm-float span{ font-size:.78rem; color:var(--hm-muted); font-weight:600; }
.hm-float .hm-ic{ width:40px; height:40px; background:var(--hm-accent); color:#fff; border-radius:25%; }
/* ---------- Strip + shortcuts ---------- */
.hm-strip{ padding:0 0 1rem; }
.hm-strip-list{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem;
}
.hm-strip-item{
  padding:.5rem 1rem; font-size:.88rem; color:var(--hm-muted);
  background:#fff; border:1px solid var(--hm-line); border-radius:10px;
}
.hm-strip-item strong{ color:var(--hm-ink); }
.hm-cats{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.6rem; padding-top:1.1rem; padding-bottom:0; }
.hm-cats > span{ font-weight:700; font-size:.88rem; color:var(--hm-muted); }
.hm-pill{
  display:inline-flex; align-items:center; padding:.45rem .95rem;
  font-size:.88rem; font-weight:700; color:var(--hm-ink);
  background:#fff; border:1px solid var(--hm-line); border-radius:10px;
  transition:border-color .15s,color .15s,background-color .15s;
}
.hm-pill:hover{ border-color:var(--hm-blue); color:var(--hm-blue); background:var(--hm-cream); }
/* ---------- Services (tabs) ---------- */
.hm-tablist{
  display:inline-grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem;
  padding:.35rem; margin-bottom:1.6rem; width:100%; max-width:640px;
  background:#fff; border:1px solid var(--hm-line); border-radius:14px; box-shadow:var(--hm-shadow);
}
.hm-tab{
  display:flex; align-items:center; gap:.8rem; padding:.7rem .9rem; text-align:left;
  font:inherit; color:var(--hm-muted); background:transparent; border:0; border-radius:11px; cursor:pointer;
  transition:background-color .15s,color .15s;
}
.hm-tab strong{ display:block; font-size:1rem; font-weight:800; color:var(--hm-ink); }
.hm-tab small{ display:block; font-size:.78rem; line-height:1.35; }
.hm-tab .hm-ic{ width:38px; height:38px; font-size:1rem; }
.hm-tab[aria-selected="true"]{ background:var(--hm-blue); color:rgba(255,255,255,.82); }
.hm-tab[aria-selected="true"] strong{ color:#fff; }
.hm-tab[aria-selected="true"] .hm-ic{ background:var(--hm-cream); color:var(--hm-blue); }
.hm-panels{ display:grid; }
/* panels share a cell: no height jump on tab change */
.hm-panel{ grid-area:1/1; visibility:hidden; }
.hm-panel.is-active{ visibility:visible; }
.hm-panel-head{ margin-bottom:1.4rem; }
.hm-panel-head h3{ font-size:1.4rem; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); }
.hm-panel-head p{ color:var(--hm-muted); }
.hm-cards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.hm-svc{
  display:flex; flex-direction:column; gap:.9rem; padding:1.4rem;
  background:var(--hm-card); border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow);
  transition:border-color .15s,box-shadow .15s;
}
.hm-svc:hover{ border-color:rgba(0,83,156,.35); box-shadow:0 1px 2px rgba(16,36,58,.04),0 18px 36px -18px rgba(0,83,156,.3); }
.hm-svc h4{ font-size:1.08rem; font-weight:800; letter-spacing:-.005em; color:var(--hm-ink); }
.hm-svc p{ font-size:.92rem; color:var(--hm-muted); }
/* sub-service list: one item per row, separated by grey dashed lines */
.hm-sub{ display:block; border-top:1px dashed var(--hm-dash); font-size:.88rem; font-weight:600; color:var(--hm-ink); }
.hm-sub li{ position:relative; padding:.58rem 0 .58rem 1.1rem; border-bottom:1px dashed var(--hm-dash); }
.hm-sub li:last-child{ border-bottom:0; }
.hm-sub li::before{ content:""; position:absolute; left:0; top:50%; width:6px; height:6px; margin-top:-3px; border-radius:25%; background:var(--hm-accent); }
.hm-svc .hm-link{ margin-top:auto; padding-top:.2rem; }
.hm-more{ margin-top:1.6rem; padding:1.5rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); }
.hm-more-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.hm-more-title{ font-weight:800; font-size:1.05rem; color:var(--hm-blue); }
.hm-svclist{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; }
.hm-svclist a{
  display:flex; align-items:center; gap:.6rem; padding:.55rem .65rem; font-size:.88rem; font-weight:600;
  border-radius:12px; border:1px solid transparent; transition:background-color .15s,border-color .15s;
}
.hm-svclist a:hover{ background:var(--hm-cream); border-color:var(--hm-line); }
.hm-svclist i{
  flex:0 0 30px; height:30px; display:inline-flex; align-items:center; justify-content:center;
  font-size:.8rem; border-radius:25%; background:var(--hm-tint); color:var(--hm-blue);
}
/* kept for other pages */
/* ---------- CTA with image overlay ---------- */
.hm-ctawrap{ padding:0 0 5.5rem; }
.hm-sec + .hm-ctawrap { padding-top:0; }
.hm-cta{
  position:relative; isolation:isolate; overflow:hidden; color:#fff;
  border-radius:18px; padding:3.4rem 3rem;
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:2rem;
  background-color:var(--hm-blue-d);
  background-image:
    linear-gradient(100deg,rgba(0,41,79,.93) 0%,rgba(0,58,112,.84) 45%,rgba(0,83,156,.6) 100%),
    var(--hm-cta-img),
    url('../img/cta-building.svg');
  background-size:cover,cover,cover;
  background-position:center,center 35%,center;
  box-shadow:0 30px 60px -34px rgba(0,41,79,.7);
}
.hm-cta::after{ content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.hm-cta h2{ font-size:clamp(1.7rem,3vw,2.4rem); font-weight:800; letter-spacing:-.015em; line-height:1.15; margin-bottom:.6rem; color:#fff; }
.hm-cta p{ color:rgba(255,255,255,.85); max-width:56ch; }
.hm-cta-btns{ display:flex; flex-wrap:wrap; gap:.7rem; }
.hm-cta--center {
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
  padding:4.2rem 2rem;
  background-position:center,center 60%,center;
}
.hm-cta--center .hm-cta-btns{ justify-content:center; }
/* ---------- Audience ---------- */
.hm-aud-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.hm-aud{
  display:flex; flex-direction:column; gap:1.1rem; padding:2rem;
  background:#fff; border:1px solid var(--hm-line); border-radius:16px; box-shadow:var(--hm-shadow);
}
.hm-aud-head{ display:flex; align-items:center; gap:.9rem; }
.hm-aud-head h3{ font-size:1.35rem; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); }
.hm-aud-lead{ color:var(--hm-muted); }
.hm-aud-list{ display:grid; gap:.6rem; }
.hm-aud-list li{ display:flex; gap:.6rem; font-size:.95rem; }
.hm-aud-list i{ flex:0 0 auto; margin-top:.3rem; font-size:.7rem; font-weight:800; color:var(--hm-blue); }
.hm-chips{ display:flex; flex-wrap:wrap; gap:.45rem; }
.hm-chip{ padding:.3rem .8rem; font-size:.8rem; font-weight:700; background:var(--hm-cream); border:1px solid var(--hm-line); border-radius:4px; }
.hm-aud-cta{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:auto; padding-top:.4rem; }
.hm-aud--com{ color:#fff; background:var(--hm-blue-d); border-color:transparent; }
.hm-aud--com .hm-aud-head h3{ color:#fff; }
.hm-aud--com .hm-ic{ background:rgba(255,255,255,.14); color:var(--hm-cream); }
.hm-aud--com .hm-aud-lead{ color:rgba(255,255,255,.8); }
.hm-aud--com .hm-aud-list i{ color:var(--hm-cream); }
.hm-aud--com .hm-chip{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); color:#fff; }
/* ---------- Why ---------- */
.hm-why{ display:grid; grid-template-columns:.9fr 1.1fr; gap:3.5rem; align-items:start; }
.hm-why-copy{ position:sticky; top:96px; display:grid; gap:1rem; }
.hm-fig{ margin:.6rem 0 0; }
.hm-fig img{ width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:var(--hm-r); border:1px solid var(--hm-line); background:var(--hm-cream); }
.hm-fig figcaption{ margin-top:.7rem; font-size:.88rem; color:var(--hm-muted); }
.hm-perks{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.hm-perk{ padding:1.4rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); }
.hm-perk .hm-ic{ margin-bottom:.9rem; }
.hm-perk h3{ font-size:1rem; font-weight:800; margin-bottom:.3rem; color:var(--hm-ink); }
.hm-perk p{ font-size:.9rem; color:var(--hm-muted); }
/* ---------- Clients we serve: liquid glass ---------- */
.hm-clients{
  position:relative; isolation:isolate; overflow:hidden;
  background:
    radial-gradient(900px 500px at 8% 0%,rgba(0,83,156,.20),transparent 60%),
    radial-gradient(800px 520px at 100% 30%,rgba(212,170,70,.20),transparent 60%),
    radial-gradient(900px 600px at 40% 110%,rgba(0,150,170,.16),transparent 60%),
    linear-gradient(180deg,#eef3f8 0%,#e8eef5 100%);
}
/* soft floating colour blobs behind the glass */
.hm-clients::before,.hm-clients::after{
  content:""; position:absolute; z-index:-1; border-radius:20%; filter:blur(40px); pointer-events:none;
}
.hm-clients::before{ width:380px; height:380px; left:-90px; top:38%; background:rgba(0,83,156,.22); }
.hm-clients::after{ width:340px; height:340px; right:-80px; bottom:6%; background:rgba(212,170,70,.26); }
.hm-clients-grid{
  display:grid; gap:18px; margin-top:40px;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
}
.hm-client{
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; gap:10px;
  padding:22px 22px 24px; border-radius:10.4px;
  background:linear-gradient(145deg,rgba(255,255,255,.62),rgba(255,255,255,.26));
  -webkit-backdrop-filter:blur(18px) saturate(170%);
  backdrop-filter:blur(18px) saturate(170%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:
    0 4px 12px rgba(18,52,92,.04),
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(255,255,255,.25),
    inset 0 0 24px rgba(255,255,255,.25);
  transition:transform .35s ease,box-shadow .35s ease,background .35s ease;
}
/* specular highlight (the "liquid" sheen) */
.hm-client::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:
    radial-gradient(120% 70% at 0% 0%,rgba(255,255,255,.65),transparent 55%),
    linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%) -120% 0/250% 100% no-repeat;
  transition:background-position .9s ease;
}
.hm-client:hover,.hm-client:focus-within{
  transform:translateY(-4px);
  box-shadow:0 7.2px 16px rgba(18,52,92,.064),inset 0 1px 0 #fff,inset 0 0 28px rgba(255,255,255,.4);
}
.hm-client:hover::before{ background-position:0 0,120% 0; }
.hm-client-ic{
  position:relative; display:grid; place-items:center; flex:none;
  width:46px; height:46px; border-radius:6.4px;
  color:#00539C; font-size:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.35));
  border:1px solid rgba(255,255,255,.85);
  box-shadow:0 2.4px 5.6px rgba(0,83,156,.056),inset 0 1px 0 #fff;
}
.hm-client h3{ margin:4px 0 0; font-size:1.05rem; line-height:1.25; color:#10253d; }
.hm-client p{ margin:0; font-size:.9rem; line-height:1.55; color:#40536a; }
.hm-clients-cta{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:36px; }
/* fallback when backdrop-filter is unsupported */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .hm-client{ background:rgba(255,255,255,.82); }
}
@media (prefers-reduced-motion:reduce) {
  .hm-client,.hm-client::before{ transition:none; }
  .hm-client:hover{ transform:none; }
}
/* ---------- Pricing ---------- */
/* ---------- Regulators ---------- */
.hm-creds{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.hm-cred{ display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; padding:1.3rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); }
.hm-mono{
  display:inline-flex; align-items:center; justify-content:center; min-width:56px; height:40px; padding:0 .7rem;
  font-size:.82rem; font-weight:800; letter-spacing:.04em; color:#fff; background:var(--hm-blue); border-radius:10px;
}
.hm-cred:nth-child(2) .hm-mono{ background:var(--hm-accent); }
.hm-cred:nth-child(3) .hm-mono{ background:var(--hm-blue-d); }
.hm-cred:nth-child(4) .hm-mono{ background:var(--hm-accent-d); }
.hm-cred:nth-child(5) .hm-mono{ background:#2f78b5; }
.hm-cred strong{ display:block; font-size:1rem; }
.hm-cred small{ display:block; color:var(--hm-muted); font-size:.8rem; line-height:1.4; }
/* ---------- Expect ---------- */
.hm-expect{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.hm-exp{ padding:1.8rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow); }
.hm-exp-n{ display:inline-flex; width:34px; height:34px; align-items:center; justify-content:center; margin-bottom:1rem; font-size:.85rem; font-weight:800; color:var(--hm-blue); background:var(--hm-tint); border-radius:25%; }
.hm-exp h3{ font-size:1.15rem; font-weight:800; margin-bottom:.5rem; letter-spacing:-.005em; color:var(--hm-blue); }
.hm-exp p{ color:var(--hm-muted); font-size:.95rem; }
/* ---------- FAQ ---------- */
.hm-faq{ display:grid; grid-template-columns:.8fr 1.2fr; gap:3.5rem; align-items:start; }
.hm-faq-side{ position:sticky; top:96px; display:grid; gap:1rem; }
.hm-faq-side p.hm-lede{ font-size:1rem; }
.hm-faq-btns{ display:flex; flex-wrap:wrap; gap:.6rem; }
.hm-faq-side img{ width:100%; aspect-ratio:10/7; object-fit:cover; border-radius:var(--hm-r); border:1px solid var(--hm-line); background:var(--hm-cream); margin-top:.6rem; }
.hm-faq-list{ display:grid; gap:.7rem; }
.hm-q{ background:#fff; border:1px solid var(--hm-line); border-radius:12px; }
.hm-q summary{
  display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.05rem 1.25rem;
  font-weight:800; cursor:pointer; list-style:none; border-radius:12px;
}
.hm-q summary::-webkit-details-marker{ display:none; }
.hm-q summary i{ flex:0 0 auto; font-size:.7rem; color:var(--hm-muted); }
.hm-q[open] summary i{ transform:rotate(180deg); }
.hm-q[open]{ background:var(--hm-cream); border-color:rgba(0,83,156,.3); }
.hm-q p{ padding:0 1.25rem 1.2rem; color:var(--hm-muted); font-size:.95rem; }
/* ---------- Blog ---------- */
/* ---------- Contact ---------- */
.hm-contact{ padding:5.5rem 0; }
.hm-contact-card{
  display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; padding:3rem; color:#fff;
  background:var(--hm-blue-d);
  border-radius:18px; box-shadow:0 30px 60px -34px rgba(0,41,79,.7);
}
.hm-contact-copy{ display:grid; gap:1.1rem; align-content:start; }
.hm-contact-copy .hm-eyebrow{ justify-self:start; margin:0; background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:#fff; }
.hm-contact-card .hm-h2{ color:#fff; }
.hm-contact-copy p{ color:rgba(255,255,255,.8); }
.hm-contact-btns{ display:flex; flex-wrap:wrap; gap:.6rem; }
.hm-contact-list{ display:grid; gap:.7rem; margin-top:.4rem; }
.hm-row{ display:flex; align-items:center; gap:.9rem; padding:.8rem 1rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:12px; }
.hm-row .hm-ic{ background:rgba(255,255,255,.14); color:var(--hm-cream); width:40px; height:40px; }
.hm-row small{ display:block; font-size:.76rem; color:rgba(255,255,255,.65); }
.hm-row strong{ font-size:.97rem; overflow-wrap:anywhere; }
a.hm-row:hover{ background:rgba(255,255,255,.12); }
.hm-map{ min-height:360px; border-radius:14px; overflow:hidden; background:var(--hm-blue-dd); border:1px solid rgba(255,255,255,.18); }
.hm-map iframe{ display:block; width:100%; height:100%; min-height:360px; border:0; }
/* ---------- Footer ---------- */
.hm-foot{ background:var(--hm-blue-dd); color:rgba(255,255,255,.76); padding:4rem 0 0; font-size:.92rem; }
.hm-foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; padding-bottom:3rem; }
.hm-foot-about img{ height:36px; width:auto; margin-bottom:1rem; }
.hm-foot-about p{ margin-bottom:1.1rem; max-width:42ch; }
.hm-foot-contact{ display:grid; gap:.55rem; }
.hm-foot-contact a,.hm-foot-contact span{ display:flex; align-items:flex-start; gap:.6rem; }
.hm-foot-contact i{ color:var(--hm-cream); margin-top:.25rem; font-size:.85rem; }
.hm-foot-title{ margin:0 0 1rem; font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#fff; }
.hm-foot ul{ display:grid; gap:.55rem; }
.hm-foot a:hover{ color:#fff; }
.hm-foot-bottom {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.6rem 2rem;
  padding-top:1.4rem;
  padding-bottom:5rem;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:.82rem;
}
/* ---------- Responsive ---------- */
@media (max-width:1100px) {
  .hm-cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hm-svclist{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hm-creds{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:960px) {
  .hm-sec{ padding:4rem 0; }
  .hm-hero-grid,.hm-why,.hm-faq,.hm-aud-grid,.hm-contact-card,.hm-intro--split{ grid-template-columns:1fr; }
  .hm-hero-grid{ gap:2.2rem; }
  .hm-float{ left:1rem; }
  .hm-why-copy,.hm-faq-side{ position:static; }
  .hm-expect { grid-template-columns:1fr; }
  .hm-foot-grid{ grid-template-columns:1fr 1fr; }
  .hm-cta{ grid-template-columns:1fr; padding:2.6rem 1.75rem; }
  .hm-contact-card{ padding:2rem 1.5rem; }
}
@media (max-width:640px) {
  .hm-hero{ padding-top:2rem; }
  .hm-cards,.hm-perks{ grid-template-columns:1fr; }
  .hm-svclist{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hm-creds{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hm-tablist{ grid-template-columns:1fr; }
  .hm-foot-grid{ grid-template-columns:1fr; }
  .hm-btn{ padding:.78rem 1.1rem; }
  .hm-hero-cta .hm-btn,.hm-cta-btns .hm-btn{ flex:1 1 auto; }
  .hm-cta{ border-radius:14px; }
  .hm-ctawrap{ padding-bottom:3.5rem; }
  .hm-contact{ padding:3.5rem 0; }
}
@media (prefers-reduced-motion:reduce) {
  *{ transition:none !important; }
}
/* ==========================================================================
   LATEST POSTS - bordered card grid (replaces the [bcfm_latest_posts] slot)
   Hairline grid: the container draws the top/left border, each card draws its
   right/bottom border, so any number of cards and columns stays tidy.
   ========================================================================== */
.hm-posts{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  background:#fff; border-top:1px solid var(--hm-line); border-left:1px solid var(--hm-line);
}
.hm-post{
  position:relative; display:flex; flex-direction:column; gap:.9rem;
  padding:1.9rem 1.55rem 1.7rem; background:#fff;
  border-right:1px solid var(--hm-line); border-bottom:1px solid var(--hm-line);
  transition:background-color .15s;
}
.hm-post:hover,.hm-post:focus-within{ background:var(--hm-cream); }
.hm-post-ic{
  width:48px; height:48px; display:inline-flex; align-items:center; justify-content:center;
  font-size:1.15rem; color:var(--hm-blue); background:var(--hm-tint);
}
.hm-post h3{ font-size:1.08rem; font-weight:800; line-height:1.3; letter-spacing:-.005em; color:var(--hm-ink); }
.hm-post h3 a::after{ content:""; position:absolute; inset:0; }
/* whole card is clickable */
.hm-post h3 a:hover{ color:var(--hm-blue); }
.hm-post p{ margin-bottom:.4rem; font-size:.92rem; line-height:1.8; color:var(--hm-muted); }
.hm-post-tag{
  align-self:flex-start; margin-top:auto; padding:.38rem .75rem;
  font-size:.78rem; font-weight:800; line-height:1.3; color:var(--hm-blue); background:var(--hm-tint);
}
.hm-posts-cta{ display:flex; justify-content:center; margin-top:2rem; }
@media (max-width:960px) {
  .hm-posts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .hm-posts{ grid-template-columns:1fr; }
  .hm-post{ padding:1.6rem 1.25rem 1.5rem; }
}
/* ==========================================================================
   Inner pages: page header, About, Contact (.pg-*, .ab-*, .ct-*, .pp-*)
   ========================================================================== */
/* ---------- Page header (contact) ---------- */
.pg-head{ position:relative; isolation:isolate; overflow:hidden; padding:3.2rem 0 3rem; border-bottom:1px solid var(--hm-line); background:var(--hm-cream); }
.pg-head::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(50% 70% at 92% 0%,rgba(255,255,255,.9),transparent 70%),
    radial-gradient(45% 70% at 4% 0%,rgba(0,83,156,.12),transparent 70%);
}
.pg-head-inner{ display:grid; gap:1rem; }
.pg-head-inner > :not(.pg-crumbs){ max-width:760px; }
.pg-crumbs {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  margin-bottom:.4rem;
  font-size:.85rem;
  font-weight:700;
  color:var(--hm-muted);
  list-style:none;
  padding:0;
}
.pg-crumbs a{ color:var(--hm-blue); }
.pg-crumbs a:hover{ text-decoration:underline; text-underline-offset:3px; }
.pg-crumbs li + li::before{ content:"/"; margin-right:.5rem; color:var(--hm-dash); }
.pg-crumbs li{ display:inline-flex; }
/* ---------- About ---------- */
.ab-hero .hm-hero-lead{ margin-bottom:1.6rem; }
.ab-split{ display:grid; grid-template-columns:1.1fr .9fr; gap:3.5rem; align-items:center; }
.ab-copy{ display:grid; gap:1rem; }
.ab-copy p{ color:var(--hm-muted); font-size:1.02rem; }
.ab-copy .hm-h2{ margin-bottom:.2rem; }
.ab-photo{ margin:0; }
.ab-photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:17px; border:1px solid var(--hm-line); background:var(--hm-cream); box-shadow:0 30px 60px -34px rgba(0,58,112,.45); }
.ab-facts{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:3rem; }
.ab-fact{ padding:1.4rem 1.3rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow); }
.ab-fact strong{ display:block; font-size:1.9rem; line-height:1.1; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); }
.ab-fact span{ display:block; margin-top:.35rem; font-size:.9rem; font-weight:600; color:var(--hm-muted); }
.ab-perks{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.ab-steps{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.ab-areas{ display:grid; gap:1.4rem; justify-items:center; text-align:center; }
.ab-areas .hm-chips{ justify-content:center; }
.ab-areas .hm-chip{ background:#fff; font-size:.88rem; padding:.45rem 1rem; }
.ab-sub-title{ margin:2.8rem 0 1.2rem; text-align:center; font-size:1.1rem; font-weight:800; color:var(--hm-blue); }
/* ---------- Contact ---------- */
.ct-cards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.ct-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; padding:1.5rem;
  background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow);
  transition:border-color .15s,box-shadow .15s;
}
a.ct-card:hover{ border-color:rgba(0,83,156,.4); box-shadow:0 1px 2px rgba(16,36,58,.04),0 18px 36px -18px rgba(0,83,156,.3); }
.ct-card .hm-ic{ margin-bottom:.6rem; }
.ct-card small{ font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--hm-muted); }
.ct-card strong{ font-size:1.05rem; font-weight:800; color:var(--hm-ink); overflow-wrap:anywhere; }
.ct-card span.ct-act{ margin-top:auto; padding-top:.5rem; font-size:.9rem; font-weight:800; color:var(--hm-blue); }
.ct-grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:2rem; align-items:start; }
.ct-form{ padding:2.2rem; background:#fff; border:1px solid var(--hm-line); border-radius:17px; box-shadow:var(--hm-shadow); }
.ct-form h2{ font-size:1.6rem; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); }
.ct-form > p{ margin:.4rem 0 1.6rem; color:var(--hm-muted); }
.ct-fields{ display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.1rem; }
.ct-field{ display:grid; gap:.4rem; align-content:start; }
.ct-field--full{ grid-column:1/-1; }
.ct-field label{ font-size:.86rem; font-weight:800; color:var(--hm-ink); }
.ct-field label i{ font-style:normal; color:var(--hm-accent); }
.ct-field input,.ct-field select,.ct-field textarea{
  width:100%; padding:.85rem 1.1rem; font:600 .98rem/1.4 var(--bc-font); color:var(--hm-ink);
  background:#fffef7; border:1.5px solid rgba(16,36,58,.16); border-radius:10px;
  transition:border-color .15s,box-shadow .15s,background-color .15s;
  -webkit-appearance:none; appearance:none;
}
.ct-field textarea{ min-height:140px; resize:vertical; border-radius:12px; }
.ct-field select{
  padding-right:2.6rem; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2300539C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1.1rem center;
}
.ct-field input::placeholder,.ct-field textarea::placeholder{ color:#8a98a8; font-weight:600; }
.ct-field input:hover,.ct-field select:hover,.ct-field textarea:hover{ border-color:rgba(0,83,156,.4); }
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{
  outline:0; border-color:var(--hm-blue); background:#fff; box-shadow:0 0 0 4px rgba(0,83,156,.14);
}
.ct-form.was-validated .ct-field :is(input,textarea,select):invalid{ border-color:var(--hm-accent); box-shadow:0 0 0 4px rgba(225,62,32,.12); }
.ct-err{ display:none; font-size:.8rem; font-weight:700; color:var(--hm-accent-d); }
.ct-form.was-validated .ct-field :is(input,textarea,select):invalid ~ .ct-err{ display:block; }
.ct-submit{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.4rem; }
.ct-note{ font-size:.84rem; color:var(--hm-muted); }
.ct-status{ margin-top:1rem; padding:.85rem 1.1rem; border-radius:10px; font-weight:700; font-size:.92rem; background:var(--hm-cream); border:1px solid var(--hm-line); color:var(--hm-ink); }
.ct-status[hidden]{ display:none; }
.ct-side{ display:grid; gap:1rem; }
.ct-panel{ padding:1.7rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow); }
.ct-panel h3{ font-size:1.15rem; font-weight:800; color:var(--hm-blue); margin-bottom:1rem; }
.ct-steps{ display:grid; gap:.9rem; counter-reset:ct; }
.ct-steps li{ position:relative; padding-left:2.7rem; font-size:.95rem; color:var(--hm-muted); counter-increment:ct; }
.ct-steps li strong{ display:block; color:var(--hm-ink); font-weight:800; }
.ct-steps li::before{
  content:counter(ct); position:absolute; left:0; top:0; width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  font-size:.85rem; font-weight:800; color:var(--hm-blue); background:var(--hm-tint); border-radius:25%;
}
.ct-panel--alert{ background:var(--hm-blue-d); border-color:transparent; color:#fff; }
.ct-panel--alert h3{ color:#fff; }
.ct-panel--alert p{ color:rgba(255,255,255,.82); margin-bottom:1.1rem; font-size:.95rem; }
.ct-panel--quote{ background:var(--hm-cream); }
.ct-panel--quote p{ color:var(--hm-muted); margin-bottom:1.1rem; font-size:.95rem; }
.ct-map{ overflow:hidden; border-radius:17px; border:1px solid var(--hm-line); background:var(--hm-cream); box-shadow:var(--hm-shadow); }
.ct-map iframe{ display:block; width:100%; height:420px; border:0; }
/* ---------- Responsive (About, Contact) ---------- */
@media (max-width:1100px) {
  .ct-cards,.ab-facts,.ab-perks,.ab-steps{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:960px) {
  .ab-split,.ct-grid{ grid-template-columns:1fr; }
  .ab-split{ gap:2.2rem; }
  .pg-head{ padding:2.4rem 0 2.2rem; }
}
@media (max-width:640px) {
  .ct-cards,.ab-facts,.ab-perks,.ab-steps,.ct-fields{ grid-template-columns:1fr; }
  .ct-form{ padding:1.5rem 1.2rem; border-radius:14px; }
  .ct-map iframe{ height:320px; }
  .ct-map,.ab-photo img{ border-radius:14px; }
}
/* ==========================================================================
   SINGLE POST TEMPLATE
   All styling for the single post page lives below (no inline <style> needed).
   Mobile-first. Scoped under .pp (the <main> class) so it wins over blog.css
   whatever the load order. Radii are 50% of the previous design:
   13px -> 6.5px, 17px -> 8.5px, 10px -> 5px. True circles stay circles.
   ========================================================================== */
.pp{ --pp-r-sm:5px; --pp-r:6.5px; --pp-r-lg:8.5px; }
/* ---------- Hero (cleaning-template style, HVAC image overlay) ---------- */
.pp-hero{ position:relative; isolation:isolate; overflow:hidden; color:#faf7ef; background:var(--hm-blue-d,#003a70); border-bottom:4px solid var(--hm-gold,#f0b429); }
.pp-hero-bg{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.pp-hero-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,58,112,.55),rgba(0,58,112,.92)); }
.pp-hero-img{
  position:absolute; inset:0; opacity:.32;
  background:url("../../dash/uploads/image/facility-management/hvac-installation-hard-facility-service-nairobi.jpg") center/cover no-repeat;
}
.pp-hero-gold{ display:none; }
.pp-hero-inner{ padding:2.4rem 0 2.6rem; }
.pp-hero-main{ max-width:40rem; }
.pp-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; margin:0 0 1.1rem; padding:0; list-style:none; font-size:.85rem; font-weight:700; color:rgba(250,247,239,.72); }
.pp-crumbs li{ display:inline-flex; }
.pp-crumbs li + li::before{ content:"/"; margin-right:.5rem; opacity:.5; }
.pp-crumbs a{ color:#fff; }
.pp-crumbs a:hover,.pp-crumbs a:focus-visible{ text-decoration:underline; text-underline-offset:3px; }
.pp-tag{
  display:inline-block; margin:0 0 .9rem; padding:.32rem .8rem; font-size:.72rem; font-weight:800; letter-spacing:.12em; line-height:1.4; text-transform:uppercase;
  color:var(--hm-blue-d,#003a70); background:var(--hm-gold,#f0b429); border-radius:var(--pp-r-sm);
}
.pp-tag:hover,.pp-tag:focus-visible{ background:#fff; }
.pp-call{ display:inline-flex; align-items:center; gap:.5rem; margin:0; padding:.5rem .95rem; font-size:.78rem; }
.pp-call i{ font-size:.9rem; letter-spacing:0; }
.pp-title{ margin:0 0 1rem; font-size:clamp(1.26rem,3.64vw,2.03rem); font-weight:800; line-height:1.15; letter-spacing:-.01em; color:#fff; }
.pp-lede{ margin:0; max-width:36rem; font-size:1.02rem; line-height:1.7; color:rgba(250,247,239,.88); }
.pp-byline{ display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.4rem; margin-top:1.5rem; }
.pp-author{ display:inline-flex; align-items:stretch; gap:.7rem; color:#fff; text-decoration:none; }
.pp-author:hover .pp-author-name,.pp-author:focus-visible .pp-author-name{ color:var(--hm-gold,#f0b429); text-decoration:none; text-underline-offset:3px; }
.pp-avatar{ display:block; flex:0 0 auto; width:42px; height:42px; padding:2px; object-fit:contain; background:#fff; border:2px solid rgba(255,255,255,.85); border-radius:50%; }
.pp-author-name{ display:flex; flex-direction:column; justify-content:space-between; height:42px; font-size:1.05rem; font-weight:800; line-height:1.1; letter-spacing:-.005em; transition:color .15s; }
.pp-author-name span{ display:block; white-space:nowrap; }
/* bottom line: smaller, gold, and stretched to exactly the width of the top line */
.pp-author-name span + span{ width:0; min-width:100%; font-size:.8em; color:var(--hm-gold,#f0b429); text-align:justify; text-align-last:justify; }
/* ---------- Layout ---------- */
.pp .bp-layout{ grid-template-columns:minmax(0,1fr); gap:2.4rem; padding:2.6rem 0 3.5rem; }
.pp .bp-main{ padding:0 .5rem; }
.pp .bp-aside{ position:static; display:grid; gap:1.2rem; align-content:start; }
.pp .bp-body{ font-size:1.02rem; line-height:1.8; }
.pp .bp-body > * + *{ margin-top:1.1rem; }
.pp .hm-ctawrap{ padding-top:5.5rem; }
/* ---------- Featured image (under the table of contents) ---------- */
.pp .bp-hero{ margin:0 0 1.8rem; }
.pp .bp-hero figure{ margin:0; }
.pp .bp-hero img{ display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:var(--pp-r); }
/* ---------- Table of contents ---------- */
.pp .toc-card{
  margin:0 0 1.8rem; padding:1.1rem 1.1rem .9rem;
  background:#fff; border:1px solid var(--hm-line); border-top:3px solid var(--hm-blue);
  border-radius:var(--pp-r-lg); box-shadow:var(--hm-shadow);
}
.pp .toc-card[hidden]{ display:none; }
.pp .toc-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
.pp .toc-label{ display:inline-flex; align-items:center; gap:.55rem; font-size:.82rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--hm-blue); }
.pp .toc-label i{ font-size:.95rem; }
.pp .toc-toggle{ padding:.25rem 0; font:600 .92rem/1 var(--bc-font); color:#9aa5b1; background:none; border:0; cursor:pointer; }
.pp .toc-toggle:hover,.pp .toc-toggle:focus-visible{ color:var(--hm-blue); }
.pp .toc-title{ margin:0 0 .3rem; font-size:.98rem; font-weight:800; line-height:1.4; color:#0d1b2a; }
.pp .toc-list{ list-style:none; margin:0; padding:0; }
.pp .toc-list[hidden]{ display:none; }
.pp .toc-list li{ margin:0; padding:0; break-inside:avoid; border-bottom:1px solid var(--hm-line); }
.pp .toc-list a{ display:block; padding:.6rem 0; font-size:.92rem; line-height:1.4; color:#3b5a78; transition:color .15s; }
.pp .toc-list a:hover{ color:var(--hm-blue); text-decoration:underline; text-underline-offset:3px; }
.pp .toc-list .toc-h3 a{ padding-left:1rem; font-size:.86rem; }
/* ---------- Lists ---------- */
.pp .bp-body ul,.pp .bp-body ol{
  display:block; margin-left:.5rem; padding:.3rem 1rem;
  font-size:.8em; line-height:1.7;
  background:#f8f6f0; border-radius:var(--pp-r); list-style:none;
}
.pp .bp-body ol{ list-style:decimal; padding-left:2.3rem; }
.pp .bp-body ul li,.pp .bp-body ol li{ padding:.65rem 0; }
.pp .bp-body ul li{ padding-left:1.25rem; }
.pp .bp-body ul li::before{ left:0; top:calc(.65rem + .6em); }
.pp .bp-body li + li{ border-top:1px dashed #c3c9d1; }
.pp .bp-body li ul,.pp .bp-body li ol{ margin:.5rem 0 0; padding:0; font-size:1em; background:transparent; }
/* ---------- Blockquotes ---------- */
.pp .bp-body blockquote{
  position:relative; display:block; width:100%; margin:2rem 0 2.8rem; padding:3.4rem 1.25rem 2.6rem;
  font-size:1.02rem; font-weight:600; line-height:1.7; color:#faf7ef;
  background:var(--hm-blue-d); border:0; border-radius:var(--pp-r);
}
.pp .bp-body blockquote::before{
  content:"Bestcare Facilities Management Services";
  position:absolute; top:0; left:1.25rem; right:1.25rem; padding:1rem 0 .7rem;
  font-size:.72rem; font-weight:800; letter-spacing:.12em; line-height:1.4; text-transform:uppercase;
  color:rgba(250,247,239,.72); border-bottom:1px solid rgba(250,247,239,.16);
}
.pp .bp-body blockquote::after{
  content:""; position:absolute; left:50%; bottom:0; width:46px; height:46px;
  transform:translate(-50%,50%);
  background:#fff url(../../favicon.png) center/26px 26px no-repeat;
  border:3px solid #fff; border-radius:50%; box-shadow:0 6px 14px -6px rgba(0,0,0,.45);
}
.pp .bp-body blockquote p,.pp .bp-body blockquote strong,.pp .bp-body blockquote a{ margin:0; color:inherit; }
.pp .bp-body blockquote p + p{ margin-top:.8rem; }
.pp .bp-body blockquote a{ text-decoration:underline; }
/* ---------- Tables: cards on small screens ---------- */
.pp .bp-body .tbl-wrap{ margin:1.4rem 0; }
.pp .bp-body table{ display:block; width:100%; min-width:0; border-collapse:separate; border-spacing:0; font-size:.95rem; line-height:1.55; }
.pp .bp-body table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.pp .bp-body table tbody{ display:block; }
.pp .bp-body table tr{
  display:block; margin:0 0 .9rem; overflow:hidden;
  background:#fff; border:1px solid var(--hm-line); border-radius:var(--pp-r); box-shadow:var(--hm-shadow);
}
.pp .bp-body table th,.pp .bp-body table td{
  display:block; width:auto; padding:.75rem 1rem; text-align:left; vertical-align:top;
  border:0; border-bottom:1px dashed var(--hm-dash);
}
.pp .bp-body table tr > :last-child{ border-bottom:0; }
.pp .bp-body table tbody th{ font-weight:800; color:var(--hm-ink); background:var(--hm-cream); }
.pp .bp-body table [data-label]{ display:grid; grid-template-columns:minmax(6.5rem,36%) minmax(0,1fr); gap:.75rem; }
.pp .bp-body table [data-label]::before{
  content:attr(data-label); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--hm-blue);
}
/* ---------- Tags, share, buttons (radius overrides for shared components) ---------- */
.pp .bp-share > span{ flex:0 0 100%; margin:0 0 .1rem; }
.pp .bp-share a,.pp .bp-share button{ flex:1 1 calc(50% - .25rem); justify-content:center; border-radius:var(--pp-r-sm); }
.pp .bp-tags a,.pp .bp-toc a{ border-radius:var(--pp-r-sm); }
.pp .hm-btn{ border-radius:var(--pp-r-sm); }
.pp .hm-cta{ border-radius:var(--pp-r-lg); }
/* ---------- Previous / next ---------- */
.pp .bp-nav{ max-width:760px; display:grid; grid-template-columns:1fr; gap:.8rem; margin:2.2rem 0 0; }
.pp .bp-nav a{
  display:flex; flex-direction:column; gap:.35rem; padding:1rem 1.15rem;
  background:#fff; border:1px solid var(--hm-line); border-radius:var(--pp-r); box-shadow:var(--hm-shadow);
  transition:border-color .15s,background-color .15s;
}
.pp .bp-nav a:hover,.pp .bp-nav a:focus-visible{ border-color:var(--hm-blue); background:var(--hm-cream); }
.pp .bp-nav small{ display:inline-flex; align-items:center; gap:.4rem; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--hm-muted); }
.pp .bp-nav small i{ font-size:.75rem; color:var(--hm-blue); }
.pp .bp-nav strong{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  font-size:.96rem; font-weight:800; line-height:1.4; color:var(--hm-ink);
}
.pp .bp-nav .is-next{ text-align:left; }
/* ---------- Sidebar: shared card + existing panels ---------- */
.pp .bp-panel{ border-radius:var(--pp-r-lg); }
.pp-card{ background:#fff; border:1px solid var(--hm-line); border-top:3px solid var(--hm-blue); border-radius:var(--pp-r-lg); box-shadow:var(--hm-shadow); overflow:hidden; }
.pp-card-title{ display:flex; align-items:center; gap:.55rem; margin:0; font-size:.82rem; font-weight:800; letter-spacing:.14em; line-height:1.3; text-transform:uppercase; color:var(--hm-blue); }
.pp-card-title i{ font-size:.95rem; }
/* ---------- Sidebar: company profile card ---------- */
.pp-profile-head{ display:flex; align-items:center; gap:.9rem; padding:1.3rem 1.3rem .9rem; }
.pp-profile-logo{ flex:0 0 auto; width:54px; height:54px; padding:7px; object-fit:contain; background:#fff; border:1px solid var(--hm-line); border-radius:var(--pp-r); }
.pp-profile-id{ min-width:0; }
.pp-profile-id .pp-card-title{ margin-bottom:.3rem; }
.pp-profile-name{ margin:0; font-size:1.12rem; font-weight:800; line-height:1.25; color:var(--hm-ink); }
.pp-profile-text{ margin:0; padding:0 1.3rem; font-size:.93rem; line-height:1.65; color:var(--hm-muted); }
.pp-profile-list{ list-style:none; margin:.9rem 0 0; padding:0 1.3rem; }
.pp-profile-list li{ display:flex; align-items:flex-start; gap:.8rem; margin:0; padding:.8rem 0; border-top:1px dashed var(--hm-dash); }
.pp-profile-ico{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; font-size:.95rem; color:var(--hm-blue); background:var(--hm-tint); border-radius:50%; }
.pp-profile-item{ display:flex; flex-direction:column; min-width:0; }
.pp-profile-item small{ font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--hm-muted); }
.pp-profile-item a,.pp-profile-item address{ margin-top:.15rem; font-style:normal; font-size:.95rem; font-weight:700; line-height:1.5; color:var(--hm-ink); overflow-wrap:anywhere; text-decoration:none; }
.pp-profile-item a:hover,.pp-profile-item a:focus-visible{ color:var(--hm-blue); text-decoration:underline; text-underline-offset:3px; }
.pp-profile-cta{ display:grid; gap:.6rem; margin-top:.4rem; padding:1rem 1.3rem 1.3rem; background:var(--hm-cream); border-top:1px solid var(--hm-line); }
.pp-profile-cta .hm-btn{ justify-content:center; }
/* ---------- Sidebar: search card (Google Programmable Search) ---------- */
.pp-search{ padding:1.3rem; }
.pp-search .pp-card-title{ margin-bottom:.9rem; }
.pp-search .gsc-control-cse{ padding:0 !important; background:transparent !important; border:0 !important; font-family:var(--bc-font,inherit) !important; }
.pp-search .gsc-control-cse *{ font-family:inherit; }
.pp-search form.gsc-search-box{ margin:0; font-size:inherit; }
.pp-search table.gsc-search-box{ width:100%; margin:0; border-collapse:separate; }
.pp-search table.gsc-search-box td{ padding:0; vertical-align:middle; }
.pp-search td.gsc-input{ padding-right:.5rem; }
.pp-search table.gsc-input{ margin:0; }
.pp-search .gsc-input-box{
  padding:0 .25rem; background:#fffef7; border:1.5px solid rgba(16,36,58,.16); border-radius:var(--pp-r-sm);
  transition:border-color .15s,box-shadow .15s,background-color .15s;
}
.pp-search .gsc-input-box:hover{ border-color:rgba(0,83,156,.4); }
.pp-search .gsc-input-box:focus-within{ border-color:var(--hm-blue); background:#fff; box-shadow:0 0 0 4px rgba(0,83,156,.14); }
.pp-search input.gsc-input{ padding:.7rem .6rem !important; font:600 .95rem/1.4 var(--bc-font,inherit) !important; color:var(--hm-ink); background:none !important; text-indent:0 !important; }
.pp-search input.gsc-input::placeholder{ color:#8a98a8; font-weight:600; }
.pp-search td.gsc-search-button{ width:1%; }
.pp-search button.gsc-search-button{ margin:0; }
.pp-search .gsc-search-button-v2{
  display:flex; align-items:center; justify-content:center; margin:0; padding:.82rem .95rem !important;
  background:var(--hm-blue); border:0 !important; border-radius:var(--pp-r-sm); cursor:pointer; transition:background-color .15s;
}
.pp-search .gsc-search-button-v2:hover,.pp-search .gsc-search-button-v2:focus-visible{ background:var(--hm-blue-d); }
.pp-search .gsc-search-button-v2 svg{ width:16px; height:16px; fill:#fff; }
.pp-search .gsc-results-wrapper-nooverlay,.pp-search .gsc-results-wrapper-visible{ padding:0; }
.pp-search .gsc-above-wrapper-area{ padding:.6rem 0; border-bottom:1px solid var(--hm-line); }
.pp-search .gsc-result-info{ padding:0; font-size:.8rem; color:var(--hm-muted); }
.pp-search .gsc-webResult.gsc-result,.pp-search .gsc-imageResult{ margin:0; padding:.85rem 0; background:transparent; border:0; border-bottom:1px dashed var(--hm-dash); }
.pp-search .gs-title,.pp-search .gs-title *{ font-size:.95rem; font-weight:800; line-height:1.4; color:var(--hm-blue) !important; text-decoration:none; }
.pp-search .gs-title:hover,.pp-search .gs-title:hover *{ text-decoration:underline; text-underline-offset:3px; }
.pp-search .gs-snippet{ font-size:.85rem; line-height:1.55; color:var(--hm-muted); }
.pp-search .gsc-url-top,.pp-search .gs-visibleUrl{ font-size:.75rem; color:#3b5a78; }
.pp-search .gsc-cursor-box{ margin:.8rem 0 0; text-align:left; }
.pp-search .gsc-cursor-page{ padding:.2rem .5rem; font-weight:700; color:var(--hm-blue); }
.pp-search .gsc-cursor-current-page{ color:var(--hm-ink); }
.pp-search .gcsc-find-more-on-google{ font-size:.8rem; color:var(--hm-blue); }
.gsc-results-wrapper-overlay{ border-radius:8.5px !important; }
/* ---------- 640px and up ---------- */
@media (min-width:640px) {
  .pp-hero-inner{ padding:3rem 0 3.2rem; }
  .pp-lede{ font-size:1.08rem; }
  .pp .bp-hero img{ border-radius:var(--pp-r-lg); }
  .pp .bp-body{ font-size:1.07rem; line-height:1.85; }
  .pp .bp-body > * + *{ margin-top:1.15rem; }
  .pp .bp-share > span{ flex:0 0 auto; margin:0 .3rem 0 0; }
  .pp .bp-share a,.pp .bp-share button{ flex:0 0 auto; }
  .pp .bp-body ul,.pp .bp-body ol{ margin-left:.9rem; }
  .pp .bp-body blockquote{ font-size:1.1rem; padding:3.4rem 2rem 2.6rem; }
  .pp .bp-body blockquote::before{ left:2rem; right:2rem; }
  .pp .bp-main{ padding:0 1rem; }
  .pp .bp-nav{ grid-template-columns:1fr 1fr; gap:1rem; }
  .pp .bp-nav .is-next{ grid-column:2; align-items:flex-end; text-align:right; }
}
/* ---------- 768px and up: two-column TOC, real tables ---------- */
@media (min-width:768px) {
  .pp .toc-card{ padding:1.3rem 1.6rem 1.1rem; }
  .pp .toc-list{ column-count:2; column-gap:2.5rem; }
  .pp .bp-body .tbl-wrap{ overflow-x:auto; background:#fff; border:1px solid var(--hm-line); border-radius:var(--pp-r); -webkit-overflow-scrolling:touch; }
  .pp .bp-body table{ display:table; min-width:560px; border-collapse:collapse; }
  .pp .bp-body table thead{ position:static; display:table-header-group; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; }
  .pp .bp-body table tbody{ display:table-row-group; }
  .pp .bp-body table tr{ display:table-row; margin:0; overflow:visible; background:transparent; border:0; border-radius:0; box-shadow:none; }
  .pp .bp-body table th,.pp .bp-body table td{ display:table-cell; padding:1rem 1.25rem; border-bottom:0; }
  .pp .bp-body table [data-label]{ display:table-cell; }
  .pp .bp-body table [data-label]::before{ display:none; }
  .pp .bp-body table thead th{ font-size:.78rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#fff; background:var(--hm-blue); }
  .pp .bp-body table tbody tr:nth-child(odd){ background:#fff; color:var(--hm-ink); }
  .pp .bp-body table tbody tr:nth-child(even){ background:var(--hm-tint); color:var(--hm-blue-d); }
  .pp .bp-body table tbody th{ background:transparent; color:inherit; }
}
/* ---------- 961px and up: sidebar layout + diagonal image hero ---------- */
@media (min-width:961px) {
  .pp .bp-layout{ grid-template-columns:minmax(0,1fr) 340px; gap:3.5rem; padding:4rem 0 5rem; }
  .pp-hero-inner{ display:flex; align-items:center; min-height:25rem; padding:3.4rem 0; }
  .pp-hero-main{ width:50%; max-width:none; padding-right:2rem; }
  .pp-hero-bg::after{ display:none; }
  .pp-hero-img,.pp-hero-gold{ left:auto; right:0; clip-path:polygon(6rem 0,100% 0,100% 100%,0 100%); }
  .pp-hero-img{ inset:0 0 0 auto; width:50%; opacity:1; }
  .pp-hero-img::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,58,112,.72),rgba(0,58,112,.28) 60%,rgba(0,58,112,.4)); }
  .pp-hero-gold{ display:block; position:absolute; top:0; bottom:0; width:calc(50% + 9px); background:var(--hm-gold,#f0b429); }
}
/* ---------- Up to 960px: keep hero content off the screen edges ---------- */
@media (max-width:960px) {
  .pp-hero-inner{ padding-left:max(1.25rem,env(safe-area-inset-left)); padding-right:max(1.25rem,env(safe-area-inset-right)); }
}
/* ==========================================================================
   Blog / article components (.bp-*)
   ========================================================================== */
/* ---------- Shared ---------- */
.bl-tag{
  display:inline-flex; align-items:center; align-self:flex-start;
  padding:.2rem .65rem; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase;
  color:var(--hm-blue); background:var(--hm-tint); border-radius:7px;
}
a.bl-tag:hover{ background:var(--hm-blue); color:#fff; }
.bl-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:.2rem .9rem; font-size:.82rem; font-weight:700; color:var(--hm-muted); }
.bl-meta span{ display:inline-flex; align-items:center; gap:.4rem; }
.bl-meta i{ font-size:.8rem; color:var(--hm-blue); }
.bl-thumb{ display:block; position:relative; overflow:hidden; background:var(--hm-cream); }
.bl-thumb img{ width:100%; height:100%; object-fit:cover; }
/* ---------- Archive header ---------- */
.bl-search{ display:flex; gap:.5rem; }
.bl-search input{
  flex:1 1 auto; min-width:0; padding:.8rem 1rem; font:600 .95rem/1.3 var(--bc-font); color:var(--hm-ink);
  background:#fff; border:1.5px solid rgba(16,36,58,.16); border-radius:10px; -webkit-appearance:none; appearance:none;
}
.bl-search input::placeholder{ color:#8a98a8; }
.bl-search input:hover{ border-color:rgba(0,83,156,.4); }
.bl-search input:focus{ outline:0; border-color:var(--hm-blue); box-shadow:0 0 0 4px rgba(0,83,156,.14); }
.bl-search .hm-btn{ padding-left:1.1rem; padding-right:1.1rem; }
/* ---------- Category filter ---------- */
/* ---------- Featured (latest) post ---------- */
.bl-feature{
  display:grid; grid-template-columns:1.1fr 1fr; margin-bottom:1.2rem; overflow:hidden;
  background:#fff; border:1px solid var(--hm-line); border-radius:17px; box-shadow:var(--hm-shadow);
}
.bl-feature .bl-thumb{ min-height:340px; }
.bl-feature .bl-thumb img{ position:absolute; inset:0; }
.bl-feature-body{ display:flex; flex-direction:column; align-items:flex-start; gap:1rem; padding:2.4rem 2.2rem; }
.bl-feature h2{ font-size:clamp(1.5rem,2.4vw,2.05rem); line-height:1.2; font-weight:800; letter-spacing:-.015em; color:var(--hm-blue); }
.bl-feature h2 a:hover{ text-decoration:underline; text-underline-offset:4px; }
.bl-feature p{ color:var(--hm-muted); font-size:1.02rem; }
.bl-feature .hm-btn{ margin-top:auto; }
/* ---------- Post grid ---------- */
.bl-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.bl-card{
  display:flex; flex-direction:column; overflow:hidden;
  background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow);
  transition:border-color .15s,box-shadow .15s;
}
.bl-card:hover{ border-color:rgba(0,83,156,.35); box-shadow:0 1px 2px rgba(16,36,58,.04),0 18px 36px -18px rgba(0,83,156,.3); }
.bl-card .bl-thumb{ aspect-ratio:16/10; }
.bl-card-body{ display:flex; flex-direction:column; align-items:flex-start; gap:.7rem; flex:1 1 auto; padding:1.3rem 1.4rem 1.5rem; }
.bl-card h3{ font-size:1.12rem; line-height:1.3; font-weight:800; letter-spacing:-.005em; color:var(--hm-ink); }
.bl-card h3 a:hover{ color:var(--hm-blue); }
.bl-card p{ font-size:.92rem; color:var(--hm-muted); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.bl-card .hm-link{ margin-top:auto; padding-top:.2rem; }
.bl-card[hidden],.bl-feature[hidden]{ display:none; }
.bl-empty{ padding:2rem; text-align:center; color:var(--hm-muted); background:#fff; border:1px dashed var(--hm-dash); border-radius:var(--hm-r); }
.bl-empty[hidden]{ display:none; }
/* ---------- Pagination ---------- */
/* ==========================================================================
   Single post
   ========================================================================== */
.bp-head .bl-tag{ margin-bottom:.2rem; }
.bp-head .hm-h1{ font-size:clamp(1.9rem,3.4vw,2.8rem); }
.bp-head .pg-head-inner > :not(.pg-crumbs){ max-width:860px; }
.bp-byline{ display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.4rem; }
.bp-author-mini{ display:inline-flex; align-items:center; gap:.65rem; font-size:.9rem; font-weight:800; color:var(--hm-ink); }
.bp-avatar{
  flex:0 0 auto; width:38px; height:38px; display:inline-flex; align-items:center; justify-content:center;
  font-size:.8rem; font-weight:800; color:#fff; background:var(--hm-blue); border-radius:25%;
}
.bp-hero{ margin:2rem auto 0; }
.bp-hero figure{ margin:0; }
.bp-hero img{
  width:100%; aspect-ratio:16/8; object-fit:cover; border-radius:17px;
  border:1px solid var(--hm-line); background:var(--hm-cream); box-shadow:0 30px 60px -34px rgba(0,58,112,.45);
}
.bp-hero figcaption{ margin-top:.7rem; font-size:.86rem; color:var(--hm-muted); }
.bp-layout{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:3.5rem; align-items:start; padding:3rem 0 4.5rem; }
/* article body (the_content) */
.bp-body{ max-width:760px; font-size:1.07rem; line-height:1.85; color:#1d3248; }
.bp-body > * + *{ margin-top:1.15rem; }
.bp-body h2{ margin-top:2.6rem; font-size:clamp(1.45rem,2.4vw,1.85rem); line-height:1.25; font-weight:800; letter-spacing:-.01em; color:var(--hm-blue); scroll-margin-top:96px; }
.bp-body h3{ margin-top:2rem; font-size:1.25rem; line-height:1.3; font-weight:800; color:var(--hm-ink); scroll-margin-top:96px; }
.bp-body h2 + *,.bp-body h3 + *{ margin-top:.8rem; }
.bp-body p{ margin:0; }
.bp-body a{ color:var(--hm-blue); font-weight:700; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1.5px; }
.bp-body a:hover{ color:var(--hm-accent); }
.bp-body ul{ list-style:none; padding:0; display:grid; gap:.55rem; }
.bp-body ul li{ position:relative; padding-left:1.4rem; }
.bp-body ul li::before{ content:""; position:absolute; left:.1rem; top:.8em; width:7px; height:7px; border-radius:25%; background:var(--hm-accent); }
.bp-body ol{ list-style:decimal; padding-left:1.5rem; display:grid; gap:.55rem; }
.bp-body ol li::marker{ font-weight:800; color:var(--hm-blue); }
.bp-body strong{ font-weight:800; color:var(--hm-ink); }
.bp-body blockquote{
  margin-left:0; margin-right:0; padding:1.1rem 1.4rem; font-size:1.12rem; font-weight:700; color:var(--hm-blue);
  background:var(--hm-cream); border-left:4px solid var(--hm-accent); border-radius:0 13px 13px 0;
}
.bp-body figure{ margin-left:0; margin-right:0; }
.bp-body figure img{ width:100%; border-radius:13px; border:1px solid var(--hm-line); }
.bp-body figcaption{ margin-top:.6rem; font-size:.86rem; color:var(--hm-muted); }
.bp-body hr{ border:0; border-top:1px dashed var(--hm-dash); margin:2.4rem 0; }
.bp-table-wrap{ overflow-x:auto; border:1px solid var(--hm-line); border-radius:13px; background:#fff; }
/* tags + share + author */
.bp-foot{ max-width:760px; margin-top:2.8rem; padding-top:1.6rem; border-top:1px dashed var(--hm-dash); display:grid; gap:1.4rem; }
.bp-tags{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; font-size:.86rem; font-weight:800; color:var(--hm-muted); }
.bp-tags a{ padding:.25rem .7rem; font-size:.82rem; font-weight:700; color:var(--hm-ink); background:#fff; border:1px solid var(--hm-line); border-radius:7px; }
.bp-tags a:hover{ border-color:var(--hm-blue); color:var(--hm-blue); background:var(--hm-cream); }
.bp-share{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.bp-share > span{ margin-right:.3rem; font-size:.86rem; font-weight:800; color:var(--hm-muted); }
.bp-share a,.bp-share button{
  display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .9rem; font:800 .85rem/1.2 var(--bc-font); color:var(--hm-ink); cursor:pointer;
  background:#fff; border:1px solid var(--hm-line); border-radius:10px;
  transition:border-color .15s,color .15s,background-color .15s;
}
.bp-share a:hover,.bp-share button:hover{ border-color:var(--hm-blue); color:var(--hm-blue); background:var(--hm-cream); }
.bp-share i{ font-size:.85rem; }
.bp-share [data-copy-link].is-done{ background:var(--hm-blue); border-color:var(--hm-blue); color:#fff; }
/* previous / next */
.bp-nav{ max-width:760px; display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2.2rem; }
.bp-nav a{
  display:flex; flex-direction:column; gap:.3rem; padding:1.1rem 1.3rem;
  background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r);
  transition:border-color .15s,background-color .15s;
}
.bp-nav a:hover{ border-color:var(--hm-blue); background:var(--hm-cream); }
.bp-nav small{ font-size:.74rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--hm-muted); }
.bp-nav strong{ font-size:.97rem; line-height:1.35; font-weight:800; color:var(--hm-ink); }
.bp-nav .is-next{ text-align:right; }
/* sidebar */
.bp-aside{ position:sticky; top:96px; display:grid; gap:1rem; }
.bp-panel{ padding:1.5rem; background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow); }
.bp-panel h2{ margin-bottom:.9rem; font-size:.78rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:var(--hm-blue); }
.bp-toc{ display:grid; gap:.1rem; counter-reset:toc; }
.bp-toc a{
  position:relative; display:block; padding:.5rem .6rem .5rem 2.1rem; font-size:.92rem; font-weight:700; line-height:1.4; color:var(--hm-ink);
  border-radius:8px; counter-increment:toc; transition:background-color .15s,color .15s;
}
.bp-toc a::before{
  content:counter(toc); position:absolute; left:.45rem; top:.5rem; width:22px; height:22px; display:flex; align-items:center; justify-content:center;
  font-size:.72rem; font-weight:800; color:var(--hm-blue); background:var(--hm-tint); border-radius:25%;
}
.bp-toc a:hover{ background:var(--hm-cream); color:var(--hm-blue); }
.bp-panel--cta{ color:#fff; background:var(--hm-blue-d); border-color:transparent; }
.bp-panel--cta h2{ color:var(--hm-cream); }
.bp-panel--cta p{ margin-bottom:1.1rem; font-size:.95rem; color:rgba(255,255,255,.85); }
.bp-panel--cta .bp-cta-title{ margin-bottom:.4rem; font-size:1.2rem; font-weight:800; line-height:1.25; color:#fff; }
.bp-cta-btns{ display:grid; gap:.6rem; }
.bp-cta-btns .hm-btn{ width:100%; }
/* related posts */
/* ---------- Responsive ---------- */
@media (max-width:1100px) {
  .bl-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:960px) {
  .bl-feature{ grid-template-columns:1fr; }
  .bl-feature .bl-thumb{ min-height:0; aspect-ratio:16/9; }
  .bl-feature-body{ padding:1.6rem 1.4rem 1.8rem; }
  .bp-layout{ grid-template-columns:1fr; gap:2.2rem; padding:2.2rem 0 3.5rem; }
  .bp-aside{ position:static; }
  .bp-hero img{ aspect-ratio:16/9; }
}
@media (max-width:640px) {
  .bl-grid{ grid-template-columns:1fr; }
  .bp-hero img{ border-radius:14px; }
  .bp-body{ font-size:1.02rem; }
  .bp-nav{ grid-template-columns:1fr; }
  .bp-nav .is-next{ text-align:left; }
  .bl-search .hm-btn span{ display:none; }
}
/* ==========================================================================
   Floating call + WhatsApp pill, CMS pagination
   ========================================================================== */
.bc-float{
  position:fixed; z-index:1020;
  right:max(1rem,env(safe-area-inset-right));
  bottom:max(1rem,env(safe-area-inset-bottom));
  display:flex; align-items:stretch;
  height:var(--bc-float-h);
  background:#fff; border-radius:var(--bc-float-r); overflow:hidden;
  box-shadow:0 12px 26px -10px rgba(0,41,79,.6),0 2px 8px rgba(0,41,79,.22);
}
.bc-float-btn{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  height:100%; text-decoration:none; -webkit-tap-highlight-color:transparent;
  transition:background-color .15s,color .15s;
}
.bc-float-btn svg{ display:block; width:22px; height:22px; flex:0 0 auto; }
/* white half: phone handset (outline) */
.bc-float .bc-float-call{ width:64px; background:#fff; color:var(--bc-blue); }
.bc-float .bc-float-call:hover,
.bc-float .bc-float-call:focus-visible{ background:#eef4fa; color:var(--bc-blue-dark); }
/* green half: WhatsApp, left edge slanted like "/" */
.bc-float .bc-float-wa{
  width:calc(66px + var(--bc-float-slant));
  margin-left:calc(var(--bc-float-slant) * -1);
  padding-left:var(--bc-float-slant);
  background:var(--bc-wa); color:#fff;
  -webkit-clip-path:polygon(var(--bc-float-slant) 0,100% 0,100% 100%,0 100%);
          clip-path:polygon(var(--bc-float-slant) 0,100% 0,100% 100%,0 100%);
}
.bc-float .bc-float-wa:hover,
.bc-float .bc-float-wa:focus-visible{ background:var(--bc-wa-dark); color:#fff; }
.bc-float .bc-float-wa svg{ width:24px; height:24px; }
.bc-float .bc-float-call:focus-visible{ outline:3px solid var(--bc-blue); outline-offset:-4px; border-radius:var(--bc-float-r); }
.bc-float .bc-float-wa:focus-visible{ outline:3px solid #fff; outline-offset:-5px; }
/* keep the footer's last line clear of the pill */
@media (max-width:767.98px) {
  .bc-float{ right:auto; left:50%; transform:translateX(-50%); }
}
@media print {
  .bc-float{ display:none; }
}
/*
    Paginator -
    Source: http://www.strangerstudios.com/sandbox/pagination/diggstyle.php (strangerstudios.com)
*/
div.pagination {
    padding: 3px;
    margin: 3px;
}
div.pagination a {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #AAAADD;
    zoom: 100%;
    text-decoration: none; /* no underline */
    color: #000099;
}
div.pagination a:hover, div.pagination a:active {
    border: 1px solid #000099;

    color: #000;
}
div.pagination span.page_current {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #000099;

    * zoom: 100%;

    font-weight: bold;
    background-color: #000099;
    color: #FFF;
}
div.pagination span.page_disabled {
    padding: 2px 5px 2px 5px;
    margin: 2px;
    border: 1px solid #EEE;

    * zoom: 100%;

    color: #DDD;
}
* span.elipsis {zoom:100%}
/* ==========================================================================
   Facility / service-list components (.fc-*)
   ========================================================================== */
.fc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ---------- Page header ---------- */
.fc-head{
  position:relative;isolation:isolate;overflow:hidden;
  padding:20px 0 40px;
}
.fc-head-inner{position:relative;z-index:2}
.fc-head-bg{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:#e6e2d9 url("../../dash/uploads/image/westlands-facility-management-company.jpg") center/cover no-repeat;
}
.fc-head-bg::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(238,235,227,.95) 0%,rgba(238,235,227,.88) 50%,rgba(232,228,219,.74) 100%);
}
.fc-head-bg::after{
  content:"";position:absolute;inset:0;opacity:.5;
  background:repeating-linear-gradient(135deg,rgba(0,83,156,.035) 0 1px,transparent 1px 46px);
}
.fc-head-bg span{position:absolute;display:block;z-index:1}
.fc-head-bg .s1{
  width:320px;height:320px;border-radius:50%;right:-120px;top:-120px;
  background:radial-gradient(circle at 35% 35%,rgba(0,83,156,.16),rgba(0,83,156,.02) 70%);
  border:1px solid rgba(0,83,156,.12);
}
.fc-head-bg .s2{
  width:200px;height:200px;border-radius:44px;left:-70px;bottom:-80px;transform:rotate(24deg);
  background:linear-gradient(145deg,rgba(255,255,255,.55),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.7);
}
/* ---------- Breadcrumbs ---------- */
.fc-crumbs{margin:0 0 18px;font-size:.85rem;line-height:1.4}
.fc-crumbs ol{
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;
  list-style:none;margin:0;padding:0;
}
.fc-crumbs li{display:inline-flex;align-items:center;color:#40536a}
.fc-crumbs li+li::before{
  content:"›";margin:0 8px;color:rgba(16,37,61,.45);font-size:1.05em;
}
.fc-crumbs a{color:#00539C;text-decoration:none;font-weight:600}
.fc-crumbs a:hover,.fc-crumbs a:focus-visible{text-decoration:underline}
.fc-crumbs [aria-current="page"]{color:#10253d;font-weight:600}
/* ---------- Search + count ---------- */
.fc-tools{
  display:flex;flex-direction:column;gap:10px;
  margin:28px 0 20px;
}
.fc-search{
  position:relative;display:block;
}
.fc-search i{
  position:absolute;left:16px;top:50%;transform:translateY(-50%);
  color:#00539C;font-size:15px;pointer-events:none;
}
.fc-search input{
  width:100%;box-sizing:border-box;
  padding:14px 16px 14px 44px;
  font:inherit;font-size:1rem;color:#10253d;
  background:#fff;border:1px solid rgba(16,37,61,.16);border-radius:14px;
  box-shadow:0 4px 14px rgba(18,52,92,.06);
  -webkit-appearance:none;appearance:none;
}
.fc-search input::placeholder{color:#7a8aa0}
.fc-search input:focus{outline:2px solid #00539C;outline-offset:2px;border-color:transparent}
.fc-count{margin:0;font-size:.88rem;color:#40536a}
/* ---------- Listing grid ---------- */
.fc-grid{
  display:grid;gap:14px;
  grid-template-columns:1fr;
}
.fc-card[hidden]{display:none}
.fc-card{display:flex;flex-direction:column;gap:10px;height:100%}
.fc-card-title{margin:6px 0 0;font-size:1.05rem;line-height:1.3;color:#10253d}
.fc-card p{margin:0;font-size:.92rem;line-height:1.55;color:#40536a}
.fc-card .hm-link{margin-top:auto;padding-top:6px}
/* ---------- Pager ---------- */
.fc-pager{
  grid-column:1/-1;
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  margin-top:10px;
}
.fc-pager-info{font-size:.9rem;color:#40536a;order:-1;width:100%;text-align:center}
/* ---------- Empty states ---------- */
.fc-empty{
  margin:20px 0 0;padding:18px 20px;text-align:center;
  border:1px dashed rgba(16,37,61,.25);border-radius:16px;color:#40536a;
  background:rgba(255,255,255,.6);
}
.fc-empty[hidden]{display:none}
.fc-empty a{color:#00539C;font-weight:600}
/* ---------- Coverage + FAQ wrappers ---------- */
.fc-cov{display:block}
.fc-cov .hm-chips{margin:16px 0 20px}
.fc-cov .hm-aud-cta{display:flex;flex-wrap:wrap;gap:10px}
.fc-faq{max-width:820px;margin:0 auto}
/* ---------- Tablet ---------- */
@media (min-width:640px) {
  .fc-head{padding:28px 0 56px}
  .fc-head-bg .s1{width:420px;height:420px;right:-120px;top:-150px}
  .fc-head-bg .s2{width:260px;height:260px}
  .fc-tools{flex-direction:row;align-items:center;justify-content:space-between}
  .fc-search{flex:1 1 420px;max-width:520px}
  .fc-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .fc-pager{justify-content:center;gap:18px}
  .fc-pager-info{order:0;width:auto}
}
/* ---------- Desktop ---------- */
@media (min-width:1024px) {
  .fc-head{padding:36px 0 72px}
  .fc-head-inner{max-width:880px}
  .fc-grid{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion:reduce) {
  .fc-search input{transition:none}
}

/* ==========================================================================
   Utilities (replace the former inline style="" attributes)
   ========================================================================== */
.hm-eyebrow.hm-eyebrow--start{ justify-self:start; }
.hm-eyebrow.hm-eyebrow--flush{ justify-self:start; margin:0; }
.hm-h2.hm-h2--list{ margin:0 0 1.25rem; }
.hm-intro.hm-intro--spaced{ margin-bottom:2rem; }
.hm-faq-list.hm-faq-list--narrow{ max-width:820px; margin:0 auto; }
.hm-sec.ct-sec--lead{ padding:3rem 0 0; }
.hm-sec.ct-sec--form{ padding:2rem 0 5rem; }
.hm-sec.ct-sec--map{ padding:4rem 0; }
.ct-steps.ct-steps--plain{ list-style:none; margin:0; padding:0; }
a.ct-tel{ color:var(--hm-blue); font-weight:800; }
.bl-tag.bl-tag--start{ justify-self:start; }
.dir-dots{ display:flex; justify-content:center; align-items:center; gap:14px; margin:2em 0; }
.dir-dots span{ display:block; width:18px; height:18px; border-radius:50%; background:#ff7a00; }

/* ==========================================================================
   Page: 404
   ========================================================================== */
.nf-hero { padding:24px 0 36px;text-align:center }
.nf-code { display:block;font-size:clamp(5rem,28vw,10rem);line-height:1;font-weight:800;letter-spacing:-.04em;margin:8px 0 4px }
.nf-hero .hm-h1 { margin:0 auto 12px;max-width:20ch }
.nf-hero .hm-hero-lead { margin:0 auto;max-width:52ch }
.nf-search { display:flex;flex-direction:column;gap:10px;max-width:520px;margin:24px auto 0 }
.nf-search input[type="search"] { width:100%;min-height:48px;padding:12px 16px;font:inherit;border:1px solid rgba(0,0,0,.2);border-radius:10px;background:#fff;color:inherit }
.nf-search input[type="search"]:focus-visible { outline:3px solid #29a8e0;outline-offset:2px }
.nf-search .hm-btn { width:100%;justify-content:center }
.nf-cta { display:flex;flex-direction:column;gap:10px;margin:20px auto 0;max-width:520px }
.nf-cta .hm-btn { width:100%;justify-content:center }
.nf-links { display:grid;grid-template-columns:1fr;gap:12px }
.nf-links .hm-svc a.nf-card { display:flex;align-items:center;gap:14px;min-height:64px;text-decoration:none;color:inherit }
.nf-links .hm-svc h3 { margin:0;font-size:1.0625rem;line-height:1.25 }
.nf-links .hm-svc small { display:block;margin-top:2px;opacity:.75;font-size:.8125rem;line-height:1.4 }
@media (min-width:640px) {
  .nf-hero { padding:40px 0 48px }
  .nf-search { flex-direction:row }
  .nf-search .hm-btn { width:auto }
  .nf-cta { flex-direction:row;justify-content:center;max-width:none }
  .nf-cta .hm-btn { width:auto }
  .nf-links { grid-template-columns:repeat(2,1fr);gap:16px }
}
@media (min-width:1024px) {
  .nf-hero { padding:56px 0 64px }
  .nf-links { grid-template-columns:repeat(3,1fr);gap:20px }
}

/* ==========================================================================
   Page: Blog index
   ========================================================================== */
/* ---------- Hero: image background with dark overlay ---------- */
.ba-head {
  position:relative;isolation:isolate;overflow:hidden;
    display:flex;align-items:flex-end;
    min-height:440px;padding:20px 0 32px;
    color:#fff;
    background:#06284a url("../../dash/uploads/image/facility-management/professional-cleaning-nairobi-kenya-service-facility.jpg") center/cover no-repeat;
}
.ba-head::before {
  content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(180deg,rgba(3,28,52,.70) 0%,rgba(3,28,52,.78) 45%,rgba(3,28,52,.92) 100%);
}
.ba-head .hm-wrap { width:100% }
.ba-head .hm-h1 { margin:12px 0 12px;color:#fff;overflow-wrap:anywhere;text-shadow:0 2px 14px rgba(0,0,0,.35) }
.ba-head .hm-grad { background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:#ffd24a;font-style:normal }
.ba-head .hm-badge { background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35) }
.ba-lead { max-width:62ch;margin:0;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.92) }
.ba-head .hm-btn--ghost { color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.55) }
.ba-head .hm-btn--ghost:hover,.ba-head .hm-btn--ghost:focus-visible { background:rgba(255,255,255,.22) }
/* ---------- Breadcrumbs (on overlay) ---------- */
.ba-crumbs { padding:6px 0 0;font-size:.8125rem;line-height:1.4;color:#fff }
.ba-crumbs ol { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px }
.ba-crumbs li { display:inline-flex;align-items:center;gap:8px;min-width:0 }
.ba-crumbs li+li::before { content:"\203A";opacity:.65 }
.ba-crumbs a { text-decoration:none;color:inherit;opacity:.85;padding:6px 0;min-height:32px;display:inline-flex;align-items:center }
.ba-crumbs a:hover,.ba-crumbs a:focus-visible { opacity:1;text-decoration:underline }
.ba-crumbs [aria-current="page"] { font-weight:600;overflow-wrap:anywhere }
/* ---------- Search (in hero) ---------- */
.ba-search { display:flex;gap:8px;margin-top:22px;max-width:520px }
.ba-search input { flex:1;min-width:0;min-height:48px;padding:0 14px;font:inherit;font-size:1rem;color:#111;background:#fff;border:0;border-radius:10px }
.ba-search input:focus-visible { outline:3px solid #29a8e0;outline-offset:2px }
.ba-search .hm-btn { flex:0 0 auto;min-height:48px;min-width:48px;justify-content:center }
.ba-search .hm-btn span { display:none }
.ba-sr { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0 }
/* ---------- Topic chips (real folder links; hidden if there are none) ---------- */
.ba-topics { display:flex;gap:8px;margin:0 -16px 20px;padding:2px 16px 8px;overflow-x:auto;scrollbar-width:thin }
.ba-topics:not(:has(a[data-f])) { display:none }
.ba-chip { flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid rgba(0,0,0,.2);border-radius:999px;background:#fff;color:inherit;font-size:.9375rem;font-weight:600;text-decoration:none;white-space:nowrap }
.ba-chip:hover { border-color:#00539C;color:#00539C }
.ba-chip:focus-visible { outline:3px solid #29a8e0;outline-offset:2px }
.ba-chip[aria-current="page"] { background:#00539C;border-color:#00539C;color:#fff }
/* ---------- Featured post ---------- */
.ba-feature { display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:14px }
.ba-thumb { display:block;aspect-ratio:16/10;overflow:hidden;background:#dfe8f1 }
.ba-thumb img { display:block;width:100%;height:100%;object-fit:cover }
.ba-feature-body { display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px }
.ba-feature-body h2 { margin:0;font-size:1.375rem;line-height:1.25;overflow-wrap:anywhere }
.ba-feature-body h2 a { color:inherit;text-decoration:none }
.ba-feature-body h2 a:hover { text-decoration:underline }
.ba-feature-body p { margin:0;line-height:1.65 }
.ba-feature-body .hm-btn { width:100%;justify-content:center;margin-top:4px }
/* ---------- Cards ---------- */
.ba-tag { display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(0,83,156,.10);color:#00539C;font-size:.8125rem;font-weight:700;text-decoration:none }
.ba-tag:hover { background:rgba(0,83,156,.18) }
.ba-grid { display:grid;grid-template-columns:1fr;gap:16px;margin-top:20px }
.ba-card { display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px }
.ba-card h3 { margin:0;font-size:1.125rem;line-height:1.3;overflow-wrap:anywhere }
.ba-card h3 a { color:inherit;text-decoration:none }
.ba-card h3 a:hover { text-decoration:underline }
.ba-card p { margin:0;line-height:1.6;font-size:.9375rem }
.ba-meta { display:flex;align-items:center;gap:6px;font-size:.8125rem;opacity:.8 }
.ba-read { margin-top:auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;color:#00539C;text-decoration:none }
.ba-read:hover { text-decoration:underline }
.ba-pager { margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px }
.ba-pager a,.ba-pager span { min-width:44px;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:#fff;text-decoration:none;color:inherit }
/* ---------- Topics we write about ---------- */
.ba-cov-head { display:grid;gap:12px;max-width:62ch;margin-bottom:24px }
.ba-cov-head p,.ba-cov-head h2 { margin:0 }
.ba-cov-grid { display:grid;grid-template-columns:1fr;gap:16px }
.ba-cov { display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:14px;transition:border-color .2s,transform .2s }
.ba-cov:hover { border-color:#00539C;transform:translateY(-2px) }
.ba-cov-ico { display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:rgba(0,83,156,.10);color:#00539C;font-size:1.5rem;line-height:1 }
.ba-cov h3 { margin:0;font-size:1.125rem;line-height:1.3 }
.ba-cov p { margin:0;font-size:.9375rem;line-height:1.6 }
@media (prefers-reduced-motion:reduce) {
  .ba-cov { transition:none }
  .ba-cov:hover { transform:none }
}
@media (min-width:640px) {
  .ba-head { min-height:480px }
  .ba-search .hm-btn span { display:inline }
  .ba-topics { margin:0 0 20px;padding:2px 0 8px;flex-wrap:wrap;overflow:visible }
  .ba-grid { grid-template-columns:repeat(2,1fr);gap:18px }
  .ba-cov-grid { grid-template-columns:repeat(2,1fr);gap:18px }
  .ba-feature-body .hm-btn { width:auto }
}
@media (min-width:768px) {
  .ba-feature { flex-direction:row }
  .ba-thumb { flex:0 0 46%;aspect-ratio:auto;min-height:320px }
  .ba-feature-body { flex:1;justify-content:center;padding:28px }
  .ba-feature-body h2 { font-size:1.75rem }
}
@media (min-width:1024px) {
  .ba-head { min-height:540px;padding:28px 0 56px }
  .ba-lead { font-size:1.0625rem }
  .ba-grid { grid-template-columns:repeat(3,1fr);gap:22px }
  .ba-cov-grid { grid-template-columns:repeat(3,1fr);gap:22px }
}

/* ==========================================================================
   Page: Book
   ========================================================================== */
@media (prefers-reduced-motion:no-preference) {
  html:where(:has(body.page-book)) { scroll-behavior:smooth }
}
/* ---------- Hero: image background with dark overlay ---------- */
.bk-head {
  position:relative;isolation:isolate;overflow:hidden;
    display:flex;align-items:flex-end;
    min-height:420px;padding:20px 0 36px;
    color:#fff;
    background:#06284a url("../../dash/uploads/image/bestcare-facilities-management-services-nairobi-kenya.jpg") center/cover no-repeat;
}
.bk-head::before {
  content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(180deg,rgba(3,28,52,.70) 0%,rgba(3,28,52,.78) 45%,rgba(3,28,52,.92) 100%);
}
.bk-head .hm-wrap { width:100% }
.bk-head .hm-h1 { margin:12px 0 12px;color:#fff;text-transform:capitalize;overflow-wrap:anywhere;text-shadow:0 2px 14px rgba(0,0,0,.35) }
.bk-head .hm-badge { background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35) }
.bk-lede { max-width:60ch;margin:0;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.92) }
.bk-lede a { color:#ffd24a;font-weight:700 }
.bk-head .hm-hero-cta { display:flex;flex-direction:column;gap:10px;margin-top:22px }
.bk-head .hm-hero-cta .hm-btn { width:100%;justify-content:center }
.bk-head .hm-btn--ghost { color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.55) }
.bk-head .hm-btn--ghost:hover,.bk-head .hm-btn--ghost:focus-visible { background:rgba(255,255,255,.22) }
/* ---------- Breadcrumbs (on overlay) ---------- */
.bk-crumbs { padding:6px 0 0;font-size:.8125rem;line-height:1.4;color:#fff }
.bk-crumbs ol { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px }
.bk-crumbs li { display:inline-flex;align-items:center;gap:8px;min-width:0 }
.bk-crumbs li+li::before { content:"\203A";opacity:.65 }
.bk-crumbs a { text-decoration:none;color:inherit;opacity:.85;padding:6px 0;min-height:32px;display:inline-flex;align-items:center }
.bk-crumbs a:hover,.bk-crumbs a:focus-visible { opacity:1;text-decoration:underline }
.bk-crumbs li>span[property="name"] { font-weight:600;overflow-wrap:anywhere }
/* ---------- Body: TOC first on mobile, side column on desktop ---------- */
.bk-body { display:grid;grid-template-columns:1fr;gap:16px }
.bk-main,.bk-tocwrap { min-width:0 }
:where(.page-book) [data-toc] { scroll-margin-top:96px }
/* ---------- Dynamic table of contents ---------- */
.bk-toc { background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px }
.bk-toc[hidden] { display:none }
.bk-toc summary { list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;font-weight:700;font-size:1rem }
.bk-toc summary::-webkit-details-marker { display:none }
.bk-toc summary::after { content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s }
.bk-toc[open] summary::after { transform:rotate(-135deg) }
.bk-toc summary:focus-visible,.bk-toc a:focus-visible { outline:3px solid #29a8e0;outline-offset:2px }
.bk-toc ol { list-style:none;margin:0;padding:0 8px 10px }
.bk-toc li a { display:block;padding:10px 12px;min-height:44px;border-left:3px solid transparent;border-radius:0 8px 8px 0;color:inherit;text-decoration:none;font-size:.9375rem;line-height:1.35 }
.bk-toc li a:hover { background:rgba(0,83,156,.06) }
.bk-toc li a[aria-current="location"] { border-left-color:#00539C;background:rgba(0,83,156,.08);color:#00539C;font-weight:700 }
/* ---------- Article ---------- */
.bk-figure { margin:0 0 16px }
.bk-figure img { display:block;width:100%;height:auto;border-radius:12px }
.bk-sec { margin:0 0 28px }
.bk-sec:last-child { margin-bottom:0 }
.bk-sec h2 { margin:0 0 10px;font-size:1.375rem;line-height:1.25;overflow-wrap:anywhere }
.bk-sec p { margin:0 0 14px;line-height:1.7 }
.bk-chips { display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none }
.bk-chips a { display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;font-weight:700;text-decoration:none;color:#fff;background:#00539C;overflow-wrap:anywhere }
.bk-chips li:last-child a { background:#1b7f4b }
/* ---------- Why choose us list ---------- */
.bk-why { list-style:none;margin:0;padding:0;color:#00539C }
.bk-why li { display:flex;align-items:flex-start;gap:14px;padding:14px 0 }
.bk-why li:first-child { padding-top:4px }
.bk-why li:last-child { padding-bottom:0 }
.bk-why li+li { border-top:1px dashed rgba(0,0,0,.25) }
.bk-why svg { flex:0 0 32px;width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round }
.bk-why div { color:#222;min-width:0 }
.bk-why strong { display:block;font-size:.9375rem;line-height:1.3;margin-bottom:2px }
.bk-why span { display:block;font-size:.875rem;line-height:1.5;opacity:.85 }
/* ---------- Booking form ---------- */
.bk-form { display:grid;gap:14px }
.bk-form label { display:block;margin:0 0 4px;font-size:.875rem;font-weight:600 }
.bk-form input,.bk-form textarea { width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:1rem;color:inherit;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:10px }
.bk-form textarea { min-height:130px;resize:vertical }
.bk-form input:focus-visible,.bk-form textarea:focus-visible { outline:3px solid #29a8e0;outline-offset:2px }
.bk-form .hm-btn { width:100%;justify-content:center }
/* ---------- More services grid: 1 -> 2 -> 3 columns ---------- */
.bk-more .hm-cards { display:grid;grid-template-columns:1fr;gap:14px }
.bk-more .hm-svc { height:100%;display:flex;flex-direction:column }
.bk-more .hm-svc h3 { margin:8px 0 6px;font-size:1.0625rem;line-height:1.3;overflow-wrap:anywhere }
.bk-more .hm-svc h3 a { text-decoration:none;color:inherit }
.bk-more .hm-svc p { margin:0 0 12px }
.bk-more .bk-all { margin-top:20px;display:flex }
.bk-more .bk-all .hm-btn { width:100%;justify-content:center }
@media (min-width:640px) {
  .bk-head { min-height:460px }
  .bk-head .hm-hero-cta { flex-direction:row;flex-wrap:wrap }
  .bk-head .hm-hero-cta .hm-btn { width:auto }
  .bk-form .hm-btn { width:auto;justify-self:start }
  .bk-more .hm-cards { grid-template-columns:repeat(2,1fr);gap:18px }
  .bk-more .bk-all .hm-btn { width:auto }
}
@media (min-width:1024px) {
  .bk-head { min-height:520px;padding:28px 0 56px }
  .bk-lede { font-size:1.0625rem }
  .bk-body { grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:28px;align-items:stretch }
  .bk-main { grid-column:1;grid-row:1 }
  .bk-tocwrap { grid-column:2;grid-row:1 }
  .bk-toc { position:sticky;top:96px }
  .bk-toc summary { cursor:default;pointer-events:none }
  .bk-toc summary::after { display:none }
  .bk-more .hm-cards { grid-template-columns:repeat(3,1fr);gap:22px }
}

/* ==========================================================================
   Page: Listing
   ========================================================================== */
/* ---------- Hero: image background with dark overlay ---------- */
.ls-head {
  position:relative;isolation:isolate;overflow:hidden;
    display:flex;align-items:flex-end;
    min-height:440px;padding:20px 0 32px;
    color:#fff;
    background:#06284a url("../../dash/uploads/image/facility-management/professional-cleaning-nairobi-kenya-service-facility.jpg") center/cover no-repeat;
}
.ls-head::before {
  content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(180deg,rgba(3,28,52,.70) 0%,rgba(3,28,52,.78) 45%,rgba(3,28,52,.92) 100%);
}
.ls-head .hm-wrap { width:100% }
.ls-head .hm-h1 { margin:12px 0 12px;color:#fff;overflow-wrap:anywhere;text-shadow:0 2px 14px rgba(0,0,0,.35) }
.ls-head .hm-grad { background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:#ffd24a;font-style:normal }
.ls-lead { max-width:62ch;margin:0;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.92) }
.ls-cta { display:flex;flex-direction:column;gap:10px;margin-top:22px }
.ls-cta .hm-btn { width:100%;justify-content:center }
.ls-head .hm-btn--ghost { color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.55) }
.ls-head .hm-btn--ghost:hover,.ls-head .hm-btn--ghost:focus-visible { background:rgba(255,255,255,.22) }
.ls-trust { list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.875rem;color:rgba(255,255,255,.9) }
.ls-trust li::before { content:"\2713";margin-right:6px;color:#ffd24a;font-weight:700 }
/* ---------- Breadcrumbs (on overlay) ---------- */
.ls-crumbs { padding:6px 0 0;font-size:.8125rem;line-height:1.4;color:#fff }
.ls-crumbs ol { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px }
.ls-crumbs li { display:inline-flex;align-items:center;gap:8px;min-width:0 }
.ls-crumbs li+li::before { content:"\203A";opacity:.65 }
.ls-crumbs a { text-decoration:none;color:inherit;opacity:.85;padding:6px 0;min-height:32px;display:inline-flex;align-items:center }
.ls-crumbs a:hover,.ls-crumbs a:focus-visible { opacity:1;text-decoration:underline }
.ls-crumbs [aria-current="page"] { font-weight:600;overflow-wrap:anywhere }
/* ---------- Services list cards ---------- */
.ls-intro { display:grid;gap:12px;max-width:62ch;margin-bottom:24px }
.ls-intro h2,.ls-intro p { margin:0 }
.ls-grid { display:grid;grid-template-columns:1fr;gap:16px }
.ls-card { display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:14px;transition:border-color .2s,transform .2s }
.ls-card:hover { border-color:#00539C;transform:translateY(-2px) }
.ls-ico { display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:rgba(0,83,156,.10);color:#00539C;font-size:1.5rem;line-height:1 }
.ls-card h3 { margin:0;font-size:1.125rem;line-height:1.3;overflow-wrap:anywhere }
.ls-card h3 a { color:inherit;text-decoration:none }
.ls-card h3 a:hover { text-decoration:underline }
.ls-card p { margin:0;font-size:.9375rem;line-height:1.6 }
.ls-read { margin-top:auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:700;color:#00539C;text-decoration:none }
.ls-read:hover { text-decoration:underline }
.ls-pager { margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px }
.ls-pager a,.ls-pager span { min-width:44px;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:#fff;text-decoration:none;color:inherit }
/* ---------- Hard / Soft FM panels ---------- */
.ls-fm { display:grid;grid-template-columns:1fr;gap:16px }
.ls-panel { padding:22px;border-radius:14px;background:#00539C;color:#fff }
.ls-panel h3 { margin:0 0 10px;font-size:1.25rem;line-height:1.3;color:#fff }
.ls-panel p { margin:0;line-height:1.7;font-size:.9375rem;color:rgba(255,255,255,.92) }
.ls-panel--alt { background:#06284a }
/* ---------- Highlight cards, coverage + services ---------- */
.ls-mini { display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px }
.ls-info { display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px }
.ls-box { display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:14px }
.ls-box h3 { margin:0;font-size:1.125rem;line-height:1.3 }
.ls-box p { margin:0;font-size:.9375rem;line-height:1.65 }
.ls-box a:not(.ls-read) { color:#00539C;font-weight:700 }
@media (prefers-reduced-motion:reduce) {
  .ls-card { transition:none }
  .ls-card:hover { transform:none }
}
@media (min-width:640px) {
  .ls-head { min-height:480px }
  .ls-cta { flex-direction:row;flex-wrap:wrap }
  .ls-cta .hm-btn { width:auto }
  .ls-grid { grid-template-columns:repeat(2,1fr);gap:18px }
  .ls-mini { grid-template-columns:repeat(2,1fr);gap:18px }
  .ls-info { grid-template-columns:repeat(2,1fr);gap:18px }
}
@media (min-width:768px) {
  .ls-fm { grid-template-columns:1.4fr 1fr;gap:18px }
  .ls-panel { padding:28px }
}
@media (min-width:1024px) {
  .ls-head { min-height:540px;padding:28px 0 56px }
  .ls-lead { font-size:1.0625rem }
  .ls-grid { grid-template-columns:repeat(3,1fr);gap:22px }
  .ls-mini { grid-template-columns:repeat(3,1fr);gap:22px }
  .ls-info { gap:22px }
}

/* ==========================================================================
   Page: Coverage
   ========================================================================== */
/* ---------- Breadcrumbs ---------- */
:where(.page-coverage) .sv-crumbs { padding:14px 0 0;font-size:.8125rem;line-height:1.4 }
.sv-crumbs ol { list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px }
.sv-crumbs li { display:inline-flex;align-items:center;gap:8px;min-width:0 }
:where(.page-coverage) .sv-crumbs li+li::before { content:"\203A";opacity:.55 }
:where(.page-coverage) .sv-crumbs a { text-decoration:none;color:inherit;opacity:.8;padding:6px 0;min-height:32px;display:inline-flex;align-items:center }
.sv-crumbs a:hover,.sv-crumbs a:focus-visible { opacity:1;text-decoration:underline }
:where(.page-coverage) .sv-crumbs [aria-current="page"] { font-weight:600;opacity:1 }
/* ---------- Page head ---------- */
:where(.page-coverage) .sv-head { padding:20px 0 28px }
:where(.page-coverage) .sv-head .hm-h1 { margin:8px 0 12px }
.sv-head .hm-hero-lead { max-width:62ch }
.sv-head .hm-checks { margin-top:16px }
:where(.page-coverage) .sv-head .hm-hero-cta { display:flex;flex-direction:column;gap:10px;margin-top:20px }
.sv-head .hm-hero-cta .hm-btn { width:100%;justify-content:center }
/* ---------- Location grid: 1 -> 2 -> 3 columns ---------- */
:where(.page-coverage) .sv-list .hm-cards { display:grid;grid-template-columns:1fr;gap:12px }
.sv-loc { display:flex;align-items:center;gap:14px;min-height:76px;height:100%;text-decoration:none;color:inherit }
.sv-loc img { width:40px;height:40px;flex:none;object-fit:contain }
.sv-loc h3 { margin:0;font-size:1.0625rem;line-height:1.25 }
.sv-loc small { display:block;margin-top:2px;font-size:.8125rem;line-height:1.4;opacity:.75 }
/* ---------- Pagination ---------- */
.sv-pager { margin-top:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px }
.sv-pager a,.sv-pager span { min-width:44px;min-height:44px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.15);border-radius:10px;text-decoration:none;color:inherit }
/* ---------- Info cards ---------- */
.sv-info { display:grid;grid-template-columns:1fr;gap:14px }
@media (min-width:640px) {
  :where(.page-coverage) .sv-head .hm-hero-cta { flex-direction:row;flex-wrap:wrap }
  .sv-head .hm-hero-cta .hm-btn { width:auto }
  :where(.page-coverage) .sv-list .hm-cards { grid-template-columns:repeat(2,1fr);gap:16px }
  .sv-info { grid-template-columns:repeat(2,1fr) }
}
@media (min-width:1024px) {
  :where(.page-coverage) .sv-head { padding:28px 0 40px }
  :where(.page-coverage) .sv-list .hm-cards { grid-template-columns:repeat(3,1fr);gap:20px }
}

/* ==========================================================================
   Page: Services
   ========================================================================== */
/* ---------- Breadcrumbs: mobile first ---------- */
:where(.page-services) .sv-crumbs { padding:14px 0 0;font-size:.8125rem;line-height:1.4 }
:where(.page-services) .sv-crumbs li+li::before { content:"\203A";opacity:.55 }
:where(.page-services) .sv-crumbs a { text-decoration:none;color:inherit;opacity:.8;padding:6px 0;min-height:32px;display:inline-flex;align-items:center }
:where(.page-services) .sv-crumbs [aria-current="page"] { font-weight:600;opacity:1 }
/* ---------- Page head ---------- */
:where(.page-services) .sv-head { padding:20px 0 28px }
:where(.page-services) .sv-head .hm-h1 { margin:8px 0 12px }
:where(.page-services) .sv-head .hm-hero-cta { display:flex;flex-direction:column;gap:10px;margin-top:20px }
/* ---------- Listing grid: 1 col -> 2 col -> 3 col ---------- */
:where(.page-services) .sv-list .hm-cards { display:grid;grid-template-columns:1fr;gap:14px }
:where(.page-services) .sv-list .hm-svc { height:100% }
.sv-list .hm-svc a.sv-card { display:block;text-decoration:none;color:inherit;height:100% }
:where(.page-services) .sv-list .hm-svc img { width:40px;height:40px;object-fit:contain;display:block;margin-bottom:10px }
:where(.page-services) .sv-list .hm-svc h3 { margin:0 0 6px;font-size:1.0625rem }
:where(.page-services) .sv-list .hm-svc p { margin:0 0 10px }
.sv-pager .current,.sv-pager span.current { font-weight:700 }
/* ---------- Tablet ---------- */
@media (min-width:640px) {
  :where(.page-services) .sv-head .hm-hero-cta { flex-direction:row;flex-wrap:wrap }
  :where(.page-services) .sv-list .hm-cards { grid-template-columns:repeat(2,1fr);gap:18px }
}
/* ---------- Desktop ---------- */
@media (min-width:1024px) {
  :where(.page-services) .sv-head { padding:28px 0 40px }
  :where(.page-services) .sv-list .hm-cards { grid-template-columns:repeat(3,1fr);gap:22px }
}

/* ==========================================================================
   Page: Folder (service area / category)
   ========================================================================== */
/* ---------- Hero: image background with dark overlay ---------- */
:where(.page-folder) .sv-head {
  position:relative;isolation:isolate;overflow:hidden;
    display:flex;align-items:flex-end;
    min-height:420px;padding:20px 0 36px;
    color:#fff;
    background:#06284a url("../../dash/uploads/image/bestcare-facilities-management-services-nairobi-kenya.jpg") center/cover no-repeat;
}
:where(.page-folder) .sv-head::before {
  content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(180deg,rgba(3,28,52,.70) 0%,rgba(3,28,52,.78) 45%,rgba(3,28,52,.92) 100%);
}
:where(.page-folder) .sv-head .hm-wrap { width:100% }
:where(.page-folder) .sv-head .hm-h1 { margin:12px 0 12px;color:#fff;overflow-wrap:anywhere;text-shadow:0 2px 14px rgba(0,0,0,.35) }
:where(.page-folder) .sv-head .hm-grad { background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:currentColor;color:#ffd24a;font-style:normal }
:where(.page-folder) .sv-head .hm-badge { background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35) }
.sv-hero-lede { max-width:60ch;margin:0;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.92) }
:where(.page-folder) .sv-head .hm-hero-cta { display:flex;flex-direction:column;gap:10px;margin-top:22px }
:where(.page-folder) .sv-head .hm-btn--ghost { color:#fff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.55) }
:where(.page-folder) .sv-head .hm-btn--ghost:hover,:where(.page-folder) .sv-head .hm-btn--ghost:focus-visible { background:rgba(255,255,255,.22) }
/* ---------- Breadcrumbs (on overlay) ---------- */
:where(.page-folder) .sv-crumbs { padding:6px 0 0;font-size:.8125rem;line-height:1.4;color:#fff }
:where(.page-folder) .sv-crumbs li+li::before { content:"\203A";opacity:.65 }
:where(.page-folder) .sv-crumbs a { text-decoration:none;color:inherit;opacity:.85;padding:6px 0;min-height:32px;display:inline-flex;align-items:center }
:where(.page-folder) .sv-crumbs [aria-current="page"] { font-weight:600;opacity:1;overflow-wrap:anywhere }
/* ---------- Body: stacked on mobile, two columns on desktop ---------- */
.sv-body { display:grid;grid-template-columns:1fr;gap:20px }
.sv-main,.sv-side { min-width:0 }
.sv-side { display:grid;gap:16px;align-content:start }
.sv-figure { margin:0 0 16px }
.sv-figure img { display:block;width:100%;height:auto;border-radius:12px }
.sv-meta { list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8125rem;opacity:.85 }
.sv-meta li { display:inline-flex;align-items:center;gap:6px }
.sv-meta a { color:inherit;text-decoration:none }
.sv-meta a:hover { text-decoration:underline }
.sv-prose p { margin:0 0 14px;line-height:1.7 }
.sv-prose p:last-child { margin-bottom:0 }
/* ---------- Sidebar: booking + why choose us ---------- */
.sv-book h2,.sv-form h2 { margin:0 0 8px;font-size:1.25rem;line-height:1.25 }
.sv-book p { margin:0 0 14px }
.sv-book .sv-actions { display:flex;flex-direction:column;gap:10px }
.sv-book .hm-btn { width:100%;justify-content:center }
.sv-form h2 { margin-bottom:14px }
/* ---------- Why choose us list ---------- */
.sv-why { list-style:none;margin:0;padding:0;color:#00539C }
.sv-why li { display:flex;align-items:flex-start;gap:14px;padding:14px 0 }
.sv-why li:first-child { padding-top:4px }
.sv-why li:last-child { padding-bottom:0 }
.sv-why li+li { border-top:1px dashed rgba(0,0,0,.25) }
.sv-why svg { flex:0 0 32px;width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round }
.sv-why div { color:#222;min-width:0 }
.sv-why strong { display:block;font-size:.9375rem;line-height:1.3;margin-bottom:2px }
.sv-why span { display:block;font-size:.875rem;line-height:1.5;opacity:.85 }
/* ---------- Services grid: 1 -> 2 -> 3 columns ---------- */
:where(.page-folder) .sv-list .hm-cards { display:grid;grid-template-columns:1fr;gap:14px }
:where(.page-folder) .sv-list .hm-svc { height:100%;display:flex;flex-direction:column }
:where(.page-folder) .sv-list .hm-svc h3 { margin:8px 0 6px;font-size:1.0625rem;line-height:1.3;overflow-wrap:anywhere }
:where(.page-folder) .sv-list .hm-svc h3 a { text-decoration:none;color:inherit }
:where(.page-folder) .sv-list .hm-svc p { margin:0 0 12px }
.sv-list .sv-call { margin-top:auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700;text-decoration:none;color:inherit }
@media (min-width:640px) {
  :where(.page-folder) .sv-head { min-height:460px }
  :where(.page-folder) .sv-head .hm-hero-cta { flex-direction:row;flex-wrap:wrap }
  .sv-book .sv-actions { flex-direction:row }
  .sv-book .hm-btn { width:auto }
  :where(.page-folder) .sv-list .hm-cards { grid-template-columns:repeat(2,1fr);gap:18px }
}
@media (min-width:1024px) {
  :where(.page-folder) .sv-head { min-height:520px;padding:28px 0 56px }
  .sv-hero-lede { font-size:1.0625rem }
  .sv-body { grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:28px;align-items:start }
  .sv-side { position:sticky;top:96px }
  .sv-book .sv-actions { flex-direction:column }
  .sv-book .hm-btn { width:100% }
  :where(.page-folder) .sv-list .hm-cards { grid-template-columns:repeat(3,1fr);gap:22px }
}

/* ==========================================================================
   Page: Directory (+ Knowledge base, shared)
   ========================================================================== */
.dir-search {
  position:relative; width:100%; max-width:760px; margin-top:1.6rem; padding:1.1rem 1.1rem 1.2rem;
    background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.55));
    -webkit-backdrop-filter:blur(14px) saturate(160%); backdrop-filter:blur(14px) saturate(160%);
    border:1px solid rgba(255,255,255,.85); border-radius:16px;
    box-shadow:0 4px 14px rgba(18,52,92,.06),inset 0 1px 0 #fff;
}
.dir-search-label {
  display:flex; align-items:center; gap:.5rem; margin:0 0 .65rem;
    font-size:.82rem; font-weight:800; letter-spacing:.02em; color:var(--hm-blue);
}
.dir-search-label i { font-size:.9rem; }
.dir-search-hint { margin:.7rem 0 0; font-size:.8rem; color:var(--hm-muted); }
/* ---- Google CSE overrides ---- */
.dir-search .gsc-control-cse { padding:0 !important; margin:0 !important; background:transparent !important; border:0 !important; font-family:inherit !important; }
.dir-search .gsc-control-cse * { font-family:inherit; }
.dir-search table.gsc-search-box { margin:0 !important; border-spacing:0; width:100%; }
.dir-search table.gsc-search-box td { vertical-align:middle; padding:0; }
.dir-search td.gsc-input { padding-right:.5rem; }
.dir-search .gsc-input-box {
  height:auto !important; padding:.2rem .35rem !important; background:#fff !important;
    border:1px solid var(--hm-line) !important; border-radius:11px !important;
    transition:border-color .15s,box-shadow .15s;
}
.dir-search .gsc-input-box:focus-within { border-color:var(--hm-blue) !important; box-shadow:0 0 0 3px rgba(0,83,156,.14); }
.dir-search table.gsc-input { width:100%; }
.dir-search input.gsc-input {
  height:auto !important; padding:.55rem .6rem !important; font-size:1rem !important; color:var(--hm-ink) !important;
    background:none !important; text-indent:0 !important; box-shadow:none !important;
}
.dir-search input.gsc-input::placeholder { color:#7b8b9c; }
.dir-search .gsc-clear-button { opacity:.7; }
.dir-search td.gsc-search-button { width:1%; white-space:nowrap; }
.dir-search button.gsc-search-button {
  display:inline-flex; align-items:center; justify-content:center; margin:0 !important;
    padding:.8rem 1.25rem !important; cursor:pointer;
    background:var(--hm-blue) !important; border:1px solid transparent !important; border-radius:11px !important;
    box-shadow:0 8px 18px -10px rgba(0,83,156,.7); transition:background-color .15s;
}
.dir-search button.gsc-search-button:hover { background:var(--hm-blue-d) !important; }
.dir-search button.gsc-search-button svg { width:18px; height:18px; fill:#fff; }
/* results */
.dir-search .gsc-results-wrapper-nooverlay { margin-top:1rem; padding:0 !important; }
.dir-search .gsc-results { width:100% !important; padding:0 !important; }
.dir-search .gsc-above-wrapper-area { border-bottom:1px solid var(--hm-line) !important; padding:0 0 .4rem !important; }
.dir-search .gsc-result-info { color:var(--hm-muted) !important; font-size:.8rem !important; padding-left:0 !important; }
.dir-search .gsc-webResult.gsc-result,.dir-search .gsc-results .gsc-imageResult {
  margin:0 0 .7rem !important; padding:1rem 1.1rem !important; background:#fff !important;
    border:1px solid var(--hm-line) !important; border-radius:13px !important;
    transition:border-color .15s,box-shadow .15s;
}
.dir-search .gsc-webResult.gsc-result:hover { border-color:rgba(0,83,156,.35) !important; box-shadow:var(--hm-shadow); }
.dir-search .gs-webResult .gs-title,.dir-search .gs-webResult .gs-title * { font-size:1.02rem !important; font-weight:800 !important; color:var(--hm-blue) !important; text-decoration:none !important; }
.dir-search .gs-webResult .gs-title:hover * { text-decoration:underline !important; text-underline-offset:3px; }
.dir-search .gs-webResult div.gs-visibleUrl { color:var(--hm-muted) !important; font-size:.78rem !important; }
.dir-search .gs-webResult .gs-snippet { color:var(--hm-ink) !important; font-size:.92rem !important; line-height:1.55 !important; }
.dir-search .gs-webResult .gs-snippet b,.dir-search .gs-webResult .gs-title b { color:var(--hm-accent) !important; }
.dir-search .gsc-cursor-box { margin:1rem 0 0 !important; text-align:center; }
.dir-search .gsc-cursor-page {
  display:inline-block; min-width:34px; padding:.35rem .6rem !important; margin:0 .15rem !important;
    font-weight:700; color:var(--hm-blue) !important; background:#fff; border:1px solid var(--hm-line); border-radius:9px;
}
.dir-search .gsc-cursor-current-page { color:#fff !important; background:var(--hm-blue); border-color:var(--hm-blue); }
.dir-search .gcsc-find-more-on-google { color:var(--hm-muted) !important; }
.gsc-completion-container { border-radius:11px !important; font-family:inherit !important; }
@media (max-width:640px) {
  .dir-search { padding:.9rem; }
  .dir-search button.gsc-search-button { padding:.8rem 1rem !important; }
}
/* ---- Category grid: hairline cells, icon + label (container draws top/left border, cells draw right/bottom) ---- */
.dir-cats {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
    background:#fff; border-top:1px solid #dde2ee; border-left:1px solid #dde2ee;
}
.dir-cat {
  display:flex; align-items:center; gap:.85rem; min-height:54px; padding:.9rem 1.15rem;
    font-size:.92rem; font-weight:700; line-height:1.3; color:#1e3a78; text-decoration:none;
    border-right:1px solid #dde2ee; border-bottom:1px solid #dde2ee;
    transition:background-color .15s,color .15s;
}
.dir-cat i { flex:0 0 22px; width:22px; text-align:center; font-size:1.05rem; color:#1e4390; }
.dir-cat:hover { background:#f4f7fc; color:var(--hm-blue); }
:where(.page-directory) .dir-cat:focus-visible { background:#f4f7fc; color:var(--hm-blue); }
:where(.page-directory) .dir-cat:focus-visible { outline:2px solid var(--hm-blue); outline-offset:-2px; }
@media (max-width:1100px) {
  .dir-cats { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .dir-cats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dir-cat { padding:.8rem .9rem; font-size:.88rem; }
}
@media (max-width:420px) {
  .dir-cats { grid-template-columns:1fr; }
}
.dir-cat[hidden] { display:none; }
/* pager under the category grid (built by the script at the bottom of the page) */
.dir-pager { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.4rem; margin-top:1.6rem; }
.dir-pager button {
  min-width:40px; height:40px; padding:0 .8rem; cursor:pointer;
    font:700 .9rem/1 inherit; font-family:inherit; color:var(--hm-blue);
    background:#fff; border:1px solid var(--hm-line); border-radius:10px;
    transition:border-color .15s,background-color .15s,color .15s;
}
.dir-pager button:hover:not(:disabled) { border-color:var(--hm-blue); background:var(--hm-cream); }
.dir-pager button[aria-current="page"] { color:#fff; background:var(--hm-blue); border-color:var(--hm-blue); }
.dir-pager button:disabled { opacity:.45; cursor:default; }
.dir-pager button:focus-visible { outline:2px solid var(--hm-blue); outline-offset:2px; }

/* ==========================================================================
   Page: Knowledge base
   ========================================================================== */
:where(.page-knowledge) .dir-cat:focus-visible { background:#f4f7fc; color:var(--hm-blue); }
:where(.page-knowledge) .dir-cat:focus-visible { outline:2px solid var(--hm-blue); outline-offset:-2px; }

/* ==========================================================================
   Page: Single post (overrides on top of the .bp-* base)
   ========================================================================== */
/* ---------- Shared gutters: every section from the hero to the CTA uses the same width and side padding ---------- */
:where(.page-single) main.hm {
  --pg-max:1180px;
    --pg-bleed:1.1rem;
    --pg-read:46rem;
}
:where(.page-single) main.hm .hm-wrap {
  width:100%; max-width:var(--pg-max); margin-inline:auto;
    padding-inline:var(--pg-bleed); box-sizing:border-box;
}
@media (min-width:640px) {
  :where(.page-single) main.hm { --pg-bleed:1.75rem; }
}
@media (min-width:961px) {
  :where(.page-single) main.hm { --pg-bleed:2.5rem; }
}
/* ---------- Base (small screens) ---------- */
:where(.page-single) .pg-head { padding:1.8rem 0; }
:where(.page-single) .bp-hero { margin:0; padding-block:0; }
:where(.page-single) .bp-hero figure { margin:0; padding:0; }
:where(.page-single) .bp-hero img { display:block; width:100%; height:auto; object-fit:contain; border-radius:22px; }
:where(.page-single) .bp-hero figcaption { padding:.75rem .25rem 0; text-align:center; font-size:.86rem; line-height:1.5; color:var(--hm-muted,#6b7785); }
/* Single narrow reading column on every screen size */
:where(.page-single) main.hm .bp-layout { display:block; padding-block:2rem 2.5rem; }
:where(.page-single) .bp-main {
  width:100%; max-width:var(--pg-read); margin-inline:auto;
    padding:.25rem clamp(.1rem,2.5vw,1.5rem) 0;
    box-sizing:border-box;
}
:where(.page-single) .bp-body { font-size:1.02rem; line-height:1.8; }
:where(.page-single) .bp-body > * + * { margin-top:1.1rem; }
:where(.page-single) .bp-body h2,:where(.page-single) .bp-body h3 { scroll-margin-top:96px; }
:where(.page-single) .bp-body img { max-width:100%; height:auto; }
:where(.page-single) .bp-avatar { display:inline-block; flex:none; width:2rem; height:2rem; padding:.22rem; object-fit:contain; background:#fff; border-radius:50%; box-sizing:border-box; }
/* Share row: round icon buttons (now in the title area) */
.pg-head .bp-share { margin-top:1.1rem; }
.pg-head .bp-share > span { color:inherit; font-weight:700; }
:where(.page-single) .bp-share { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; }
:where(.page-single) .bp-share > span { flex:0 0 100%; margin:0 0 .1rem; }
:where(.page-single) .bp-share a,:where(.page-single) .bp-share button {
  flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
    width:2.75rem; height:2.75rem; padding:0; margin:0;
    color:var(--hm-blue); background:#fff; border:1px solid var(--hm-line); border-radius:50%;
    cursor:pointer; text-decoration:none; transition:color .15s,background-color .15s,border-color .15s,transform .15s;
}
:where(.page-single) .bp-share a:hover,:where(.page-single) .bp-share a:focus-visible,:where(.page-single) .bp-share button:hover,:where(.page-single) .bp-share button:focus-visible { color:#fff; background:var(--hm-blue); border-color:var(--hm-blue); transform:translateY(-2px); }
:where(.page-single) .bp-share svg { width:1.2rem; height:1.2rem; display:block; flex:none; }
.bp-share svg.is-fill { fill:currentColor; }
.bp-share svg.is-stroke { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
@media (min-width:640px) {
  :where(.page-single) .bp-share > span { flex:0 0 auto; margin:0 .3rem 0 0; }
}
/* ---------- Table of contents ---------- */
:where(.page-single) .toc-card {
  margin:0 0 1.8rem; padding:1.1rem 1.1rem .9rem;
    background:#fff; border:1px solid var(--hm-line); border-top:3px solid var(--hm-blue);
    border-radius:17px; box-shadow:var(--hm-shadow);
}
:where(.page-single) .toc-card[hidden] { display:none; }
:where(.page-single) .toc-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
:where(.page-single) .toc-label { display:inline-flex; align-items:center; gap:.55rem; font-size:.82rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--hm-blue); }
:where(.page-single) .toc-label i { font-size:.95rem; }
:where(.page-single) .toc-toggle { padding:.25rem 0; font:600 .92rem/1 var(--bc-font); color:#9aa5b1; background:none; border:0; cursor:pointer; }
:where(.page-single) .toc-toggle:hover,:where(.page-single) .toc-toggle:focus-visible { color:var(--hm-blue); }
:where(.page-single) .toc-title { margin:0 0 .3rem; font-size:.98rem; font-weight:800; line-height:1.4; color:#0d1b2a; }
:where(.page-single) .toc-list { list-style:none; margin:0; padding:0; }
:where(.page-single) .toc-list[hidden] { display:none; }
:where(.page-single) .toc-list li { margin:0; padding:0; break-inside:avoid; border-bottom:1px solid var(--hm-line); }
:where(.page-single) .toc-list a { display:block; padding:.6rem 0; font-size:.92rem; line-height:1.4; color:#3b5a78; transition:color .15s; }
:where(.page-single) .toc-list a:hover,:where(.page-single) .toc-list a[aria-current="true"] { color:var(--hm-blue); text-decoration:underline; text-underline-offset:3px; }
.toc-list .toc-h3 a { padding-left:1rem; font-size:.86rem; }
/* ---------- Lists ---------- */
:where(.page-single) .bp-body ul,:where(.page-single) .bp-body ol {
  display:block; margin-left:.5rem; padding:.3rem 1rem;
    font-size:.8em; line-height:1.7;
    background:#f8f6f0; border-radius:13px; list-style:none;
}
:where(.page-single) .bp-body ol { list-style:decimal; padding-left:2.3rem; }
:where(.page-single) .bp-body ul li,:where(.page-single) .bp-body ol li { padding:.65rem 0; }
:where(.page-single) .bp-body ul li { padding-left:1.25rem; }
:where(.page-single) .bp-body ul li::before { left:0; top:calc(.65rem + .6em); }
:where(.page-single) .bp-body li + li { border-top:1px dashed #c3c9d1; }
:where(.page-single) .bp-body li ul,:where(.page-single) .bp-body li ol { margin:.5rem 0 0; padding:0; font-size:1em; background:transparent; }
/* ---------- Blockquotes ---------- */
:where(.page-single) .bp-body blockquote {
  position:relative; display:block; width:100%; margin:2rem 0 2.8rem; padding:3.4rem 1.25rem 2.6rem;
    font-size:1.02rem; font-weight:600; line-height:1.7; color:#faf7ef;
    background:var(--hm-blue-d); border:0; border-radius:13px;
}
:where(.page-single) .bp-body blockquote::before {
  content:"Bestcare Facilities Management Services";
    position:absolute; top:0; left:1.25rem; right:1.25rem; padding:1rem 0 .7rem;
    font-size:.72rem; font-weight:800; letter-spacing:.12em; line-height:1.4; text-transform:uppercase;
    color:rgba(250,247,239,.72); border-bottom:1px solid rgba(250,247,239,.16);
}
:where(.page-single) .bp-body blockquote::after {
  content:""; position:absolute; left:50%; bottom:0; width:46px; height:46px;
    transform:translate(-50%,50%);
    background:#fff url(../../favicon.png) center/26px 26px no-repeat;
    border:3px solid #fff; border-radius:50%; box-shadow:0 6px 14px -6px rgba(0,0,0,.45);
}
:where(.page-single) .bp-body blockquote p,:where(.page-single) .bp-body blockquote strong,:where(.page-single) .bp-body blockquote a { margin:0; color:inherit; }
:where(.page-single) .bp-body blockquote p + p { margin-top:.8rem; }
:where(.page-single) .bp-body blockquote a { text-decoration:underline; }
/* ---------- Tables: cards on small screens ---------- */
.bp-body .tbl-wrap { margin:1.4rem 0; }
:where(.page-single) .bp-body table { display:block; width:100%; min-width:0; border-collapse:separate; border-spacing:0; font-size:.95rem; line-height:1.55; }
:where(.page-single) .bp-body table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:where(.page-single) .bp-body table tbody { display:block; }
:where(.page-single) .bp-body table tr {
  display:block; margin:0 0 .9rem; overflow:hidden;
    background:#fff; border:1px solid var(--hm-line); border-radius:13px; box-shadow:var(--hm-shadow);
}
:where(.page-single) .bp-body table th,:where(.page-single) .bp-body table td {
  display:block; width:auto; padding:.75rem 1rem; text-align:left; vertical-align:top;
    border:0; border-bottom:1px dashed var(--hm-dash);
}
:where(.page-single) .bp-body table tr > :last-child { border-bottom:0; }
:where(.page-single) .bp-body table tbody th { font-weight:800; color:var(--hm-ink); background:var(--hm-cream); }
:where(.page-single) .bp-body table [data-label] { display:grid; grid-template-columns:minmax(6.5rem,36%) minmax(0,1fr); gap:.75rem; }
:where(.page-single) .bp-body table [data-label]::before { content:attr(data-label); font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--hm-blue); }
/* ---------- Previous / next ---------- */
:where(.page-single) .bp-nav { max-width:none; display:grid; grid-template-columns:1fr; gap:.8rem; margin:2.2rem 0 0; }
:where(.page-single) .bp-nav a {
  display:flex; flex-direction:column; gap:.35rem; padding:1rem 1.15rem;
    background:#fff; border:1px solid var(--hm-line); border-radius:var(--hm-r); box-shadow:var(--hm-shadow);
    transition:border-color .15s,background-color .15s;
}
:where(.page-single) .bp-nav a:hover,:where(.page-single) .bp-nav a:focus-visible { border-color:var(--hm-blue); background:var(--hm-cream); }
:where(.page-single) .bp-nav small { display:inline-flex; align-items:center; gap:.4rem; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--hm-muted); }
:where(.page-single) .bp-nav small i { font-size:.75rem; color:var(--hm-blue); }
:where(.page-single) .bp-nav strong {
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
    font-size:.96rem; font-weight:800; line-height:1.4; color:var(--hm-ink);
}
:where(.page-single) .bp-nav .is-next { text-align:left; }
/* ---------- CTA band: same spacing rhythm as the rest ---------- */
:where(.page-single) .hm-ctawrap { padding-top:clamp(3rem,7vw,5.5rem); }
:where(.page-single) .hm-ctawrap .hm-cta { width:100%; box-sizing:border-box; }
/* ---------- 640px and up ---------- */
@media (min-width:640px) {
  :where(.page-single) .pg-head { padding:2.4rem 0 2.2rem; }
  :where(.page-single) .bp-hero img { border-radius:28px; }
  :where(.page-single) .bp-body { font-size:1.07rem; line-height:1.85; }
  :where(.page-single) .bp-body > * + * { margin-top:1.15rem; }
  :where(.page-single) main.hm .bp-layout { padding-block:2.6rem 3rem; }
  :where(.page-single) .bp-body ul,:where(.page-single) .bp-body ol { margin-left:.9rem; }
  :where(.page-single) .bp-body blockquote { font-size:1.1rem; padding:3.4rem 2rem 2.6rem; }
  :where(.page-single) .bp-body blockquote::before { left:2rem; right:2rem; }
  :where(.page-single) .bp-nav { grid-template-columns:1fr 1fr; gap:1rem; }
  :where(.page-single) .bp-nav .is-next { grid-column:2; align-items:flex-end; text-align:right; }
}
/* ---------- 768px and up: two-column TOC, real tables ---------- */
@media (min-width:768px) {
  :where(.page-single) .toc-card { padding:1.3rem 1.6rem 1.1rem; }
  :where(.page-single) .toc-list { column-count:2; column-gap:2.5rem; }
  .bp-body .tbl-wrap { overflow-x:auto; background:#fff; border:1px solid var(--hm-line); border-radius:13px; -webkit-overflow-scrolling:touch; }
  :where(.page-single) .bp-body table { display:table; min-width:560px; border-collapse:collapse; }
  :where(.page-single) .bp-body table thead { position:static; display:table-header-group; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; }
  :where(.page-single) .bp-body table tbody { display:table-row-group; }
  :where(.page-single) .bp-body table tr { display:table-row; margin:0; overflow:visible; background:transparent; border:0; border-radius:0; box-shadow:none; }
  :where(.page-single) .bp-body table th,:where(.page-single) .bp-body table td { display:table-cell; padding:1rem 1.25rem; border-bottom:0; }
  :where(.page-single) .bp-body table [data-label] { display:table-cell; }
  :where(.page-single) .bp-body table [data-label]::before { display:none; }
  :where(.page-single) .bp-body table thead th { font-size:.78rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#fff; background:var(--hm-blue); }
  :where(.page-single) .bp-body table tbody tr:nth-child(odd) { background:#fff; color:var(--hm-ink); }
  :where(.page-single) .bp-body table tbody tr:nth-child(even) { background:var(--hm-tint); color:var(--hm-blue-d); }
  :where(.page-single) .bp-body table tbody th { background:transparent; color:inherit; }
}
/* ---------- 961px and up ---------- */
@media (min-width:961px) {
  :where(.page-single) .pg-head { padding:3.2rem 0 3rem; }
  :where(.page-single) main.hm .bp-layout { padding-block:3rem 4.5rem; }
}
