:root {
  --bff-navy-950: #031d3d;
  --bff-navy-900: #062f63;
  --bff-navy-800: #0a407d;
  --bff-blue-700: #0755a8;
  --bff-blue-600: #0968c5;
  --bff-blue-500: #0f7ee9;
  --bff-blue-100: #dcedff;
  --bff-blue-50: #eef8ff;
  --bff-yellow: #ffd326;
  --bff-yellow-100: #fff0a8;
  --bff-yellow-50: #fff9df;
  --bff-green: #18b85b;
  --bff-green-dark: #0c8e43;
  --bff-cream: #fffaf0;
  --bff-white: #fff;
  --bff-ink: #132a48;
  --bff-muted: #607189;
  --bff-border: #dce6f0;
  --bff-surface: #f7fbff;
  --bff-danger: #b42318;
  --bff-success: #027a48;
  --bff-shadow-sm: 0 8px 24px rgba(6, 47, 99, .08);
  --bff-shadow-md: 0 18px 52px rgba(6, 47, 99, .14);
  --bff-shadow-lg: 0 30px 80px rgba(6, 47, 99, .18);
  --bff-radius-sm: .75rem;
  --bff-radius: 1.1rem;
  --bff-radius-lg: 1.65rem;
  --bff-radius-xl: 2.2rem;
  --bff-shell: 1240px;
  --bff-header-height: 86px;
  --bff-font: Manrope, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bff-ease: cubic-bezier(.2, .8, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body {
  margin: 0;
  color: var(--bff-ink);
  background: var(--bff-white);
  font-family: var(--bff-font);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body.is-locked { overflow: hidden; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--bff-blue-700); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--bff-navy-900); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
::selection { color: var(--bff-navy-950); background: var(--bff-yellow); }

h1, h2, h3, h4, h5, h6 {
  color: var(--bff-navy-900);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.025em;
  text-wrap: balance;
}
h1 { margin: 0 0 1rem; font-size: clamp(2.45rem, 5vw, 5.2rem); }
h2 { margin: 0 0 .85rem; font-size: clamp(1.8rem, 3vw, 3.15rem); }
h3 { margin: 0 0 .6rem; font-size: clamp(1.05rem, 1.3vw, 1.32rem); }
p { margin: 0 0 1rem; }
ul, ol { padding-left: 1.3rem; }
blockquote { margin: 0; }

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  display: block;
  width: auto;
  height: auto;
  top: 1rem;
  left: 1rem;
  padding: .8rem 1rem;
  color: var(--bff-navy-950);
  background: var(--bff-yellow);
  border-radius: .5rem;
  z-index: 100000;
}
.bff-skip-link { position: fixed; top: -100px; left: 1rem; z-index: 10000; }
.bff-skip-link:focus { top: 1rem; padding: .75rem 1rem; color: var(--bff-navy-950); background: var(--bff-yellow); border-radius: .65rem; font-weight: 800; }
:focus-visible { outline: 3px solid rgba(15, 126, 233, .55); outline-offset: 3px; }

.bff-shell { width: min(calc(100% - 2rem), var(--bff-shell)); margin-inline: auto; }
.bff-main { min-height: 60vh; }
.bff-section { position: relative; padding: clamp(4rem, 7vw, 7.5rem) 0; }
.bff-section--tint { background: linear-gradient(180deg, #f7fbff 0%, #eef7ff 100%); }
.bff-section--sky { background: linear-gradient(135deg, #eef8ff 0%, #f9fdff 55%, #fff9e8 100%); }
.bff-content-narrow { width: min(calc(100% - 2rem), 800px); }
.bff-rich-text { font-size: 1.05rem; }
.bff-rich-text > * + * { margin-top: 1.15em; }
.bff-rich-text h2 { margin-top: 2em; font-size: clamp(1.6rem, 2.7vw, 2.4rem); }
.bff-rich-text h3 { margin-top: 1.6em; }
.bff-rich-text ul, .bff-rich-text ol { display: grid; gap: .65rem; }
.bff-rich-text img { border-radius: var(--bff-radius-lg); box-shadow: var(--bff-shadow-sm); }
.bff-page-content { margin-top: 1.5rem; }

.bff-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .65rem;
  color: var(--bff-blue-700);
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .15em;
  line-height: 1.2;
  text-transform: uppercase;
}
.bff-eyebrow::after { content: ""; width: 2rem; height: 3px; border-radius: 999px; background: var(--bff-yellow); }
.bff-eyebrow--light { color: #dcecff; }
.bff-eyebrow--light::after { background: var(--bff-yellow); }
.bff-script-line, .bff-hand-note, .bff-site-footer__script, .bff-featured-service__scribble {
  font-family: "Segoe Print", "Bradley Hand", cursive;
  transform: rotate(-2deg);
}

.bff-icon { width: 1.2em; height: 1.2em; flex: 0 0 auto; }
.bff-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .78rem 1.28rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--bff-navy-950);
  background: var(--bff-white);
  box-shadow: none;
  font-size: .9rem;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  transition: transform .2s var(--bff-ease), box-shadow .2s var(--bff-ease), background .2s ease, color .2s ease, border-color .2s ease;
  cursor: pointer;
}
.bff-button:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(6, 47, 99, .15); }
.bff-button:active { transform: translateY(0) scale(.98); }
.bff-button--yellow { background: var(--bff-yellow); color: var(--bff-navy-950); }
.bff-button--yellow:hover { background: #ffe15b; color: var(--bff-navy-950); }
.bff-button--blue { background: var(--bff-blue-700); color: var(--bff-white); }
.bff-button--blue:hover { background: var(--bff-navy-900); color: var(--bff-white); }
.bff-button--outline { color: var(--bff-blue-700); background: transparent; border-color: var(--bff-blue-600); }
.bff-button--outline:hover { color: var(--bff-white); background: var(--bff-blue-700); }
.bff-button--ghost-light { color: var(--bff-white); background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .68); backdrop-filter: blur(14px); }
.bff-button--ghost-light:hover { color: var(--bff-navy-950); background: var(--bff-white); }
.bff-button--whatsapp { color: var(--bff-white); background: var(--bff-green); }
.bff-button--whatsapp:hover { color: var(--bff-white); background: var(--bff-green-dark); }
.bff-button--whatsapp-outline { color: var(--bff-green-dark); background: var(--bff-white); border-color: var(--bff-green); }
.bff-text-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: var(--bff-blue-700);
  font-size: .9rem;
  font-weight: 850;
  text-decoration: none;
}
.bff-text-link .bff-icon { transition: transform .2s ease; }
.bff-text-link:hover .bff-icon { transform: translateX(4px); }
.bff-round-action {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  color: var(--bff-white);
  text-decoration: none;
}
.bff-round-action--whatsapp { background: var(--bff-green); }
.bff-icon-link { display: inline-grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; text-decoration: none; }
.bff-icon-link--whatsapp { color: var(--bff-green-dark); background: #eafbf1; }

/* Header */
.bff-site-header { position: relative; z-index: 900; background: var(--bff-white); }
.bff-site-header.is-stuck .bff-main-header { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 12px 38px rgba(3, 29, 61, .12); animation: bffHeaderIn .35s var(--bff-ease); }
@keyframes bffHeaderIn { from { transform: translateY(-100%); } to { transform: translateY(0); } }
.bff-utility-bar { color: #eaf5ff; background: linear-gradient(90deg, var(--bff-navy-900), var(--bff-blue-700)); font-size: .77rem; }
.bff-utility-bar__inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.bff-utility-bar__contacts { display: flex; align-items: center; gap: 1rem; }
.bff-utility-bar a { display: inline-flex; align-items: center; gap: .4rem; color: inherit; text-decoration: none; }
.bff-utility-bar p { margin: 0; font-size: .72rem; white-space: nowrap; }
.bff-utility-whatsapp { color: var(--bff-white) !important; }
.bff-main-header { background: rgba(255, 255, 255, .98); border-bottom: 1px solid rgba(6, 47, 99, .08); backdrop-filter: saturate(1.4) blur(16px); transition: box-shadow .2s ease; }
.bff-main-header__inner { min-height: var(--bff-header-height); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem; }
.bff-main-header__brand { min-width: 250px; }
.bff-brand { display: inline-flex; align-items: center; gap: .72rem; color: var(--bff-navy-900); text-decoration: none; }
.bff-brand:hover { color: var(--bff-navy-900); }
.bff-brand__mark { display: grid; width: 50px; height: 50px; place-items: center; color: var(--bff-blue-700); }
.bff-brand__mark svg { width: 100%; height: 100%; }
.bff-brand__copy { display: grid; line-height: 1.1; }
.bff-brand__copy strong { font-size: 1.05rem; font-weight: 900; letter-spacing: -.03em; }
.bff-brand__copy small { margin-top: .25rem; color: var(--bff-muted); font-size: .63rem; font-weight: 700; letter-spacing: .02em; }
.bff-brand--light { color: var(--bff-white); }
.bff-brand--light:hover { color: var(--bff-white); }
.bff-brand--light .bff-brand__copy small { color: #b7d6f6; }
.bff-primary-nav { justify-self: center; }
.bff-menu, .bff-menu ul { margin: 0; padding: 0; list-style: none; }
.bff-menu { display: flex; align-items: center; gap: .2rem; }
.bff-menu > li { position: relative; }
.bff-menu a { display: flex; min-height: 44px; align-items: center; padding: .65rem .85rem; border-radius: .7rem; color: var(--bff-ink); font-size: .88rem; font-weight: 750; text-decoration: none; }
.bff-menu a:hover, .bff-menu .current-menu-item > a, .bff-menu .current-menu-ancestor > a { color: var(--bff-blue-700); background: var(--bff-blue-50); }
.bff-menu .sub-menu { position: absolute; top: calc(100% + .3rem); left: 0; min-width: 290px; padding: .55rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: var(--bff-shadow-md); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .18s ease; }
.bff-menu li:hover > .sub-menu, .bff-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.bff-menu .sub-menu a { min-height: 42px; font-size: .82rem; }
.bff-main-header__actions { display: flex; align-items: center; gap: .65rem; }
.bff-header-search, .bff-mobile-menu-toggle { display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.bff-header-search:hover, .bff-mobile-menu-toggle:hover { background: var(--bff-blue-50); }
.bff-mobile-menu-toggle { display: none; }

/* Mobile menu and dialogs */
.bff-mobile-menu, .bff-search-dialog, .bff-enquiry-sheet { position: fixed; inset: 0; z-index: 2000; }
.bff-mobile-menu[hidden], .bff-search-dialog[hidden], .bff-enquiry-sheet[hidden] { display: none; }
.bff-mobile-menu__backdrop, .bff-search-dialog__backdrop, .bff-enquiry-sheet__backdrop { position: absolute; inset: 0; background: rgba(3, 29, 61, .56); backdrop-filter: blur(8px); }
.bff-mobile-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(92vw, 430px);
  height: 100%;
  padding: calc(1rem + env(safe-area-inset-top)) 1.1rem calc(1rem + env(safe-area-inset-bottom));
  background: var(--bff-white);
  box-shadow: -30px 0 80px rgba(3, 29, 61, .24);
  overflow-y: auto;
  animation: bffPanelIn .32s var(--bff-ease);
}
@keyframes bffPanelIn { from { transform: translateX(100%); } to { transform: translateX(0); } }
.bff-mobile-menu__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--bff-border); }
.bff-mobile-menu__top button, .bff-search-dialog__close, .bff-enquiry-sheet__close { display: grid; width: 44px; height: 44px; place-items: center; border: 0; border-radius: 50%; background: var(--bff-blue-50); cursor: pointer; }
.bff-mobile-menu__links, .bff-mobile-menu__links ul { margin: 0; padding: 0; list-style: none; }
.bff-mobile-menu__links { display: grid; gap: .25rem; padding: 1.2rem 0; }
.bff-mobile-menu__links > li > a { display: flex; min-height: 52px; align-items: center; padding: .75rem 1rem; border-radius: .9rem; color: var(--bff-navy-900); background: #f8fbff; font-weight: 850; text-decoration: none; }
.bff-mobile-menu__links .sub-menu { display: grid; gap: .15rem; margin: .4rem 0 .7rem; padding-left: .75rem; }
.bff-mobile-menu__links .sub-menu a { display: block; padding: .55rem .75rem; color: var(--bff-muted); font-size: .86rem; text-decoration: none; }
.bff-mobile-menu__quick-actions { display: grid; gap: .7rem; }
.bff-mobile-menu__contact { display: grid; gap: .7rem; margin-top: 1.3rem; padding: 1rem; border-radius: 1rem; background: var(--bff-blue-50); }
.bff-mobile-menu__contact a { display: flex; align-items: center; gap: .6rem; color: var(--bff-navy-900); font-size: .82rem; font-weight: 750; text-decoration: none; }
.bff-search-dialog { display: grid; place-items: start center; padding-top: min(16vh, 150px); }
.bff-search-dialog__panel { position: relative; width: min(calc(100% - 2rem), 720px); padding: clamp(1.4rem, 4vw, 2.5rem); border-radius: var(--bff-radius-xl); background: var(--bff-white); box-shadow: var(--bff-shadow-lg); animation: bffDialogIn .3s var(--bff-ease); }
@keyframes bffDialogIn { from { opacity: 0; transform: translateY(20px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
.bff-search-dialog__close { position: absolute; top: 1rem; right: 1rem; }
.bff-search-dialog__suggestions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.bff-search-dialog__suggestions a { padding: .55rem .8rem; border-radius: 999px; color: var(--bff-blue-700); background: var(--bff-blue-50); font-size: .82rem; font-weight: 750; text-decoration: none; }

/* Hero */
.bff-hero { position: relative; min-height: clamp(580px, 66vw, 760px); color: var(--bff-white); background: var(--bff-navy-950); overflow: hidden; }
.bff-hero__slides { position: absolute; inset: 0; }
.bff-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .75s ease, visibility .75s ease; }
.bff-hero__slide.is-active { opacity: 1; visibility: visible; }
.bff-hero__background { position: absolute; inset: 0; background-position: center; background-size: cover; transform: scale(1.025); transition: transform 7s linear; }
.bff-hero__slide.is-active .bff-hero__background { transform: scale(1.08); }
.bff-hero__veil { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3, 29, 61, .98) 0%, rgba(6, 47, 99, .86) 35%, rgba(6, 47, 99, .25) 68%, rgba(3, 29, 61, .08) 100%); }
.bff-hero__inner { position: relative; z-index: 2; min-height: clamp(580px, 66vw, 760px); display: grid; grid-template-columns: minmax(0, 620px) 1fr; align-items: center; gap: 2rem; padding-block: clamp(4rem, 8vw, 7rem); }
.bff-hero__content { max-width: 650px; }
.bff-hero h1, .bff-hero h2 { color: var(--bff-white); font-size: clamp(2.6rem, 5.2vw, 5.4rem); }
.bff-hero__subtitle { margin: -.3rem 0 1rem; color: #dcecff; font-size: clamp(1.35rem, 2vw, 2.15rem); font-weight: 800; }
.bff-hero__content > p:not(.bff-eyebrow):not(.bff-hero__subtitle) { max-width: 600px; color: #eaf4ff; font-size: clamp(1rem, 1.3vw, 1.18rem); }
.bff-hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.6rem; }
.bff-hero__note { align-self: center; justify-self: end; max-width: 230px; margin-top: 14rem; padding: 1.4rem 1.5rem; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: var(--bff-white); background: rgba(255,255,255,.08); backdrop-filter: blur(16px); font-family: "Segoe Print", cursive; text-align: center; transform: rotate(-5deg); }
.bff-hero__note span, .bff-hero__note strong { display: block; }
.bff-hero__note strong { color: var(--bff-yellow); }
.bff-hero__controls { position: absolute; z-index: 5; left: 50%; bottom: 1.6rem; display: flex; align-items: center; gap: .8rem; transform: translateX(-50%); }
.bff-hero__controls > button { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: var(--bff-white); background: rgba(3,29,61,.4); cursor: pointer; backdrop-filter: blur(8px); }
.bff-hero__controls > button:first-child .bff-icon { transform: rotate(180deg); }
.bff-hero__dots { display: flex; gap: .5rem; }
.bff-hero__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: rgba(255,255,255,.55); cursor: pointer; transition: width .2s ease, background .2s ease; }
.bff-hero__dots button.is-active { width: 28px; background: var(--bff-yellow); }

/* Ticker */
.bff-ticker { color: var(--bff-white); background: linear-gradient(90deg, #0755a8, #0f7ee9, #0755a8); overflow: hidden; }
.bff-ticker__inner { min-height: 52px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1.25rem; }
.bff-ticker strong { display: inline-flex; align-items: center; gap: .55rem; white-space: nowrap; }
.bff-ticker__track { min-width: 0; display: flex; align-items: center; gap: 2.4rem; overflow: hidden; white-space: nowrap; mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.bff-ticker__item { position: relative; display: inline-flex; align-items: center; color: #eaf4ff; font-size: .84rem; }
.bff-ticker__item::after { content: "•"; position: absolute; right: -1.3rem; color: var(--bff-yellow); }
.bff-ticker__item a { color: inherit; text-decoration: none; }

/* Section headings */
.bff-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.bff-section-heading > p { max-width: 520px; color: var(--bff-muted); }
.bff-section-heading--center { justify-content: center; text-align: center; }
.bff-section-heading--center > div { max-width: 760px; }
.bff-section-heading--center .bff-eyebrow { justify-content: center; }

/* Welcome */
.bff-welcome { background: var(--bff-white); }
.bff-welcome__grid { display: grid; grid-template-columns: minmax(240px, .82fr) minmax(0, 1.3fr) minmax(250px, .72fr); gap: clamp(1.5rem, 3vw, 3.4rem); align-items: center; }
.bff-welcome__media { position: relative; }
.bff-welcome__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--bff-radius-lg); box-shadow: var(--bff-shadow-md); }
.bff-hand-note { position: absolute; right: -1.1rem; bottom: 1.2rem; max-width: 160px; padding: .7rem .9rem; border-radius: .8rem; color: var(--bff-navy-950); background: var(--bff-yellow); font-size: .85rem; font-weight: 800; line-height: 1.2; }
.bff-welcome__content p { color: var(--bff-muted); }
.bff-welcome__audiences { display: grid; gap: 1rem; }
.bff-welcome__audiences > div { display: grid; grid-template-columns: 46px 1fr; column-gap: .8rem; padding: .95rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: var(--bff-shadow-sm); }
.bff-welcome__audiences span { grid-row: 1 / 3; display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: var(--bff-blue-700); background: var(--bff-blue-100); }
.bff-welcome__audiences strong { color: var(--bff-navy-900); font-size: .88rem; }
.bff-welcome__audiences p { margin: .2rem 0 0; color: var(--bff-muted); font-size: .78rem; line-height: 1.45; }

/* Service cards */
.bff-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.bff-service-grid--six { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .9rem; }
.bff-service-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: 0 8px 24px rgba(6,47,99,.06); overflow: hidden; transition: transform .25s var(--bff-ease), box-shadow .25s var(--bff-ease), border-color .25s ease; }
.bff-service-card:hover { transform: translateY(-5px); border-color: #b5d8fa; box-shadow: var(--bff-shadow-md); }
.bff-service-card[hidden] { display: none; }
.bff-service-card__media { position: relative; display: block; overflow: hidden; }
.bff-service-card__media img { width: 100%; aspect-ratio: 1.4 / 1; object-fit: cover; transition: transform .45s var(--bff-ease); }
.bff-service-card:hover .bff-service-card__media img { transform: scale(1.04); }
.bff-service-card__age { position: absolute; left: .65rem; bottom: .65rem; padding: .35rem .65rem; border-radius: 999px; color: var(--bff-navy-950); background: var(--bff-yellow); font-size: .68rem; font-weight: 850; box-shadow: 0 6px 16px rgba(0,0,0,.12); }
.bff-service-card__body { flex: 1; display: flex; flex-direction: column; padding: 1rem; }
.bff-service-card h3 { font-size: clamp(.94rem, 1.25vw, 1.16rem); }
.bff-service-card h3 a { color: var(--bff-navy-900); text-decoration: none; }
.bff-service-card p { color: var(--bff-muted); font-size: .82rem; line-height: 1.55; }
.bff-service-card__actions { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: .5rem; }
.bff-service-grid--six .bff-service-card__body { padding: .8rem; }
.bff-service-grid--six .bff-service-card p { font-size: .75rem; }
.bff-service-grid--six .bff-text-link { font-size: .75rem; }

/* Conversion */
.bff-conversion__grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 1.2rem; align-items: stretch; }
.bff-featured-service { position: relative; min-height: 390px; display: grid; grid-template-columns: minmax(190px, .75fr) 1.25fr; align-items: center; gap: 1.4rem; padding: 1.2rem; border-radius: var(--bff-radius-lg); background: linear-gradient(135deg, var(--bff-yellow-50), #fff, #f0f8ff); overflow: hidden; }
.bff-featured-service__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--bff-radius); }
.bff-featured-service p { color: var(--bff-muted); }
.bff-featured-service__scribble { position: absolute; right: 1.2rem; bottom: 1rem; color: var(--bff-blue-700); font-size: 1.15rem; font-weight: 800; opacity: .65; }
.bff-form-card { padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid #cfe5f8; border-radius: var(--bff-radius-lg); background: linear-gradient(145deg, #f2f9ff, #fff); box-shadow: var(--bff-shadow-sm); }
.bff-form-card > p { color: var(--bff-muted); }
.bff-form-card--large { padding: clamp(1.3rem, 3vw, 2.4rem); }
.bff-plugin-required { padding: 1rem; border: 1px dashed #b8c9da; border-radius: .8rem; color: var(--bff-muted); background: var(--bff-white); }

/* Form styles */
.bff-enquiry-form { display: grid; gap: .9rem; margin-top: 1.2rem; }
.bff-enquiry-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.bff-field { display: grid; gap: .35rem; }
.bff-field--full { grid-column: 1 / -1; }
.bff-field label, .bff-field legend { color: var(--bff-navy-900); font-size: .75rem; font-weight: 800; }
.bff-field label .required { color: var(--bff-danger); }
.bff-field input, .bff-field textarea, .bff-field select {
  width: 100%;
  min-height: 46px;
  padding: .72rem .82rem;
  border: 1px solid #cbd8e6;
  border-radius: .65rem;
  color: var(--bff-ink);
  background: var(--bff-white);
  box-shadow: inset 0 1px 2px rgba(3,29,61,.03);
}
.bff-field textarea { min-height: 115px; resize: vertical; }
.bff-field input:focus, .bff-field textarea:focus, .bff-field select:focus { border-color: var(--bff-blue-500); outline: 3px solid rgba(15,126,233,.13); }
.bff-radio-group { display: flex; flex-wrap: wrap; gap: .6rem; }
.bff-radio-group label { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: .45rem .65rem; border: 1px solid var(--bff-border); border-radius: 999px; background: var(--bff-white); cursor: pointer; }
.bff-radio-group input { width: auto; min-height: auto; }
.bff-consent { display: flex; align-items: flex-start; gap: .55rem; color: var(--bff-muted); font-size: .73rem; line-height: 1.4; }
.bff-consent input { width: 18px; height: 18px; margin-top: .1rem; flex: 0 0 auto; }
.bff-enquiry-form__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.bff-enquiry-form__footer .bff-button { min-width: 180px; }
.bff-form-status { margin: 0; font-size: .8rem; font-weight: 750; }
.bff-form-status.is-success { color: var(--bff-success); }
.bff-form-status.is-error { color: var(--bff-danger); }
.bff-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.bff-enquiry-form.is-loading .bff-button { opacity: .65; pointer-events: none; }
.bff-enquiry-success { padding: 1.2rem; border: 1px solid #a9e4c3; border-radius: var(--bff-radius); color: var(--bff-success); background: #effcf5; }
.bff-enquiry-success h3 { color: var(--bff-success); }
.bff-enquiry-success__actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }

/* Testimonials */
.bff-testimonial-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.bff-testimonial { min-width: 0; padding: 1.4rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: var(--bff-shadow-sm); }
.bff-testimonial > .bff-icon { width: 2rem; height: 2rem; color: #8dccff; fill: rgba(141,204,255,.18); }
.bff-testimonial blockquote { color: var(--bff-muted); font-size: .9rem; }
.bff-testimonial figcaption { display: grid; margin-top: 1rem; }
.bff-testimonial figcaption strong { color: var(--bff-navy-900); }
.bff-testimonial figcaption span { color: var(--bff-muted); font-size: .75rem; }

/* Blog cards */
.bff-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.bff-post-grid--five { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .85rem; }
.bff-post-grid--archive { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bff-post-card { display: flex; flex-direction: column; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: 0 8px 24px rgba(6,47,99,.06); overflow: hidden; transition: transform .25s var(--bff-ease), box-shadow .25s var(--bff-ease); }
.bff-post-card:hover { transform: translateY(-4px); box-shadow: var(--bff-shadow-md); }
.bff-post-card__media { display: block; overflow: hidden; }
.bff-post-card__media img { width: 100%; aspect-ratio: 1.9 / 1; object-fit: cover; transition: transform .45s var(--bff-ease); }
.bff-post-card:hover .bff-post-card__media img { transform: scale(1.035); }
.bff-post-card__body { flex: 1; display: flex; flex-direction: column; padding: 1rem; }
.bff-post-card__meta { margin-bottom: .35rem !important; color: var(--bff-blue-700) !important; font-size: .68rem !important; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.bff-post-card h3 { font-size: 1.08rem; }
.bff-post-card h3 a { color: var(--bff-navy-900); text-decoration: none; }
.bff-post-card p { color: var(--bff-muted); font-size: .82rem; }
.bff-post-card .bff-text-link { margin-top: auto; }
.bff-post-grid--five .bff-post-card__body { padding: .78rem; }
.bff-post-grid--five .bff-post-card h3 { font-size: .86rem; }
.bff-post-grid--five .bff-post-card p { font-size: .7rem; line-height: 1.45; }
.bff-post-grid--five .bff-text-link { font-size: .72rem; }

/* Inner page hero */
.bff-breadcrumbs { margin-bottom: 1.4rem; }
.bff-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; padding: 0; list-style: none; }
.bff-breadcrumbs li { display: inline-flex; align-items: center; gap: .4rem; color: var(--bff-muted); font-size: .75rem; }
.bff-breadcrumbs li + li::before { content: "/"; color: #9bb0c6; }
.bff-breadcrumbs a { color: var(--bff-blue-700); text-decoration: none; }
.bff-inner-hero { position: relative; padding: clamp(2.6rem, 5vw, 5rem) 0; background: linear-gradient(120deg, #f1f9ff 0%, #fff 50%, #fff9e9 100%); overflow: hidden; }
.bff-inner-hero::after { content: ""; position: absolute; width: 400px; height: 400px; right: -120px; bottom: -220px; border-radius: 50%; background: rgba(255,211,38,.16); filter: blur(2px); }
.bff-inner-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.bff-inner-hero__content h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); }
.bff-inner-hero__content > p { max-width: 640px; color: var(--bff-muted); font-size: 1.08rem; }
.bff-inner-hero__media { position: relative; min-height: 420px; }
.bff-inner-hero__media img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; border-radius: var(--bff-radius-xl); box-shadow: var(--bff-shadow-md); }
.bff-inner-hero__media .bff-hand-note { right: -1rem; bottom: 1.3rem; }
.bff-script-line { display: inline-block; margin-top: 1rem; color: var(--bff-blue-700) !important; font-size: 1.4rem !important; font-weight: 800; border-bottom: 5px solid var(--bff-yellow); }

/* About */
.bff-prose-split { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.bff-prose-split p { color: var(--bff-muted); }
.bff-prose-split__media { position: relative; }
.bff-prose-split__media img { width: 100%; max-height: 560px; object-fit: cover; border-radius: var(--bff-radius-xl); box-shadow: var(--bff-shadow-md); }
.bff-prose-split__badge { position: absolute; left: -1rem; bottom: 1.2rem; padding: .75rem 1rem; border-radius: .8rem; color: var(--bff-navy-950); background: var(--bff-yellow); font-size: .82rem; font-weight: 850; }
.bff-journey { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.bff-journey::before { content: ""; position: absolute; top: 34px; left: 7%; right: 7%; height: 2px; background: linear-gradient(90deg, var(--bff-yellow), var(--bff-blue-500), #6d5bd0, var(--bff-green)); }
.bff-journey__item { position: relative; display: grid; justify-items: center; text-align: center; }
.bff-journey__item > span { position: relative; z-index: 1; display: grid; width: 68px; height: 68px; place-items: center; margin-bottom: .85rem; border: 7px solid #eef8ff; border-radius: 50%; color: var(--bff-white); background: var(--bff-blue-600); font-weight: 900; box-shadow: 0 8px 18px rgba(9,104,197,.22); }
.bff-journey__item:nth-child(1) > span { color: var(--bff-navy-950); background: var(--bff-yellow); }
.bff-journey__item:nth-child(3) > span { background: var(--bff-green); }
.bff-journey__item:nth-child(4) > span { background: #6b5bd2; }
.bff-journey__item:nth-child(5) > span { background: var(--bff-navy-900); }
.bff-journey__item strong { color: var(--bff-navy-900); font-size: .9rem; }
.bff-journey__item small { max-width: 180px; margin-top: .35rem; color: var(--bff-muted); line-height: 1.45; }
.bff-mission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.bff-purpose-card { display: grid; grid-template-columns: 74px 1fr; gap: 1rem; padding: clamp(1.25rem, 2.7vw, 2rem); border-radius: var(--bff-radius-lg); }
.bff-purpose-card--yellow { background: linear-gradient(135deg, #fff7cf, #fffdf6); }
.bff-purpose-card--blue { background: linear-gradient(135deg, #e4f3ff, #f9fcff); }
.bff-purpose-card__icon { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 50%; color: var(--bff-navy-900); background: var(--bff-yellow); font-size: 2rem; font-weight: 900; }
.bff-purpose-card--blue .bff-purpose-card__icon { color: var(--bff-blue-700); background: #bde2ff; }
.bff-purpose-card p { color: var(--bff-muted); }
.bff-values-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.bff-values-grid article { padding: 1.25rem 1rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); text-align: center; background: var(--bff-white); }
.bff-values-grid article:nth-child(1) { background: #fff1f5; }
.bff-values-grid article:nth-child(2) { background: #edf7ff; }
.bff-values-grid article:nth-child(3) { background: #eefbf3; }
.bff-values-grid article:nth-child(4) { background: #fff9e7; }
.bff-values-grid article:nth-child(5) { background: #f4f1ff; }
.bff-values-grid span { display: grid; width: 52px; height: 52px; place-items: center; margin: 0 auto .8rem; border-radius: 50%; color: var(--bff-blue-700); background: rgba(255,255,255,.78); font-size: 1.4rem; font-weight: 900; }
.bff-values-grid p { margin-bottom: 0; color: var(--bff-muted); font-size: .78rem; }
.bff-approach-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.bff-approach-grid__media img { width: 100%; max-height: 540px; object-fit: cover; border-radius: var(--bff-radius-xl); box-shadow: var(--bff-shadow-md); }
.bff-approach-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin-top: 1.3rem; }
.bff-approach-list > div { padding: 1rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); }
.bff-approach-list span { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: .7rem; border-radius: 50%; color: var(--bff-blue-700); background: var(--bff-blue-100); }
.bff-approach-list strong { display: block; color: var(--bff-navy-900); font-size: .82rem; }
.bff-approach-list p { margin: .35rem 0 0; color: var(--bff-muted); font-size: .75rem; }

/* Services archive */
.bff-filter-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: .7rem; margin-bottom: 1.3rem; }
.bff-filter-bar button { min-height: 44px; padding: .6rem 1rem; border: 1px solid #cfe1f3; border-radius: 999px; color: var(--bff-navy-900); background: var(--bff-blue-50); font-size: .82rem; font-weight: 800; cursor: pointer; }
.bff-filter-bar button.is-active { color: var(--bff-white); background: var(--bff-blue-700); border-color: var(--bff-blue-700); }
.bff-stage-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 1.6rem; padding: .9rem 1rem; border: 1px solid #cfe4f6; border-radius: var(--bff-radius); background: #f1f9ff; }
.bff-stage-strip > div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .55rem; padding: .3rem .7rem; border-right: 1px solid #cfe1f3; }
.bff-stage-strip > div:last-child { border-right: 0; }
.bff-stage-strip strong { color: var(--bff-blue-700); font-size: .9rem; }
.bff-stage-strip span { color: var(--bff-muted); font-size: .68rem; line-height: 1.3; }
.bff-service-grid--archive { gap: 1.25rem; }
.bff-service-grid--archive .bff-service-card__media img { aspect-ratio: 1.65 / 1; }
.bff-guidance-card { display: grid; grid-template-columns: 72px 1fr auto; align-items: center; gap: 1.2rem; padding: clamp(1.2rem, 2.5vw, 2rem); border: 1px solid #cde4f7; border-radius: var(--bff-radius-lg); background: rgba(255,255,255,.8); box-shadow: var(--bff-shadow-sm); }
.bff-guidance-card__icon { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 50%; color: var(--bff-blue-700); background: #bfe4ff; }
.bff-guidance-card__icon .bff-icon { width: 2rem; height: 2rem; }
.bff-guidance-card p { margin-bottom: 0; color: var(--bff-muted); }
.bff-guidance-card__actions { display: flex; gap: .65rem; }
.bff-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.bff-process-grid article { position: relative; min-height: 180px; padding: 1.4rem 1.2rem 1.2rem 4.4rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: var(--bff-shadow-sm); }
.bff-process-grid article > span { position: absolute; top: 1.2rem; left: 1.1rem; display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; color: var(--bff-white); background: var(--bff-blue-600); font-weight: 900; }
.bff-process-grid article:nth-child(2) > span { color: var(--bff-navy-950); background: var(--bff-yellow); }
.bff-process-grid article:nth-child(3) > span { background: var(--bff-green); }
.bff-process-grid p { color: var(--bff-muted); font-size: .86rem; }

/* Service single */
.bff-service-hero { padding: 2rem 0 0; background: linear-gradient(110deg, #edf7ff 0%, #fff 48%, #fff7d6 100%); }
.bff-service-hero__grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: stretch; gap: 2.5rem; }
.bff-service-hero__content { align-self: center; padding: 2.5rem 0 4rem; }
.bff-service-hero__content h1 { font-size: clamp(2.45rem, 4.8vw, 4.8rem); }
.bff-service-hero__content > p { color: var(--bff-muted); font-size: 1.08rem; }
.bff-service-hero__tagline { color: var(--bff-blue-700) !important; font-size: clamp(1.2rem, 2vw, 1.75rem) !important; font-weight: 850; }
.bff-age-pill { display: inline-flex; margin-bottom: 1rem; padding: .42rem .8rem; border-radius: 999px; color: var(--bff-navy-950); background: var(--bff-yellow); font-size: .84rem; font-weight: 900; }
.bff-service-hero__media { position: relative; min-height: 580px; }
.bff-service-hero__media img { width: 100%; height: 100%; min-height: 580px; object-fit: cover; border-radius: var(--bff-radius-xl) var(--bff-radius-xl) 0 0; }
.bff-service-overview { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 2.5rem; }
.bff-service-overview__content p { color: var(--bff-muted); }
.bff-service-quote { padding: 2rem; border-radius: var(--bff-radius-lg); background: linear-gradient(135deg, #e3f3ff, #f9fcff); }
.bff-service-quote .bff-icon { width: 2.5rem; height: 2.5rem; color: #79baf2; }
.bff-service-quote p { margin: .8rem 0 0; color: var(--bff-navy-900); font-size: 1.15rem; font-weight: 700; }
.bff-outcome-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.bff-outcome-grid article { min-height: 190px; padding: 1.25rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: var(--bff-shadow-sm); }
.bff-outcome-grid article > span { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: .8rem; border-radius: 50%; color: var(--bff-white); background: var(--bff-blue-600); font-weight: 900; }
.bff-outcome-grid article:nth-child(2n) > span { color: var(--bff-navy-950); background: var(--bff-yellow); }
.bff-outcome-grid article:nth-child(3n) > span { background: var(--bff-green); }
.bff-outcome-grid p { color: var(--bff-muted); font-size: .82rem; }
.bff-two-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.bff-info-card { padding: clamp(1.4rem, 3vw, 2.4rem); border-radius: var(--bff-radius-lg); background: linear-gradient(135deg, #edf8ff, #fff); }
.bff-info-card--yellow { background: linear-gradient(135deg, #fff8d8, #fff); }
.bff-info-card p { color: var(--bff-muted); }
.bff-service-banner { position: relative; min-height: 440px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: stretch; color: var(--bff-white); background: var(--bff-navy-900); overflow: hidden; }
.bff-service-banner__media { min-height: 440px; }
.bff-service-banner__media img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; }
.bff-service-banner__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); background: linear-gradient(120deg, var(--bff-navy-900), var(--bff-blue-700)); }
.bff-service-banner h2 { color: var(--bff-white); }
.bff-contact-service-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 1.2rem; align-items: start; }
.bff-related-services { padding: 1.2rem; border-radius: var(--bff-radius-lg); background: var(--bff-blue-50); }
.bff-related-card { display: grid; grid-template-columns: 150px 1fr; gap: 1rem; margin-top: 1rem; padding: .8rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); }
.bff-related-card__media img { width: 100%; height: 100%; min-height: 130px; object-fit: cover; border-radius: .75rem; }
.bff-related-card h3 { font-size: 1rem; }
.bff-related-card h3 a { color: var(--bff-navy-900); text-decoration: none; }
.bff-related-card p { color: var(--bff-muted); font-size: .78rem; }
.bff-contact-mini-card { display: grid; gap: .65rem; margin-top: 1rem; padding: 1.2rem; border-radius: var(--bff-radius); background: linear-gradient(135deg, #fff7ce, #fff); }
.bff-contact-mini-card a { display: flex; align-items: center; gap: .55rem; color: var(--bff-navy-900); font-size: .84rem; font-weight: 750; text-decoration: none; }

/* Contact */
.bff-contact-chips { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.4rem; }
.bff-contact-chips a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .55rem .8rem; border: 1px solid var(--bff-border); border-radius: 999px; color: var(--bff-navy-900); background: var(--bff-white); font-size: .78rem; font-weight: 800; text-decoration: none; }
.bff-contact-page-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 1.2rem; align-items: start; }
.bff-contact-sidebar { display: grid; gap: 1rem; }
.bff-contact-sidebar__card { padding: 1.4rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: var(--bff-shadow-sm); }
.bff-contact-sidebar__card > span { display: grid; width: 50px; height: 50px; place-items: center; margin-bottom: .8rem; border-radius: 50%; color: var(--bff-blue-700); background: var(--bff-blue-100); }
.bff-contact-sidebar__card p { color: var(--bff-muted); font-size: .87rem; }
.bff-contact-sidebar__card--whatsapp { color: var(--bff-white); background: linear-gradient(135deg, #0b8f49, #18b85b); border-color: transparent; }
.bff-contact-sidebar__card--whatsapp h2, .bff-contact-sidebar__card--whatsapp p { color: var(--bff-white); }
.bff-contact-sidebar__card--whatsapp > span { color: var(--bff-green-dark); background: var(--bff-white); }

/* Blog archive and article */
.bff-page-hero { padding: clamp(3.5rem, 7vw, 7rem) 0; background: linear-gradient(135deg, #eef8ff 0%, #fff 55%, #fff7dc 100%); }
.bff-page-hero__content { max-width: 880px; }
.bff-page-hero__content > p { color: var(--bff-muted); font-size: 1.06rem; }
.bff-blog-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.bff-blog-toolbar .bff-search-form { max-width: 460px; }
.bff-search-form { display: flex; gap: .6rem; width: 100%; }
.bff-search-form label { flex: 1; }
.bff-search-form__input { width: 100%; min-height: 50px; padding: .75rem 1rem; border: 1px solid #cbd8e6; border-radius: 999px; color: var(--bff-ink); background: var(--bff-white); }
.bff-article__header { padding: 2rem 0 4rem; background: linear-gradient(135deg, #eef8ff, #fff, #fff8e3); }
.bff-article__header-grid { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.bff-article__header h1 { font-size: clamp(2.3rem, 4.5vw, 4.6rem); }
.bff-article__meta { display: flex; gap: 1rem; color: var(--bff-muted); font-size: .8rem; }
.bff-article__cover img { width: 100%; aspect-ratio: 1.9 / 1; object-fit: cover; border-radius: var(--bff-radius-xl); box-shadow: var(--bff-shadow-md); }
.bff-article__layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(240px, 1fr); align-items: start; gap: clamp(2rem, 5vw, 5rem); padding-block: clamp(3rem, 7vw, 7rem); }
.bff-article__content { font-size: clamp(1rem, 1vw, 1.1rem); }
.bff-article__content > p:first-of-type { color: var(--bff-navy-900); font-size: 1.2em; }
.bff-article__aside { position: sticky; top: 110px; }
.bff-article-cta { padding: 1.4rem; border-radius: var(--bff-radius-lg); background: linear-gradient(135deg, #e4f4ff, #fff9df); }
.bff-article-cta .bff-text-link { margin-top: 1rem; }

/* Search and empty */
.bff-search-results { display: grid; gap: 1rem; }
.bff-search-result { padding: 1.2rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); box-shadow: var(--bff-shadow-sm); }
.bff-search-result__type { color: var(--bff-blue-700); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.bff-search-result h2 { margin-top: .4rem; font-size: 1.45rem; }
.bff-search-result h2 a { color: var(--bff-navy-900); text-decoration: none; }
.bff-search-result p { color: var(--bff-muted); }
.bff-empty-state { grid-column: 1 / -1; padding: 2rem; border: 1px dashed #b8cadd; border-radius: var(--bff-radius); text-align: center; background: var(--bff-white); }
.bff-not-found { min-height: 70vh; display: grid; align-items: center; padding: 4rem 0; background: radial-gradient(circle at 80% 20%, rgba(255,211,38,.35), transparent 32%), linear-gradient(135deg, #eef8ff, #fff); }
.bff-not-found__inner { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: 3rem; }
.bff-not-found__number { margin: 0; color: var(--bff-yellow); font-size: clamp(5rem, 12vw, 10rem); font-weight: 950; line-height: .8; text-shadow: 0 12px 32px rgba(6,47,99,.12); }
.bff-not-found__art { display: grid; min-height: 360px; place-items: center; padding: 2rem; border-radius: 50% 45% 50% 42%; color: var(--bff-white); background: linear-gradient(135deg, var(--bff-blue-700), var(--bff-navy-900)); text-align: center; transform: rotate(3deg); }
.bff-not-found__art span { font-size: 8rem; font-weight: 900; }

/* Global CTA and Footer */
.bff-global-cta { padding: 2.2rem 0; color: var(--bff-white); background: linear-gradient(105deg, var(--bff-blue-700), #0c78d8, var(--bff-navy-900)); }
.bff-global-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.bff-global-cta h2 { color: var(--bff-white); }
.bff-global-cta p { margin-bottom: 0; color: #ddebfa; }
.bff-global-cta__actions { display: flex; flex-wrap: wrap; gap: .7rem; flex: 0 0 auto; }
.bff-site-footer { color: #c9ddf2; background: var(--bff-navy-950); }
.bff-site-footer__grid { display: grid; grid-template-columns: 1.2fr .75fr 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); padding-block: clamp(3rem, 6vw, 5rem); }
.bff-site-footer__brand > p { max-width: 300px; margin-top: 1.2rem; font-size: .84rem; }
.bff-site-footer__heading { margin-bottom: .8rem; color: var(--bff-white); font-size: .92rem; }
.bff-footer-links, .bff-footer-links ul { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.bff-footer-links a { color: #c9ddf2; font-size: .78rem; text-decoration: none; }
.bff-footer-links a:hover { color: var(--bff-yellow); }
.bff-site-footer__contact { display: grid; align-content: start; gap: .65rem; }
.bff-site-footer__contact > a { display: flex; align-items: center; gap: .55rem; color: #dbeaf8; font-size: .8rem; text-decoration: none; }
.bff-site-footer__script { margin-top: 1rem; color: var(--bff-yellow); font-size: 1.1rem; line-height: 1.35; }
.bff-social-links { display: flex; gap: .5rem; margin-top: 1rem; }
.bff-social-links a { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; color: var(--bff-white); background: rgba(255,255,255,.1); font-size: .68rem; font-weight: 900; text-decoration: none; }
.bff-site-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); }
.bff-site-footer__bottom .bff-shell { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.bff-site-footer__bottom p { margin: 0; font-size: .7rem; }
.bff-site-footer__legal, .bff-legal-menu { display: flex; align-items: center; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.bff-site-footer__legal a { color: #c9ddf2; font-size: .7rem; text-decoration: none; }

/* Native mobile nav / sheet */
.bff-app-nav, .bff-mobile-enquiry-fab { display: none; }
.bff-enquiry-sheet { display: none; align-items: end; }
.bff-enquiry-sheet__panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: min(92vh, 900px); padding: 1rem 1rem calc(1.5rem + env(safe-area-inset-bottom)); border-radius: 1.6rem 1.6rem 0 0; background: var(--bff-white); box-shadow: 0 -30px 80px rgba(3,29,61,.24); overflow-y: auto; animation: bffSheetIn .3s var(--bff-ease); }
@keyframes bffSheetIn { from { transform: translateY(100%); } to { transform: translateY(0); } }
.bff-enquiry-sheet__handle { width: 50px; height: 5px; margin: 0 auto 1rem; border-radius: 999px; background: #c9d4df; }
.bff-enquiry-sheet__close { position: absolute; top: .8rem; right: .8rem; }

/* Pagination */
.nav-links { display: flex; justify-content: center; gap: .5rem; margin-top: 2rem; }
.nav-links .page-numbers { display: grid; min-width: 42px; height: 42px; place-items: center; padding-inline: .7rem; border: 1px solid var(--bff-border); border-radius: 999px; color: var(--bff-navy-900); background: var(--bff-white); text-decoration: none; }
.nav-links .current { color: var(--bff-white); background: var(--bff-blue-700); border-color: var(--bff-blue-700); }

/* Reveal effects */
.js [data-bff-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s var(--bff-ease), transform .65s var(--bff-ease); }
.js [data-bff-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1180px) {
  .bff-primary-nav { display: none; }
  .bff-mobile-menu-toggle { display: grid; }
  .bff-main-header__inner { grid-template-columns: 1fr auto; }
  .bff-main-header__brand { min-width: 0; }
  .bff-header-search { display: none; }
  .bff-service-grid--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bff-post-grid--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bff-values-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bff-stage-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bff-stage-strip > div:nth-child(3) { border-right: 0; }
  .bff-stage-strip > div:nth-child(-n+3) { border-bottom: 1px solid #cfe1f3; }
}

@media (max-width: 900px) {
  :root { --bff-header-height: 72px; }
  .bff-utility-bar__inner > p { display: none; }
  .bff-main-header__actions .bff-header-cta { display: none; }
  .bff-hero { min-height: 680px; }
  .bff-hero__inner { min-height: 680px; grid-template-columns: 1fr; align-items: end; padding-top: 8rem; padding-bottom: 7rem; }
  .bff-hero__veil { background: linear-gradient(180deg, rgba(3,29,61,.15) 0%, rgba(3,29,61,.35) 28%, rgba(3,29,61,.96) 72%, rgba(3,29,61,1) 100%); }
  .bff-hero__content { align-self: end; }
  .bff-hero__note { display: none; }
  .bff-welcome__grid { grid-template-columns: .8fr 1.2fr; }
  .bff-welcome__audiences { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bff-conversion__grid, .bff-contact-page-grid, .bff-contact-service-grid { grid-template-columns: 1fr; }
  .bff-testimonial-grid { grid-template-columns: 1fr; }
  .bff-post-grid, .bff-post-grid--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bff-inner-hero__grid, .bff-service-hero__grid, .bff-prose-split, .bff-approach-grid, .bff-service-overview, .bff-article__header-grid { grid-template-columns: 1fr; }
  .bff-inner-hero__media { min-height: 380px; }
  .bff-inner-hero__media img { min-height: 380px; }
  .bff-service-hero__content { padding-bottom: 1rem; }
  .bff-service-hero__media { min-height: 430px; }
  .bff-service-hero__media img { min-height: 430px; border-radius: var(--bff-radius-xl); }
  .bff-journey { grid-template-columns: repeat(5, minmax(170px, 1fr)); overflow-x: auto; padding-bottom: 1rem; scroll-snap-type: x mandatory; }
  .bff-journey::before { display: none; }
  .bff-journey__item { scroll-snap-align: start; padding: 1rem; border: 1px solid var(--bff-border); border-radius: var(--bff-radius); background: var(--bff-white); }
  .bff-mission-grid, .bff-two-card-grid { grid-template-columns: 1fr; }
  .bff-approach-list { grid-template-columns: 1fr; }
  .bff-guidance-card { grid-template-columns: 64px 1fr; }
  .bff-guidance-card__actions { grid-column: 1 / -1; }
  .bff-outcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bff-service-banner { grid-template-columns: 1fr; }
  .bff-service-banner__media { min-height: 330px; }
  .bff-service-banner__media img { min-height: 330px; }
  .bff-article__layout { grid-template-columns: 1fr; }
  .bff-article__aside { position: static; }
  .bff-global-cta__inner { align-items: flex-start; flex-direction: column; }
  .bff-site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bff-not-found__inner { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  body { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  .bff-shell { width: min(calc(100% - 1.25rem), var(--bff-shell)); }
  .bff-section { padding: 3.2rem 0; }
  .bff-utility-bar { display: none; }
  .bff-main-header__inner { min-height: 68px; gap: .5rem; }
  .bff-brand__mark { width: 40px; height: 40px; }
  .bff-brand__copy strong { font-size: .9rem; }
  .bff-brand__copy small { display: none; }
  .bff-main-header__actions { gap: .3rem; }
  .bff-round-action { width: 42px; height: 42px; }
  .bff-hero { min-height: 720px; }
  .bff-hero__inner { min-height: 720px; padding: 6rem 0 6.5rem; }
  .bff-hero__content { padding: 1rem .2rem; }
  .bff-hero h1, .bff-hero h2 { font-size: clamp(2.4rem, 11vw, 3.4rem); }
  .bff-hero__subtitle { font-size: 1.3rem; }
  .bff-hero__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .bff-hero__actions .bff-button { min-width: 0; padding-inline: .85rem; font-size: .78rem; }
  .bff-hero__controls { bottom: 1rem; }
  .bff-ticker__inner { min-height: 46px; grid-template-columns: auto 1fr; gap: .7rem; }
  .bff-ticker strong { font-size: .7rem; }
  .bff-ticker__item { font-size: .72rem; }
  .bff-section-heading { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .bff-section-heading .bff-text-link { align-self: flex-start; }
  .bff-welcome__grid { grid-template-columns: 1fr; }
  .bff-welcome__media img { aspect-ratio: 1.3 / 1; }
  .bff-hand-note { right: .5rem; }
  .bff-welcome__audiences { grid-column: auto; grid-template-columns: 1fr; }
  .bff-service-grid, .bff-service-grid--six, .bff-service-grid--archive { grid-template-columns: 1fr; }
  .bff-service-card { display: grid; grid-template-columns: 38% 62%; min-height: 180px; }
  .bff-service-card__media { height: 100%; }
  .bff-service-card__media img { height: 100%; min-height: 180px; aspect-ratio: auto; }
  .bff-service-card__body { padding: .85rem; }
  .bff-service-card h3 { font-size: .96rem; }
  .bff-service-card p { font-size: .72rem; }
  .bff-service-card__age { top: .55rem; bottom: auto; }
  .bff-service-grid--six .bff-service-card__body { padding: .8rem; }
  .bff-featured-service { min-height: auto; grid-template-columns: 1fr; }
  .bff-featured-service__media img { aspect-ratio: 1.65 / 1; }
  .bff-featured-service__scribble { display: none; }
  .bff-enquiry-form__grid { grid-template-columns: 1fr; }
  .bff-enquiry-form__footer { align-items: stretch; flex-direction: column; }
  .bff-enquiry-form__footer .bff-button { width: 100%; }
  .bff-post-grid, .bff-post-grid--five, .bff-post-grid--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  .bff-post-card__body, .bff-post-grid--five .bff-post-card__body { padding: .72rem; }
  .bff-post-card h3, .bff-post-grid--five .bff-post-card h3 { font-size: .82rem; }
  .bff-post-card p { display: none; }
  .bff-post-card__meta { font-size: .6rem !important; }
  .bff-post-card .bff-text-link { font-size: .68rem; }
  .bff-inner-hero { padding: 1.6rem 0 2.8rem; }
  .bff-inner-hero__grid { gap: 1.5rem; }
  .bff-inner-hero__content h1 { font-size: clamp(2.2rem, 10vw, 3.1rem); }
  .bff-inner-hero__media, .bff-inner-hero__media img { min-height: 320px; }
  .bff-prose-split__badge { left: .5rem; }
  .bff-journey { grid-template-columns: repeat(5, 78vw); }
  .bff-purpose-card { grid-template-columns: 54px 1fr; padding: 1.2rem; }
  .bff-purpose-card__icon { width: 50px; height: 50px; }
  .bff-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bff-values-grid article:last-child { grid-column: 1 / -1; }
  .bff-stage-strip { display: flex; overflow-x: auto; padding: .75rem; scroll-snap-type: x mandatory; }
  .bff-stage-strip > div { min-width: 180px; border-right: 1px solid #cfe1f3 !important; border-bottom: 0 !important; scroll-snap-align: start; }
  .bff-filter-bar { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding-bottom: .4rem; scroll-snap-type: x mandatory; }
  .bff-filter-bar button { flex: 0 0 auto; scroll-snap-align: start; }
  .bff-guidance-card { grid-template-columns: 52px 1fr; padding: 1rem; }
  .bff-guidance-card__icon { width: 50px; height: 50px; }
  .bff-guidance-card__actions { display: grid; }
  .bff-process-grid { grid-template-columns: 1fr; }
  .bff-process-grid article { min-height: auto; }
  .bff-service-hero { padding-top: 1.2rem; }
  .bff-service-hero__content h1 { font-size: clamp(2.2rem, 10vw, 3.1rem); }
  .bff-service-hero__media, .bff-service-hero__media img { min-height: 340px; }
  .bff-outcome-grid { grid-template-columns: 1fr; }
  .bff-related-card { grid-template-columns: 112px 1fr; }
  .bff-contact-chips { display: grid; }
  .bff-contact-chips a { border-radius: .8rem; }
  .bff-blog-toolbar { align-items: stretch; flex-direction: column; }
  .bff-search-form { display: grid; grid-template-columns: 1fr auto; }
  .bff-article__header { padding-bottom: 2.6rem; }
  .bff-article__header h1 { font-size: clamp(2.1rem, 9vw, 3rem); }
  .bff-article__meta { flex-wrap: wrap; }
  .bff-global-cta { padding: 1.7rem 0; }
  .bff-global-cta__actions { display: grid; width: 100%; grid-template-columns: 1fr; }
  .bff-site-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem 1rem; padding-bottom: 2.5rem; }
  .bff-site-footer__brand { grid-column: 1 / -1; }
  .bff-site-footer__contact { grid-column: 1 / -1; }
  .bff-site-footer__bottom .bff-shell { min-height: 80px; align-items: flex-start; flex-direction: column; justify-content: center; }
  .bff-not-found__art { min-height: 280px; }

  .bff-app-nav {
    position: fixed;
    z-index: 1500;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: calc(68px + env(safe-area-inset-bottom));
    padding: .45rem .4rem calc(.4rem + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(6,47,99,.1);
    background: rgba(255,255,255,.95);
    box-shadow: 0 -14px 40px rgba(3,29,61,.12);
    backdrop-filter: blur(18px) saturate(1.5);
  }
  .bff-app-nav a { position: relative; display: grid; place-items: center; gap: .15rem; padding: .3rem; border-radius: .9rem; color: var(--bff-ink); font-size: .68rem; font-weight: 750; line-height: 1; text-decoration: none; }
  .bff-app-nav a .bff-icon { width: 1.35rem; height: 1.35rem; }
  .bff-app-nav a[aria-current="page"] { color: var(--bff-blue-700); background: #e7f3ff; }
  .bff-mobile-enquiry-fab {
    position: fixed;
    z-index: 1490;
    right: .75rem;
    bottom: calc(76px + env(safe-area-inset-bottom));
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 44px;
    padding: .65rem .9rem;
    border: 0;
    border-radius: 999px;
    color: var(--bff-navy-950);
    background: var(--bff-yellow);
    box-shadow: 0 12px 28px rgba(6,47,99,.22);
    font-size: .74rem;
    font-weight: 900;
    cursor: pointer;
  }
  .bff-enquiry-sheet { display: flex; }
  .bff-enquiry-sheet[hidden] { display: none; }
}

@media (max-width: 430px) {
  .bff-brand__copy strong { font-size: .78rem; }
  .bff-main-header__actions .bff-round-action { display: none; }
  .bff-hero__actions { grid-template-columns: 1fr; }
  .bff-post-grid, .bff-post-grid--five, .bff-post-grid--archive { grid-template-columns: 1fr 1fr; }
  .bff-values-grid { grid-template-columns: 1fr; }
  .bff-values-grid article:last-child { grid-column: auto; }
  .bff-site-footer__grid { grid-template-columns: 1fr; }
  .bff-site-footer__brand, .bff-site-footer__contact { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .bff-hero__background { transform: none !important; }
  .js [data-bff-reveal] { opacity: 1; transform: none; }
}

@media print {
  .bff-site-header, .bff-global-cta, .bff-site-footer, .bff-app-nav, .bff-mobile-enquiry-fab { display: none !important; }
  body { padding: 0; color: #000; }
  a { color: #000; text-decoration: underline; }
}
