:root {
  --bl-navy: #071126;
  --bl-navy-deep: #050d1d;
  --bl-navy-soft: #0d1c3b;
  --bl-gold: #c9a84c;
  --bl-gold-light: #e0c57b;
  --bl-white: #fff;
  --bl-porcelain: #f5f3ee;
  --bl-line: #ddd8cd;
  --bl-muted: #687081;
  --bl-heading: "Cormorant Garamond", Georgia, serif;
  --bl-body: Montserrat, Arial, sans-serif;
}

html:has(body.bright-lisbon-elementor),
body.bright-lisbon-elementor { max-width: 100%; overflow-x: clip; }

.bright-lisbon-elementor .site-main,
.bright-lisbon-elementor .site-main > article,
.bright-lisbon-elementor .site-main .elementor {
  width: 100%;
  max-width: none;
}

.bright-lisbon-elementor .e-con {
  --container-max-width: none;
  max-width: none;
}

.bright-lisbon-elementor .elementor-heading-title {
  margin: 0;
  color: var(--bl-navy) !important;
  font-family: var(--bl-heading) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.bright-lisbon-elementor .elementor-widget-text-editor {
  color: var(--bl-muted) !important;
  font-family: var(--bl-body) !important;
  line-height: 1.75;
}

.bright-lisbon-elementor .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

.bl-pattern {
  background-color: var(--bl-navy) !important;
  background-image: linear-gradient(rgba(201,168,76,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.035) 1px,transparent 1px),
    radial-gradient(circle at 72% 28%,rgba(40,72,132,.22),transparent 35%) !important;
  background-size: 48px 48px, 48px 48px, auto !important;
}

.bl-dark .elementor-heading-title { color: var(--bl-white) !important; }
.bl-dark .elementor-widget-text-editor { color: #c8cdd6 !important; }
.bl-cream { background: var(--bl-porcelain) !important; }

.bright-lisbon-elementor .bl-kicker .elementor-heading-title,
.bl-label {
  color: var(--bl-gold) !important;
  font-family: var(--bl-body) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .2em;
  line-height: 1.35 !important;
  text-transform: uppercase;
}

.bl-display h1 { font-size: clamp(58px, 6.45vw, 110px) !important; line-height: .94 !important; }
.bl-display em,
.bl-section-title em { color: var(--bl-gold); font-weight: 500; }
.bl-section-title h2 { font-size: clamp(42px, 4.5vw, 70px) !important; }

.bl-lead,
.bl-lead p {
  color: var(--bl-navy) !important;
  font-family: var(--bl-heading) !important;
  font-size: clamp(25px, 2.4vw, 34px) !important;
  font-style: italic;
  line-height: 1.35 !important;
}

.bl-button .elementor-button,
.bl-form-submit {
  width: auto !important;
  min-height: 56px !important;
  padding: 0 25px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  color: var(--bl-navy) !important;
  background: var(--bl-gold) !important;
  border: 1px solid transparent !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.13) !important;
  font-family: var(--bl-body) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  line-height: 1.15 !important;
  text-transform: uppercase !important;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.bl-button .elementor-button::after,
.bl-form-submit::after { content: ''; position: absolute; inset: -150% -40%; z-index: 0; pointer-events: none; background: linear-gradient(110deg, transparent 42%, rgba(255,255,255,.38) 50%, transparent 58%); transform: translateX(-55%); transition: transform .7s ease; }
.bl-button .elementor-button:hover::after,
.bl-button .elementor-button:focus-visible::after,
.bl-form-submit:hover::after,
.bl-form-submit:focus-visible::after { transform: translateX(55%); }
.bl-button .elementor-button-content-wrapper,
.bl-form-submit > span { position: relative; z-index: 1; }
.bl-button .elementor-button-icon { width: 28px; height: 28px; display: inline-grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.bl-button .elementor-button-icon svg { width: 13px !important; height: 13px !important; }

.bright-lisbon-elementor .bl-button {
  width: max-content !important;
  max-width: 100%;
  padding: 0 !important;
}

.bl-button .elementor-button:hover,
.bl-form-submit:hover { background: var(--bl-gold-light) !important; transform: translateY(-2px); }
.bl-button .elementor-button svg,
.bl-form-submit svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.bl-button-outline .elementor-button { color: #fff !important; background: transparent !important; border-color: rgba(255,255,255,.55) !important; }
.bl-button-outline .elementor-button:hover { color: var(--bl-navy) !important; background: #fff !important; }
.bl-button-dark .elementor-button { color: #fff !important; background: var(--bl-navy) !important; border-color: var(--bl-navy); }

/* Header and footer */
.bl-topbar {
  min-height: 34px;
  padding: 0 5vw !important;
  display: grid !important;
  grid-template-columns: 55% 45%;
  gap: 0 !important;
  align-items: center;
  color: #d8dbe2;
  background: #020916;
  border-bottom: 1px solid rgba(201,168,76,.35);
}

.bl-topbar > .e-con { min-height: 34px; justify-content: center; padding: 0; }
.bl-topbar .elementor-widget-text-editor,
.bl-topbar p { margin: 0; color: #d8dbe2; font-size: 11px; line-height: 1.2; }
.bl-topbar-contact a { margin-right: 28px; }
.bl-topbar-location { align-items: flex-end; }
.bl-topbar-location .elementor-widget-text-editor { text-align: right; }

.bl-header {
  position: sticky !important;
  top: 0;
  z-index: 80 !important;
  min-height: 88px !important;
  padding: 0 5vw !important;
  display: grid !important;
  grid-template-columns: 22% 58% 20%;
  gap: 0 !important;
  align-items: center;
  background: rgba(7,17,38,.97);
  border-bottom: 1px solid rgba(201,168,76,.3);
  box-shadow: 0 14px 35px rgba(0,0,0,.16);
}

.admin-bar .bl-header { top: 32px; }
.bl-header > .e-con { min-height: 88px; justify-content: center; padding: 0; }
.bl-logo { position: relative; width: 180px !important; height: 76px !important; padding: 0 !important; overflow: hidden; }
.bl-logo img { position: absolute; top: -24px; left: 0; width: 170px; height: auto !important; max-width: none; object-fit: fill; }
.bl-navigation-widget { width: 100%; }
.bl-primary-nav__list { margin: 0; padding: 0; display: flex; justify-content: flex-end; gap: clamp(14px,1.35vw,26px); list-style: none; }
.bl-primary-nav a { position: relative; padding: 14px 0; display: block; color: #fff; font-size: 11px; font-weight: 500; white-space: nowrap; }
.bl-primary-nav a::after { content: ''; position: absolute; right: 100%; bottom: 7px; left: 0; height: 1px; background: var(--bl-gold); transition: right .25s ease; }
.bl-primary-nav a:hover::after,
.bl-primary-nav .current-menu-item a::after,
.bl-primary-nav a.is-active::after { right: 0; }
.bl-header .bl-button { padding: 0 !important; align-items: flex-end; }
.bl-header .bl-button .elementor-button { min-height: 56px; padding: 13px 18px !important; font-size: 9px !important; font-weight: 600 !important; }
.bl-header .bl-button .elementor-button-icon { display: none; }
.bl-menu-toggle { display: none; }

.bl-footer {
  padding: 65px 7vw 48px !important;
  display: grid !important;
  grid-template-columns: 1.4fr repeat(3,1fr);
  gap: 6vw !important;
  color: #fff;
  background: var(--bl-navy);
}

.bl-footer > .e-con { padding: 0 !important; align-content: flex-start; gap: 12px !important; }
.bl-footer > .e-con:first-child { gap: 0 !important; }
.bl-footer .bl-logo { margin-bottom: 18px; }
.bl-footer .elementor-heading-title { margin: 0 0 22px !important; color: var(--bl-gold) !important; font-family: var(--bl-body); font-size: 10px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
.bl-footer .elementor-widget-text-editor { color: #c8ccd4; font-size: 12px; }
.bl-footer .elementor-icon-list-items { margin: 0; padding: 0; list-style: none; }
.bl-footer .elementor-icon-list-item { margin: 0 0 10px; }
.bl-footer .elementor-icon-list-icon { display: none; }
.bl-footer .elementor-icon-list-text { color: #c8ccd4 !important; font-size: 12px; }
.bl-footer-bottom { padding: 18px 7vw !important; display: grid !important; grid-template-columns: 55% 45%; gap: 0 !important; background: #020916; border-top: 1px solid rgba(201,168,76,.25); }
.bl-footer-bottom > .e-con { padding: 0; }
.bl-footer-bottom .elementor-widget-text-editor { color: #9097a5; font-size: 10px; }
.bl-footer-bottom > .e-con:last-child { align-items: flex-end; }
.bl-footer-bottom > .e-con:last-child .elementor-widget-text-editor { text-align: right; }

/* Homepage hero */
.bl-home-hero {
  min-height: 820px;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 53% 47%;
  gap: 0 !important;
  overflow: hidden;
  color: #fff;
  background: var(--bl-navy);
}

.bl-home-hero > .e-con { min-width: 0; padding: 0 !important; }
.bl-home-hero > .bl-home-hero-copy { padding: 8vh 4vw 7vh 7vw !important; display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; justify-content: flex-start !important; align-content: center !important; column-gap: 13px !important; }
.bl-home-hero-copy > .elementor-widget { width: 100% !important; }
.bl-home-hero-copy .bl-display h1 { max-width: 760px; font-size: clamp(64px,6.45vw,110px) !important; line-height: .94 !important; }
.bl-home-hero-copy > .elementor-widget-text-editor { max-width: 650px; color: #d3d6dc; font-size: 18px; }
.bl-home-hero-copy .elementor-divider { width: 70px; }
.bl-home-hero-copy .elementor-divider-separator { border-color: var(--bl-gold) !important; }
.bl-home-hero-copy > .e-con:not(.bl-home-contact-rail) { width: auto !important; display: flex !important; flex-direction: row !important; gap: 13px !important; flex-wrap: wrap !important; padding: 0 !important; }
.bl-home-hero-copy > .e-con:not(.bl-home-contact-rail) > .e-con { width: auto !important; min-width: 0; padding: 0 !important; }
.bl-home-hero-copy .bl-button-outline .elementor-button,
.bl-contact-hero .bl-button-outline .elementor-button { color: #fff !important; background: transparent !important; border-color: rgba(255,255,255,.55) !important; }
.bl-home-hero-copy .bl-button-outline .elementor-button:hover,
.bl-home-hero-copy .bl-button-outline .elementor-button:focus-visible,
.bl-contact-hero .bl-button-outline .elementor-button:hover,
.bl-contact-hero .bl-button-outline .elementor-button:focus-visible { color: var(--bl-navy) !important; background: #fff !important; border-color: #fff !important; }

.bl-home-hero-media {
  position: relative;
  min-height: 820px !important;
  overflow: visible;
  background: radial-gradient(circle at 50% 42%,rgba(201,168,76,.18),transparent 28%), linear-gradient(145deg,#101f40,#071126);
}
.bl-home-hero-media::before { content: ''; position: absolute; inset: 6% 7% 8% 3%; border: 1px solid rgba(201,168,76,.33); border-radius: 320px 320px 28px 28px; }
.bl-home-portrait { position: absolute !important; inset: 7% 7% 0 6%; width: auto !important; overflow: hidden; border: 2px solid var(--bl-gold); border-radius: 290px 290px 0 0; box-shadow: 0 30px 80px rgba(0,0,0,.38); }
.bl-home-portrait img { width: 100%; height: 100% !important; object-fit: cover; object-position: center 24%; filter: saturate(.88) contrast(1.03); }
.bl-home-profile-name,
.bl-home-profile-role { position: absolute !important; z-index: 3; right: 12%; left: 12%; width: auto !important; padding-left: 18px; border-left: 2px solid var(--bl-gold); }
.bl-home-profile-name { bottom: 54px; }
.bl-home-profile-role { bottom: 27px; }
.bl-home-profile-name .elementor-heading-title { color: var(--bl-gold-light) !important; font-size: 28px !important; }
.bl-home-profile-role { color: #fff !important; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; }
.bl-home-advisor { position: absolute !important; z-index: 4; width: 94px !important; height: 94px; padding: 5px; overflow: hidden; background: var(--bl-navy); border: 2px solid var(--bl-gold); border-radius: 50%; box-shadow: 0 16px 35px rgba(0,0,0,.4); animation: bl-float 4s ease-in-out infinite; }
.bl-home-advisor img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 50%; }
.bl-home-advisor-one { top: 20%; left: -30px; }
.bl-home-advisor-one img { object-position: 16% center; transform: scale(2.4); }
.bl-home-advisor-two { top: 34%; right: 0; animation-delay: -1.7s; }
.bl-home-advisor-two img { object-position: 87% center; transform: scale(2.25); }

.bl-home-contact-rail { width: 100%; max-width: 690px; margin-top: 34px; padding: 0 !important; display: grid !important; grid-template-columns: repeat(3,1fr); align-items: stretch !important; gap: 10px; }
.bl-home-contact-item { position: relative; min-height: 74px; padding: 12px 15px !important; display: grid !important; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; align-content: center !important; column-gap: 11px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.09); border-radius: 14px; transition: transform .25s ease,border-color .25s ease,background .25s ease; }
.bl-home-contact-item:hover { transform: translateY(-4px); background: rgba(201,168,76,.09); border-color: rgba(201,168,76,.55); }
.bl-home-contact-item::before { width: 38px; height: 38px; display: grid; place-items: center; grid-column: 1; grid-row: 1 / span 2; align-self: center; color: var(--bl-gold); background: rgba(201,168,76,.12); border-radius: 11px; font: 600 17px var(--bl-body); }
.bl-home-contact-item:nth-child(1)::before { content: '◉'; }
.bl-home-contact-item:nth-child(2)::before { content: '☎'; }
.bl-home-contact-item:nth-child(3)::before { content: '✉'; }
.bl-home-contact-item .elementor-widget-heading .elementor-heading-title { color: var(--bl-gold) !important; font-family: var(--bl-body) !important; font-size: 10px !important; font-weight: 600 !important; line-height: 1.35 !important; letter-spacing: .07em; text-transform: uppercase; }
.bl-home-contact-item .elementor-widget-heading { grid-column: 2; grid-row: 1; }
.bl-home-contact-item .elementor-widget-text-editor { grid-column: 2; grid-row: 2; color: #9fa8b9 !important; font-size: 8px; line-height: 1.4; }
.bl-home-contact-item .bl-button { position: absolute !important; z-index: 2; inset: 0; width: 100% !important; max-width: none; opacity: 0; }
.bl-home-contact-item .elementor-button { width: 100% !important; height: 100% !important; min-height: 74px !important; }
.bl-home-contact-item:has(.elementor-button:focus-visible) { outline: 2px solid var(--bl-gold-light); outline-offset: 3px; }

.bl-home-ticker { width: 100% !important; max-width: 100vw !important; padding: 15px 0 !important; overflow: hidden !important; contain: paint; background: var(--bl-gold); }
.bl-home-ticker .e-con { min-width: 0 !important; padding: 0 !important; overflow: hidden !important; }
.bl-home-ticker-track { width: max-content !important; max-width: none !important; color: var(--bl-navy) !important; font-size: 12px; font-weight: 600; letter-spacing: .08em; white-space: nowrap; text-transform: uppercase; animation: bl-ticker 30s linear infinite; will-change: transform; }

/* Homepage content sections */
.bl-home-intro,
.bl-home-personalized { padding: clamp(100px,9vw,150px) 7vw !important; display: grid !important; grid-template-columns: .95fr 1.05fr; gap: 10vw; align-items: start; background: #fff; }
.bl-home-intro > .e-con,
.bl-home-personalized > .e-con { padding: 0; }
.bl-home-intro > .e-con:last-child,
.bl-home-personalized > .e-con:last-child { padding-top: 36px; }

.bl-home-trust { padding: 0 7vw 110px !important; background: var(--bl-porcelain); }
.bl-home-trust > .e-con { padding: 0; }
.bl-home-trust-inner { display: grid !important; grid-template-columns: repeat(3,1fr); gap: 0 !important; }
.bl-home-trust-card { padding: 30px 34px 24px 0 !important; border-top: 1px solid var(--bl-gold); border-right: 1px solid var(--bl-line); }
.bl-home-trust-card:not(:first-child) { padding-left: 34px !important; }
.bl-home-trust-card:last-child { border-right: 0; }
.bl-card-number .elementor-heading-title { color: var(--bl-gold) !important; font-size: 23px !important; }
.bl-card-title .elementor-heading-title { font-size: 28px !important; }
.bl-card-copy { color: var(--bl-muted) !important; font-size: 13px; }

/* Pathfinder custom widget */
.bl-home-pathfinder { padding: 0 !important; overflow: hidden; }
.bl-home-pathfinder .bl-pathfinder-widget { width: 100%; }
.bl-pathfinder { position: relative; padding: 110px 7vw; display: grid; grid-template-columns: .72fr 1.28fr; gap: 0 8vw; color: #fff; background: linear-gradient(125deg,#050d1d 0%,#08162a 58%,#0d1c32 100%); }
.bl-pathfinder::after { content: ''; position: absolute; width: 420px; height: 420px; right: -180px; bottom: -230px; border: 1px solid rgba(201,168,76,.25); border-radius: 50%; box-shadow: 0 0 0 55px rgba(201,168,76,.025),0 0 0 110px rgba(201,168,76,.018); }
.bl-pathfinder__intro { align-self: center; position: relative; z-index: 1; }
.bl-pathfinder__intro h2 { margin: 25px 0 30px; color: #fff; font-family: var(--bl-heading); font-size: clamp(48px,4vw,70px); font-weight: 500; line-height: 1; }
.bl-pathfinder__intro > p:last-child { max-width: 520px; color: #c4c9d1; }
.bl-pathfinder__main { position: relative; z-index: 1; }
.bl-pathfinder__tabs { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid rgba(255,255,255,.14); }
.bl-pathfinder__tabs button { padding: 0 0 22px; display: flex; flex-direction: column; align-items: flex-start; gap: 9px; color: #aeb5c0; background: transparent; border: 0; border-bottom: 2px solid transparent; cursor: pointer; font: 600 12px var(--bl-body); letter-spacing: .06em; text-transform: uppercase; }
.bl-pathfinder__tabs button span { color: var(--bl-gold); font: 400 21px var(--bl-heading); }
.bl-pathfinder__tabs button[aria-selected="true"] { color: #fff; border-bottom-color: var(--bl-gold); }
.bl-pathfinder__panel { min-height: 285px; padding: 46px 0 10px; display: grid; grid-template-columns: 70px 1fr; gap: 25px; animation: bl-panel-in .35s ease both; }
.bl-pathfinder__panel[hidden] { display: none; }
.bl-pathfinder__panel > span { color: var(--bl-gold); font: 400 44px var(--bl-heading); }
.bl-pathfinder__panel h3 { margin: 0 0 15px; font: 500 clamp(34px,3vw,49px)/1 var(--bl-heading); }
.bl-pathfinder__panel p { max-width: 680px; color: #c4c9d1; font-size: 14px; }
.bl-pathfinder__links { margin-top: 27px; display: flex; gap: 30px; flex-wrap: wrap; }
.bl-pathfinder__links a { display: inline-flex; align-items: center; gap: 10px; color: var(--bl-gold); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.bl-pathfinder__links svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }

.bl-home-services { padding: 0 !important; display: grid !important; grid-template-columns: 43% 57%; gap: 0 !important; background: var(--bl-porcelain); }
.bl-home-services > .e-con { min-width: 0; padding: 0 !important; }
.bl-home-service-photo { position: relative; min-height: 820px; overflow: hidden; }
.bl-home-service-image { position: absolute !important; inset: 0; }
.bl-home-service-image img { width: 100%; height: 100% !important; object-fit: cover; }
.bl-home-service-caption { position: absolute !important; right: 34px; bottom: 30px; left: 34px; padding: 18px; color: #fff !important; background: rgba(7,17,38,.88); border-left: 2px solid var(--bl-gold); font-size: 12px; }
.bl-home-services > .bl-home-service-list { padding: 95px 6vw !important; }
.bl-home-service-row { min-height: 106px; display: grid !important; grid-template-columns: 10% 72% 18%; gap: 0 !important; align-items: center; border-top: 1px solid var(--bl-line); }
.bl-home-service-row:last-child { border-bottom: 1px solid var(--bl-line); }
.bl-home-service-row > .e-con { padding: 0 15px; }
.bl-home-service-row .bl-card-title .elementor-heading-title { font-size: 26px !important; font-weight: 600 !important; }
.bl-home-service-row .bl-card-copy { margin-top: 6px; }
.bl-home-service-link { width: auto !important; }
.bl-home-service-link .elementor-button { width: auto !important; min-height: 0 !important; padding: 12px 0 !important; display: inline-flex !important; color: var(--bl-gold) !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font: 600 11px/1.2 var(--bl-body) !important; letter-spacing: .06em; text-transform: uppercase; transition: color .25s ease, padding .25s ease !important; }
.bl-home-service-link .elementor-button { border-radius: 0 !important; box-shadow: none !important; overflow: visible !important; }
.bl-home-service-link .elementor-button::after { display: none; }
.bl-home-service-link .elementor-button-content-wrapper { flex-direction: row-reverse; }
.bl-home-service-link .elementor-button-icon { width: auto; height: auto; border: 0; border-radius: 0; }
.bl-home-service-link .elementor-button-icon svg { width: 20px !important; height: 20px !important; }
.bl-home-service-link .elementor-button-text { display: none; }

.bl-home-journey { padding: clamp(100px,9vw,145px) 7vw !important; }
.bl-home-journey > .e-con { padding: 0 !important; display: grid !important; grid-template-columns: .68fr 1.32fr; grid-template-rows: auto auto 1fr; gap: 0 8vw !important; }
.bl-home-journey > .e-con > .bl-kicker,
.bl-home-journey > .e-con > .bl-section-title { grid-column: 1; }
.bl-home-journey > .e-con > .elementor-widget-spacer { display: none; }
.bl-home-journey-steps { grid-column: 2; grid-row: 1 / span 3; display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; }
.bl-step { min-height: 210px; padding: 28px !important; border-top: 1px solid var(--bl-gold); border-right: 1px solid rgba(201,168,76,.3); }
.bl-home-journey .bl-step .bl-card-title .elementor-heading-title { margin-top: 28px; color: #fff !important; }

.bl-home-portfolio { padding: 0 !important; display: grid !important; grid-template-columns: 39% 61%; gap: 0 !important; }
.bl-home-portfolio > .e-con { padding: 0 !important; }
.bl-home-portfolio > .bl-home-portfolio-heading { padding: 110px 6vw 110px 7vw !important; justify-content: center; }
.bl-home-portfolio-grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; border-left: 1px solid rgba(201,168,76,.28); }
.bl-home-portfolio-card { min-height: 245px; padding: 45px !important; border-right: 1px solid rgba(201,168,76,.22); border-bottom: 1px solid rgba(201,168,76,.22); transition: background .3s ease, transform .3s ease; }
.bl-home-portfolio-card:hover { background: #0e1a30; transform: translateY(-3px); }
.bl-home-portfolio-card .bl-card-title .elementor-heading-title { margin-top: 32px; color: #fff !important; font-size: 29px !important; }
.bl-home-portfolio-card .bl-card-copy { color: #c4c9d1 !important; }

.bl-home-image-story { min-height: 720px; padding: 0 !important; display: grid !important; grid-template-columns: 58% 42%; gap: 0 !important; background: var(--bl-porcelain); }
.bl-home-image-story > .e-con { padding: 0 !important; }
.bl-home-image-story-media { position: relative; overflow: hidden; }
.bl-home-image-story-image { position: absolute !important; inset: 0; }
.bl-home-image-story-image img { width: 100%; height: 100% !important; object-fit: cover; }
.bl-home-image-story > .bl-home-image-story-copy { padding: 7vw 6vw !important; justify-content: center; background: var(--bl-navy-soft); }

.bl-consultation-band { padding: 70px 7vw !important; display: grid !important; grid-template-columns: 1fr .8fr auto; align-items: center; gap: 5vw; background: var(--bl-porcelain); }
.bl-consultation-band > .e-con { min-width: 0; padding: 0 !important; }
.bl-consultation-band .bl-section-title h2 { font-size: clamp(40px,3.7vw,58px) !important; }
.bl-consultation-copy .elementor-widget-text-editor { font-size: 13px; }
.bl-consultation-action { align-items: flex-end !important; }

/* Service pages */
.bl-service-hero,
.bl-contact-hero { min-height: 650px; padding: 0 !important; display: grid !important; grid-template-columns: 46% 54%; gap: 0 !important; color: #fff; }
.bl-service-hero > .e-con,
.bl-contact-hero > .e-con { min-width: 0; padding: 0 !important; }
.bl-service-hero .bl-hero-copy,
.bl-contact-hero .bl-hero-copy { padding: 7vh 6vw 7vh 7vw !important; justify-content: center; }
.bl-service-hero .bl-display h1 { max-width: 700px; font-size: clamp(54px,5vw,80px) !important; }
.bl-contact-hero .bl-display h1 { max-width: 700px; font-size: clamp(54px,5.43vw,92px) !important; }
.bl-about-hero .bl-display h1 { max-width: 700px; font-size: clamp(54px,5.43vw,92px) !important; }
.bl-service-hero .bl-hero-image,
.bl-contact-hero .bl-hero-image { height: 100%; }
.bl-service-hero .bl-hero-image img,
.bl-contact-hero .bl-hero-image img { width: 100%; height: 100% !important; min-height: 650px; object-fit: cover; border: 0; border-radius: 0; box-shadow: none; }
.bl-service-hero .bl-hero-copy > .e-con { display: flex; flex-direction: row; }
.bl-service-hero .bl-hero-copy > .e-con,
.bl-contact-hero .bl-hero-copy > .e-con { width: auto !important; min-width: 0; padding: 0 !important; }

.bl-service-intro { padding: clamp(100px,9vw,150px) 7vw !important; display: grid !important; grid-template-columns: 1fr 1fr; gap: 9vw; background: #fff; }
.bl-service-intro > .e-con { padding: 0; }
.bl-service-intro__copy { padding-top: 38px !important; }

.bl-audience-band { padding: 34px 7vw !important; display: grid !important; grid-template-columns: 130px 1fr auto; align-items: center; gap: 45px; background: var(--bl-gold) !important; }
.bl-audience-band > .e-con { padding: 0; }
.bl-audience-band .elementor-heading-title { color: var(--bl-navy) !important; }
.bl-audience-band > .e-con:first-child .elementor-heading-title { font: 600 9px var(--bl-body) !important; letter-spacing: .15em; text-transform: uppercase; }
.bl-audience-band > .e-con:nth-child(2) .elementor-heading-title { font-size: 23px !important; line-height: 1.3 !important; }
.bl-audience-band__cta { align-items: flex-end; }
.bl-audience-cta { width: auto !important; }
.bl-audience-cta .elementor-button { width: auto !important; min-height: 0 !important; padding: 10px 0 !important; display: inline-flex !important; color: var(--bl-navy) !important; background: transparent !important; border: 0 !important; box-shadow: none !important; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.bl-service-details { padding: clamp(100px,9vw,150px) 7vw !important; background: #fff; }
.bl-service-details > .e-con { padding: 0; display: grid !important; grid-template-columns: .72fr 1.28fr; grid-template-rows: auto auto 1fr; column-gap: 8vw; }
.bl-service-details > .e-con > .bl-kicker,
.bl-service-details > .e-con > .bl-section-title { grid-column: 1; }
.bl-service-details .elementor-widget-spacer { display: none; }
.bl-service-details > .e-con > .e-con { grid-column: 2; grid-row: 1 / span 3; display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; }
.bl-service-details .bl-card { min-height: 250px; padding: 34px !important; border-top: 1px solid var(--bl-gold); border-right: 1px solid var(--bl-line); }
.bl-service-details .bl-card .bl-card-title .elementor-heading-title { font-size: 27px !important; }

.bl-scope-section { padding: clamp(90px,8vw,130px) 7vw !important; display: grid !important; grid-template-columns: .8fr 1.2fr; gap: 9vw; background: var(--bl-porcelain); }
.bl-scope-section > .e-con { padding: 0; }
.bl-scope-native .elementor-icon-list-items { margin: 0; padding: 0; border-top: 1px solid var(--bl-line); list-style: none; }
.bl-scope-native .elementor-icon-list-item { min-height: 72px; display: flex; align-items: center; border-bottom: 1px solid var(--bl-line); }
.bl-scope-native .elementor-icon-list-icon { color: var(--bl-gold); }
.bl-scope-native .elementor-icon-list-text { color: var(--bl-navy) !important; font-size: 13px; font-weight: 500; }

.bl-process-section { padding: clamp(100px,9vw,150px) 7vw !important; background: #fff; }
.bl-process-section > .e-con { padding: 0; display: grid !important; grid-template-columns: .63fr 1.37fr; grid-template-rows: auto auto 1fr; column-gap: 8vw; }
.bl-process-section > .e-con > .bl-kicker,
.bl-process-section > .e-con > .bl-section-title { grid-column: 1; }
.bl-process-section .elementor-widget-spacer { display: none; }
.bl-process-section > .e-con > .e-con { grid-column: 2; grid-row: 1 / span 3; display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 !important; }
.bl-process-section .bl-step { min-height: 210px; }

.bl-feature-story { min-height: 610px; padding: 0 !important; display: grid !important; grid-template-columns: 52% 48%; gap: 0 !important; color: #fff; }
.bl-feature-story > .e-con { min-width: 0; padding: 0 !important; }
.bl-feature-story > .e-con:first-child { position: relative; overflow: hidden; }
.bl-feature-story .bl-image-cover { position: absolute !important; inset: 0; }
.bl-feature-story .bl-image-cover img { width: 100%; height: 100% !important; object-fit: cover; }
.bl-feature-story > .e-con:last-child { padding: 6vw !important; justify-content: center; }

.bl-faq-section { padding: clamp(100px,9vw,150px) 7vw !important; display: grid !important; grid-template-columns: .68fr 1.32fr; gap: 9vw; background: var(--bl-porcelain); }
.bl-faq-section > .e-con { padding: 0; }
.bl-faq-list { border-top: 1px solid var(--bl-line); }
.bl-faq-list details { border-bottom: 1px solid var(--bl-line); }
.bl-faq-list summary { min-height: 86px; display: grid; grid-template-columns: 42px 1fr 20px; align-items: center; gap: 15px; color: var(--bl-navy); cursor: pointer; list-style: none; font: 500 23px var(--bl-heading); }
.bl-faq-list summary::-webkit-details-marker { display: none; }
.bl-faq-list summary span,
.bl-faq-list summary b { color: var(--bl-gold); }
.bl-faq-list summary b { font-family: var(--bl-body); font-weight: 400; transition: transform .25s ease; }
.bl-faq-list details[open] summary b { transform: rotate(45deg); }
.bl-faq-list details > p { margin: -4px 35px 28px 57px; color: var(--bl-muted); font-size: 13px; }
.bl-legal-disclaimer { padding: 22px 7vw !important; background: #020916; border-top: 1px solid rgba(201,168,76,.24); }
.bl-legal-disclaimer .elementor-widget-text-editor { color: #767b85; font-size: 10px; line-height: 1.6; }

/* About and contact */
.bl-about-hero { min-height: 600px; padding: 0 !important; display: grid !important; grid-template-columns: 48% 52%; gap: 0 !important; background: var(--bl-porcelain); }
.bl-about-hero > .e-con { padding: 0 !important; }
.bl-about-hero > .bl-about-hero-copy { padding: 7vw !important; justify-content: center; }
.bl-about-hero-image { position: relative; overflow: hidden; }
.bl-about-hero-image .elementor-widget-image { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; }
.bl-about-hero-image img { width: 100%; height: 100% !important; object-fit: cover; }
.bl-about-profile { padding: clamp(100px,9vw,150px) 7vw !important; display: grid !important; grid-template-columns: .7fr 1.3fr; gap: 9vw; align-items: center; }
.bl-about-profile > .e-con { padding: 0; }
.bl-profile-column { position: relative; }
.bl-profile img { width: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: center 23%; }
.bl-profile-caption { position: absolute !important; right: 18px; bottom: 18px; left: 18px; padding: 15px; color: var(--bl-gold-light) !important; background: rgba(7,17,38,.9); border: 1px solid rgba(201,168,76,.45); text-align: center; }
.bl-about-profile .bl-lead { margin: 35px 0; padding-left: 28px; border-left: 2px solid var(--bl-gold); }
.bl-about-values { padding: 0 7vw 110px !important; }
.bl-about-values > .e-con { padding: 0; }
.bl-about-values-inner { display: grid !important; grid-template-columns: repeat(4,1fr); gap: 0 !important; }
.bl-value-card { padding: 30px 28px !important; border-top: 1px solid var(--bl-gold); border-right: 1px solid var(--bl-line); }

.bl-contact-hero { grid-template-columns: 55% 45%; min-height: 610px; }
.bl-contact-hero .bl-contact-grid { margin-top: 20px; display: grid !important; grid-template-columns: repeat(3,1fr); gap: 0 !important; }
.bl-contact-hero .bl-contact-icon { padding: 12px 14px !important; border-left: 1px solid rgba(201,168,76,.35); }
.bl-contact-hero .bl-contact-icon .bl-button { width: 100% !important; }
.bl-contact-hero .bl-contact-icon .elementor-button { width: 100% !important; min-height: 50px !important; padding: 13px 10px !important; display: inline-flex !important; color: var(--bl-navy) !important; background: var(--bl-gold) !important; border: 1px solid var(--bl-gold) !important; box-shadow: none !important; }
.bl-contact-form-section { padding: clamp(100px,9vw,150px) 7vw !important; display: grid !important; grid-template-columns: .7fr 1.3fr; gap: 9vw; background: var(--bl-porcelain); }
.bl-contact-form-section > .e-con { padding: 0; }
.bl-contact-form { display: grid; gap: 20px; }
.bl-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bl-contact-form label { display: grid; gap: 8px; color: var(--bl-navy); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.bl-contact-form input,
.bl-contact-form select,
.bl-contact-form textarea { width: 100%; padding: 15px 16px; color: var(--bl-navy); background: #fff; border: 1px solid var(--bl-line); border-radius: 0; font: 400 14px var(--bl-body); text-transform: none; }
.bl-contact-form textarea { resize: vertical; }
.bl-form-submit { width: max-content; cursor: pointer; }
.bl-form-honeypot { position: absolute !important; left: -10000px; }

@media (min-width: 901px) {
  .bl-service-hero .bl-display h1 { font-size: clamp(48px,4.3vw,80px) !important; line-height: .98 !important; }
}
.bl-form-status { margin-bottom: 20px; padding: 15px 18px; border-left: 3px solid var(--bl-gold); background: #fff; font-size: 13px; }
.bl-form-status--error { border-left-color: #9b2c2c; }

@keyframes bl-float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)} }
@keyframes bl-ticker { to { transform: translateX(-50%); } }
@keyframes bl-panel-in { from { opacity:0; transform:translateY(10px) } to { opacity:1; transform:none } }

@media (max-width: 1100px) {
  .bl-header { grid-template-columns: 20% 60% 20%; padding-inline: 3vw !important; }
  .bl-primary-nav__list { gap: 12px; }
  .bl-primary-nav a { font-size: 10px; }
}

@media (max-width: 900px) {
  .bl-topbar { padding-inline: 30px !important; }
  .bl-header { padding-inline: 30px !important; display: flex !important; flex-direction: row !important; flex-wrap: nowrap; align-items: center; }
  .bl-header > .e-con:first-child { width: auto !important; min-width: 0; flex: 1 1 auto; align-items: flex-start; }
  .bl-header > .e-con:nth-child(2) { position: static; width: 0 !important; min-width: 0; padding: 0; }
  .bl-header > .e-con:nth-child(3) { position: static; width: 48px !important; min-width: 48px; padding: 0; display: flex; flex: 0 0 48px; }
  .bl-header > .e-con:nth-child(3) > .bl-button:not(.bl-menu-toggle) { display: none; }
  .bl-navigation-widget { position: static !important; }
  .bl-primary-nav { position: absolute; top: 88px; right: 0; left: 0; max-height: 0; overflow: hidden; visibility: hidden; background: var(--bl-navy); border-top: 1px solid rgba(201,168,76,.3); transition: max-height .3s ease, visibility .3s; }
  .bl-primary-nav.is-open { max-height: 520px; visibility: visible; }
  .bl-primary-nav__list { padding: 24px 30px 30px; flex-direction: column; align-items: flex-start; gap: 2px; }
  .bl-primary-nav a { padding: 10px 0; font-size: 13px; }
  .bl-menu-toggle { display: block; position: relative !important; right: auto; width: 48px !important; padding: 0 !important; }
  .bl-menu-toggle .elementor-button { width: 48px; height: 48px; min-height: 48px; padding: 0; overflow: hidden; color: transparent !important; background: transparent !important; border-color: rgba(255,255,255,.35); }
  .bl-menu-toggle .elementor-button::before,
  .bl-menu-toggle .elementor-button::after { content: ''; position: absolute; left: 12px; width: 22px; height: 1px; background: #fff; transition: transform .25s; }
  .bl-menu-toggle .elementor-button::before { top: 18px; }
  .bl-menu-toggle .elementor-button::after { top: 28px; }

  .bl-home-hero,
  .bl-home-services,
  .bl-home-image-story,
  .bl-service-hero,
  .bl-contact-hero,
  .bl-about-hero,
  .bl-feature-story { grid-template-columns: 1fr; }
  .bl-home-hero > .e-con,
  .bl-home-services > .e-con,
  .bl-service-hero > .e-con,
  .bl-contact-hero > .e-con,
  .bl-about-hero > .e-con,
  .bl-home-contact-rail,
  .bl-home-contact-item,
  .bl-home-service-row,
  .bl-footer,
  .bl-contact-form-section { min-width: 0; box-sizing: border-box; }
  .bl-home-hero > .bl-home-hero-copy { padding: 90px 7vw 80px !important; }
  .bl-home-hero-media { min-height: 760px !important; overflow: hidden; }
  .bl-home-portrait { inset: 6% 10% 0; }
  .bl-home-advisor-one { left: 6%; }
  .bl-home-advisor-two { right: 6%; }
  .bl-home-intro,
  .bl-home-personalized,
  .bl-service-intro,
  .bl-service-details > .e-con,
  .bl-scope-section,
  .bl-process-section > .e-con,
  .bl-faq-section,
  .bl-about-profile,
  .bl-contact-form-section { grid-template-columns: 1fr; }
  .bl-home-intro > .e-con:last-child,
  .bl-home-personalized > .e-con:last-child,
  .bl-service-intro__copy { padding-top: 10px !important; }
  .bl-home-contact-rail { max-width: 100%; }
  .bl-home-contact-item .elementor-widget-text-editor { min-width: 0; overflow-wrap: anywhere; }
  .bl-home-service-row .bl-card-copy { max-width: 100%; overflow-wrap: anywhere; }
  .bl-home-service-link { justify-self: end; }
  .bl-pathfinder { grid-template-columns: 1fr; gap: 55px; }
  .bl-home-journey > .e-con { grid-template-columns: 1fr; grid-template-rows: auto; }
  .bl-home-journey-steps { grid-column: 1; grid-row: auto; margin-top: 45px; }
  .bl-home-service-photo { min-height: 72vw; }
  .bl-home-portfolio { grid-template-columns: 1fr; }
  .bl-service-details > .e-con > .e-con,
  .bl-process-section > .e-con > .e-con { grid-column: 1; grid-row: auto; margin-top: 50px; }
  .bl-about-hero-image { min-height: 520px !important; }
  .bl-feature-story > .e-con:first-child { min-height: 60vw !important; }
  .bl-footer { grid-template-columns: 1fr 1fr; gap: 50px 30px; }
}

@media (max-width: 560px) {
  .bl-topbar { display: none !important; }
  .bl-header { min-height: 78px; padding-inline: 22px !important; }
  .bl-header > .e-con { min-height: 78px; }
  .bl-logo { width: 165px !important; height: 70px !important; }
  .bl-logo img { width: 158px; height: auto !important; top: -23px; }
  .bl-menu-toggle { right: auto; }
  .bl-primary-nav { top: 78px; }
  .bl-home-hero > .bl-home-hero-copy { padding: 70px 22px 64px !important; }
  .bl-home-hero-copy > .e-con:not(.bl-home-contact-rail) { width: 100% !important; }
  .bl-home-hero-copy > .e-con:not(.bl-home-contact-rail) .bl-button { width: 100% !important; }
  .bl-home-hero-copy > .e-con:not(.bl-home-contact-rail) .elementor-button { width: 100% !important; }
  .bl-home-hero-copy .bl-display h1 { font-size: clamp(54px,16vw,72px) !important; }
  .bl-home-contact-rail { grid-template-columns: 1fr; }
  .bl-home-hero-media { min-height: 620px !important; }
  .bl-home-portrait { inset: 6% 5% 0; }
  .bl-home-advisor { width: 74px !important; height: 74px; }
  .bl-home-advisor-one { left: 0; }
  .bl-home-advisor-two { right: 0; }
  .bl-home-intro,
  .bl-home-personalized,
  .bl-home-journey,
  .bl-service-intro,
  .bl-service-details,
  .bl-scope-section,
  .bl-process-section,
  .bl-faq-section,
  .bl-about-profile,
  .bl-contact-form-section { padding: 78px 22px !important; }
  .bl-home-trust { padding: 0 22px 78px !important; }
  .bl-home-trust-inner,
  .bl-home-journey-steps,
  .bl-about-values-inner { grid-template-columns: 1fr; }
  .bl-home-journey > .e-con { display: block !important; }
  .bl-home-journey-steps { margin-top: 38px; }
  .bl-step { border-right: 0; }
  .bl-home-trust-card,
  .bl-home-trust-card:not(:first-child) { padding: 28px 0 !important; border-right: 0; }
  .bl-pathfinder { padding: 78px 22px; }
  .bl-pathfinder__tabs { grid-template-columns: 1fr 1fr; gap: 20px; }
  .bl-pathfinder__panel { padding: 34px 20px; grid-template-columns: 45px 1fr; }
  .bl-home-service-photo { min-height: 110vw !important; }
  .bl-home-services > .bl-home-service-list { padding: 70px 22px !important; }
  .bl-home-service-row { grid-template-columns: 42px 1fr; padding: 20px 0 !important; }
  .bl-home-service-action { display: none; }
  .bl-home-portfolio > .bl-home-portfolio-heading { padding: 78px 22px !important; }
  .bl-home-portfolio-grid { grid-template-columns: 1fr; }
  .bl-home-image-story-media { min-height: 95vw !important; }
  .bl-home-image-story > .bl-home-image-story-copy { padding: 78px 22px !important; }
  .bl-consultation-band { padding: 62px 22px !important; grid-template-columns: 1fr; gap: 28px; }
  .bl-service-hero .bl-hero-copy,
  .bl-contact-hero .bl-hero-copy,
  .bl-about-hero > .bl-about-hero-copy { padding: 70px 22px !important; }
  .bl-service-hero .bl-hero-image img,
  .bl-contact-hero .bl-hero-image img { min-height: 95vw; }
  .bl-service-hero .bl-display h1,
  .bl-contact-hero .bl-display h1 { font-size: clamp(46px,14vw,64px) !important; }
  .bl-audience-band { padding: 34px 22px !important; grid-template-columns: 1fr; gap: 12px; }
  .bl-service-details > .e-con > .e-con,
  .bl-process-section > .e-con > .e-con { grid-template-columns: 1fr; }
  .bl-feature-story > .e-con:first-child { min-height: 95vw !important; }
  .bl-about-hero-image { min-height: 95vw !important; }
  .bl-about-values { padding: 0 22px 78px !important; }
  .bl-contact-hero .bl-contact-grid { grid-template-columns: 1fr; }
  .bl-contact-hero .bl-contact-icon { padding: 20px 0 !important; border-top: 1px solid rgba(201,168,76,.35); border-left: 0; }
  .bl-form-row { grid-template-columns: 1fr; }
  .bl-footer { padding: 70px 22px !important; grid-template-columns: 1fr; }
  .bl-footer-bottom { padding: 20px 22px !important; grid-template-columns: 1fr; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
