/* =========================================================================
   DFL Global Phase 2 Modernization
   Loaded after css/main.css to preserve the old site while modernizing it.
   ========================================================================= */
:root {
  --dfl-navy: #071632;
  --dfl-navy-2: #0D1E3A;
  --dfl-navy-3: #102A4D;
  --dfl-red: #DF1F26;
  --dfl-red-dark: #B9181E;
  --dfl-white: #FFFFFF;
  --dfl-offwhite: #F5F7FA;
  --dfl-soft-gray: #E6ECF2;
  --dfl-muted: #8FA6C1;
  --dfl-text: #172333;
  --dfl-border: rgba(255,255,255,0.12);
  --font-main: "Inter", "Plus Jakarta Sans", "Segoe UI", sans-serif;
  --section-pad: 88px 0;
  --radius-card: 14px;
  --radius-btn: 8px;
}

/* FINAL RESPONSIVE FINISH: remove seams, fix mobile hero map, make hamburger reliable */
*,
*::before,
*::after {
  box-sizing: border-box !important;
}

html,
body,
#page,
.site {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow-x: hidden !important;
}

img,
svg,
canvas,
iframe {
  max-width: 100% !important;
}

#mobile-menu {
  display: block !important;
  position: fixed !important;
  top: 76px !important;
  left: 16px !important;
  right: 16px !important;
  width: auto !important;
  max-width: none !important;
  max-height: calc(100dvh - 96px) !important;
  overflow-y: auto !important;
  z-index: 2147483000 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-10px) scale(0.98) !important;
}

body.dfl-mobile-nav-open #mobile-menu,
#mobile-menu.dfl-mobile-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

.site-header.style-1 .trigger-menu {
  cursor: pointer !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}

@media (max-width: 991px) {
  .site-header.style-1,
  .dfl-mobile-site-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2147482000 !important;
    width: 100% !important;
    min-height: 72px !important;
  }

  .site-header.style-1 > .container,
  .dfl-mobile-site-header > .container {
    width: calc(100% - 28px) !important;
  }

  .site-header.style-1 .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 58px !important;
  }

  .site-header.style-1 .site-branding {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: calc(100% - 68px) !important;
  }

  .site-header.style-1 .site-branding img {
    height: 48px !important;
    max-height: 48px !important;
    width: auto !important;
  }
}

/* Homepage hero map: keep Sri Lanka/map visible instead of shrinking awkwardly */
@media (max-width: 991px) {
  html.page-home .dfl-hero {
    position: relative !important;
    min-height: 780px !important;
    padding: 76px 0 44px !important;
    overflow: hidden !important;
  }

  html.page-home .dfl-hero-main {
    position: relative !important;
    display: block !important;
    min-height: 520px !important;
  }

  html.page-home .dfl-hero-copy {
    position: relative !important;
    z-index: 6 !important;
    max-width: min(560px, 92vw) !important;
    padding: 0 !important;
  }

  html.page-home .dfl-hero-copy::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    inset: -26px -18px -28px -18px !important;
    background:
      radial-gradient(circle at 0% 30%, rgba(7, 22, 50, 0.96), rgba(7, 22, 50, 0.74) 58%, transparent 100%) !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  html.page-home .dfl-hero-route-card {
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 54px !important;
    right: -64vw !important;
    width: 148vw !important;
    height: 520px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0.54 !important;
    pointer-events: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: scale(1.28) translateX(-6%) !important;
    transform-origin: 70% 48% !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    width: 100% !important;
    height: 100% !important;
  }

  html.page-home .dfl-route-card .dfl-route-labels {
    display: none !important;
  }
}

@media (max-width: 575px) {
  html.page-home .dfl-hero {
    min-height: 780px !important;
    padding-top: 58px !important;
  }

  html.page-home .dfl-hero h1 {
    font-size: clamp(40px, 13vw, 58px) !important;
  }

  html.page-home .dfl-hero-route-card {
    top: 120px !important;
    right: -94vw !important;
    width: 190vw !important;
    height: 480px !important;
    opacity: 0.5 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    transform: scale(1.45) translateX(-8%) !important;
  }
}

/* Reliable section image: remove the hard vertical edge and visible grid line */
html.page-home .dfl-why-section {
  isolation: isolate !important;
}

html.page-home .dfl-why-section::after {
  display: none !important;
  content: none !important;
}

html.page-home .dfl-why-visual {
  left: 24% !important;
  right: -14% !important;
  top: -9% !important;
  bottom: -10% !important;
  opacity: 1 !important;
}

html.page-home .dfl-why-visual img {
  opacity: 0.86 !important;
  transform: scale(1.18) !important;
  object-position: 72% center !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.04) 8%, rgba(0,0,0,0.28) 20%, rgba(0,0,0,0.82) 41%, #000 76%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.72) 9%, #000 26%, #000 78%, transparent 100%) !important;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.04) 8%, rgba(0,0,0,0.28) 20%, rgba(0,0,0,0.82) 41%, #000 76%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.72) 9%, #000 26%, #000 78%, transparent 100%) !important;
}

html.page-home .dfl-why-visual::before {
  background:
    radial-gradient(circle at 62% 44%, rgba(16, 54, 102, 0.06), transparent 44%),
    linear-gradient(90deg, rgba(7,22,50,0.99) 0%, rgba(7,22,50,0.88) 20%, rgba(7,22,50,0.28) 52%, rgba(7,22,50,0.70) 100%),
    linear-gradient(180deg, rgba(7,22,50,0.96) 0%, transparent 34%, transparent 66%, rgba(7,22,50,0.98) 100%) !important;
}

html.page-home .dfl-why-visual::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 991px) {
  html.page-home .dfl-why-visual {
    left: -46px !important;
    right: -46px !important;
    height: 360px !important;
    opacity: 0.66 !important;
  }

  html.page-home .dfl-why-visual img {
    object-position: center center !important;
    transform: scale(1.12) !important;
  }
}

/* Smaller screen rhythm: remove the random tall gaps and keep sections consistent */
@media (max-width: 1199px) {
  .dfl-section,
  .dfl-dark-section,
  .dfl-light-section,
  .dfl-service-detail-section,
  .dfl-services-page-section,
  .dfl-contact-section,
  .dfl-team-roster-section {
    padding-top: clamp(64px, 9vw, 92px) !important;
    padding-bottom: clamp(64px, 9vw, 92px) !important;
  }

  .dfl-page-hero {
    min-height: clamp(210px, 28vw, 320px) !important;
    padding-top: clamp(76px, 10vw, 112px) !important;
    padding-bottom: clamp(48px, 7vw, 72px) !important;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--dfl-offwhite);
  color: var(--dfl-text);
  font-family: var(--font-main);
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0;
}

a,
button,
.btn {
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}

a:hover,
a:focus {
  color: var(--dfl-red);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.custom-heading h1,
.custom-heading h2,
.custom-heading h3 {
  color: var(--dfl-text);
  font-family: "Plus Jakarta Sans", var(--font-main);
  font-weight: 700;
  letter-spacing: 0;
}

.btn,
.dfl-btn {
  align-items: center;
  border-radius: var(--radius-btn);
  display: inline-flex;
  font-family: var(--font-main);
  font-size: 14px;
  font-weight: 700;
  gap: 10px;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  min-height: 46px;
  padding: 14px 22px;
  text-transform: none;
}

.btn-primary,
.dfl-btn-primary {
  background: var(--dfl-red);
  border: 1px solid var(--dfl-red);
  color: var(--dfl-white) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.dfl-btn-primary:hover,
.dfl-btn-primary:focus {
  background: var(--dfl-red-dark);
  border-color: var(--dfl-red-dark);
  box-shadow: 0 14px 32px rgba(223, 31, 38, .28);
  color: var(--dfl-white) !important;
  transform: translateY(-2px);
}

.bg-dark,
.dfl-btn-secondary {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  color: var(--dfl-white) !important;
}

.dfl-btn-secondary:hover,
.dfl-btn-secondary:focus {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.48) !important;
  color: var(--dfl-white) !important;
  transform: translateY(-2px);
}

.custom-heading h1::before,
.custom-heading h1::after,
.three-slashes::before,
.three-slashes::after {
  opacity: .25;
}

.site-header.style-1 {
  background: var(--dfl-navy);
  border-bottom: 1px solid var(--dfl-border);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.site-header.style-1 .site-branding {
  padding-bottom: 12px;
  padding-top: 12px;
}

.site-header.style-1 .site-branding img {
  max-height: 54px;
  width: auto;
}

.trigger-menu::before,
.trigger-menu::after,
.trigger-menu span {
  background: var(--dfl-white);
}

.navbar.mega {
  background: rgba(7, 22, 50, .96) !important;
  border-bottom: 1px solid var(--dfl-border);
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
  min-height: 76px;
}

.navbar.mega .container {
  align-items: center;
  display: flex;
}

.navbar.mega .dfl-main-nav {
  align-items: center;
  display: flex;
  gap: 2px;
  width: 100%;
}

.navbar.mega .nav-item {
  margin: 0;
}

.navbar.mega .nav-link {
  border-radius: 0;
  color: rgba(255,255,255,.82) !important;
  font-family: var(--font-main);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  padding: 28px 10px;
  position: relative;
  text-transform: none;
}

.navbar.mega .nav-link::after {
  background: var(--dfl-red);
  bottom: 16px;
  content: "";
  height: 2px;
  left: 10px;
  opacity: 0;
  position: absolute;
  right: 10px;
  transform: scaleX(.4);
  transition: opacity .22s ease, transform .22s ease;
}

.navbar.mega .nav-item.active > .nav-link,
.navbar.mega .nav-link:hover,
.navbar.mega .nav-link:focus {
  background: transparent !important;
  color: var(--dfl-white) !important;
}

.navbar.mega .nav-item.active > .nav-link::after,
.navbar.mega .nav-link:hover::after,
.navbar.mega .nav-link:focus::after {
  opacity: 1;
  transform: scaleX(1);
}

.navbar.mega .dfl-nav-logo {
  margin-right: 18px;
}

.navbar.mega .dfl-nav-logo .nav-link {
  padding: 13px 0;
}

.navbar.mega .dfl-nav-logo .nav-link::after,
.navbar.mega .dfl-nav-quote .nav-link::after {
  display: none;
}

.navbar.mega .dfl-nav-logo img {
  display: block;
  max-height: 50px;
  width: auto;
}

.navbar.mega .dfl-nav-quote {
  margin-left: auto;
}

.navbar.mega .dfl-nav-quote .nav-link {
  background: var(--dfl-red) !important;
  border-radius: var(--radius-btn);
  color: var(--dfl-white) !important;
  margin-left: 8px;
  padding: 14px 18px;
}

.navbar.mega .dfl-nav-quote .nav-link:hover {
  background: var(--dfl-red-dark) !important;
  box-shadow: 0 12px 26px rgba(223,31,38,.25);
}

.navbar.mega .dropdown-menu {
  background: rgba(7,22,50,.98);
  border: 1px solid var(--dfl-border);
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  box-shadow: 0 24px 50px rgba(0,0,0,.32);
}

.navbar.mega .dropdown-item a,
.feature-list-title a {
  color: rgba(255,255,255,.86);
  font-family: var(--font-main);
  letter-spacing: 0;
  text-transform: none;
}

.navbar.mega .dropdown-item a:hover,
.feature-list-title a:hover {
  color: var(--dfl-red);
}

.navbar.mega .feature-list-icon {
  color: var(--dfl-red);
}

.navbar.mega .cart {
  display: none;
}

@media (min-width: 992px) {
  .site-header.style-1 {
    display: none;
  }

  .navbar.mega.hidden-lg-down {
    display: block !important;
    position: sticky;
    top: 0;
    z-index: 1000;
  }
}

.mm-menu {
  background: var(--dfl-navy) !important;
  color: var(--dfl-white) !important;
  font-family: var(--font-main);
}

.mm-menu .mm-listview > li > a,
.mm-menu .mm-title {
  color: rgba(255,255,255,.86) !important;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.mm-menu .mm-listview > li > a:hover {
  color: var(--dfl-red) !important;
}

.dfl-hero {
  background: var(--dfl-navy);
  color: var(--dfl-white);
  min-height: 720px;
  overflow: hidden;
  position: relative;
}

.dfl-hero-bg,
.dfl-route-canvas,
.dfl-hero-overlay {
  inset: 0;
  position: absolute;
}

.dfl-hero-bg {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96) 0%, rgba(7,22,50,.82) 38%, rgba(7,22,50,.48) 72%, rgba(7,22,50,.68) 100%),
    url("../dfl-homepage.png") center right / cover no-repeat;
  filter: saturate(.8) contrast(1.04);
  transform: scale(1.02);
  z-index: 0;
}

.dfl-route-canvas {
  height: 100%;
  opacity: .9;
  pointer-events: none;
  width: 100%;
  z-index: 1;
}

.dfl-hero-overlay {
  background:
    radial-gradient(circle at 70% 44%, rgba(223,31,38,.26), transparent 18%),
    linear-gradient(180deg, rgba(7,22,50,.08) 0%, rgba(7,22,50,.32) 48%, rgba(7,22,50,.96) 100%);
  z-index: 2;
}

.dfl-hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 720px;
  padding-bottom: 46px;
  padding-top: 92px;
  position: relative;
  z-index: 3;
}

.dfl-hero-copy {
  max-width: 690px;
}

.dfl-kicker {
  color: #72B8FF;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.6px;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.dfl-hero h1 {
  color: var(--dfl-white);
  font-size: 64px;
  line-height: 1.05;
  margin: 0 0 22px;
  max-width: 760px;
}

.dfl-hero h1 span {
  color: var(--dfl-red);
}

.dfl-hero-text {
  color: rgba(255,255,255,.82);
  font-size: 18px;
  line-height: 1.75;
  margin: 0;
  max-width: 620px;
}

.dfl-hero-actions,
.dfl-final-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.dfl-trust-strip {
  backdrop-filter: blur(14px);
  background: rgba(8, 30, 63, .68);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--radius-card);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 70px;
  overflow: hidden;
}

.dfl-trust-item {
  align-items: center;
  border-right: 1px solid rgba(255,255,255,.14);
  display: grid;
  gap: 2px 14px;
  grid-template-columns: 42px 1fr;
  padding: 22px 26px;
}

.dfl-trust-item:last-child {
  border-right: 0;
}

.dfl-trust-item i {
  color: var(--dfl-white);
  font-size: 34px;
  grid-row: span 2;
}

.dfl-trust-item strong {
  color: var(--dfl-white);
  font-size: 25px;
  line-height: 1.1;
}

.dfl-trust-item span {
  color: var(--dfl-muted);
  font-size: 13px;
}

.dfl-section {
  padding: var(--section-pad);
}

.dfl-services-section,
.dfl-why-section,
.dfl-team-feature,
.dfl-logo-strip,
.dfl-brochure-cta,
.dfl-final-cta {
  background: var(--dfl-navy);
  color: var(--dfl-white);
}

.dfl-section-heading {
  margin: 0 auto 36px;
  max-width: 780px;
  text-align: center;
}

.dfl-section-heading-left {
  margin: 0;
  text-align: left;
}

.dfl-section-heading h2,
.dfl-team-copy h2,
.dfl-brochure-panel h2,
.dfl-final-panel h2 {
  color: var(--dfl-white);
  font-size: 34px;
  line-height: 1.18;
  margin: 0 0 12px;
}

.dfl-section-heading p,
.dfl-team-copy p,
.dfl-brochure-panel p,
.dfl-final-panel p {
  color: var(--dfl-muted);
}

.dfl-service-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dfl-service-card {
  background: linear-gradient(180deg, rgba(16,42,77,.88), rgba(8,30,63,.84));
  border: 1px solid var(--dfl-border);
  border-radius: var(--radius-card);
  color: var(--dfl-white);
  min-height: 230px;
  padding: 28px;
  position: relative;
  overflow: hidden;
}

.dfl-service-card::before {
  background: radial-gradient(circle, rgba(223,31,38,.16), transparent 58%);
  content: "";
  height: 160px;
  position: absolute;
  right: -60px;
  top: -70px;
  width: 160px;
}

.dfl-service-card > i {
  color: var(--dfl-red);
  font-size: 36px;
  margin-bottom: 22px;
}

.dfl-service-card h3 {
  color: var(--dfl-white);
  font-size: 18px;
  line-height: 1.32;
  margin: 0 0 10px;
}

.dfl-service-card p {
  color: var(--dfl-muted);
  font-size: 14px;
  line-height: 1.62;
  margin: 0 0 30px;
}

.dfl-service-card span {
  align-items: center;
  border: 1px solid rgba(223,31,38,.75);
  border-radius: 50%;
  bottom: 24px;
  color: var(--dfl-red);
  display: flex;
  height: 30px;
  justify-content: center;
  position: absolute;
  right: 24px;
  width: 30px;
}

.dfl-service-card:hover {
  border-color: rgba(223,31,38,.5);
  box-shadow: 0 22px 46px rgba(0,0,0,.28);
  color: var(--dfl-white);
  transform: translateY(-5px);
}

.dfl-why-section {
  border-top: 1px solid var(--dfl-border);
  padding-top: 24px;
}

.dfl-why-layout {
  align-items: start;
  display: grid;
  gap: 38px;
  grid-template-columns: .8fr 1.2fr;
}

.dfl-value-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dfl-value-item {
  display: grid;
  gap: 8px 16px;
  grid-template-columns: 42px 1fr;
}

.dfl-value-item i {
  align-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  color: var(--dfl-red);
  display: flex;
  font-size: 20px;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.dfl-value-item h3 {
  color: var(--dfl-white);
  font-size: 16px;
  margin: 0;
}

.dfl-value-item p {
  color: var(--dfl-muted);
  font-size: 14px;
  grid-column: 2;
  line-height: 1.6;
  margin: 0;
}

.dfl-team-feature {
  border-top: 1px solid var(--dfl-border);
  padding: 0 0 54px;
}

.dfl-team-panel {
  align-items: stretch;
  border: 1px solid var(--dfl-border);
  border-radius: var(--radius-card);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  overflow: hidden;
}

.dfl-team-image img {
  display: block;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  width: 100%;
}

.dfl-team-copy {
  background: linear-gradient(135deg, rgba(13,30,58,.96), rgba(7,22,50,.96));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 54px;
}

.dfl-team-copy .dfl-btn {
  align-self: flex-start;
  margin-top: 12px;
}

.dfl-logo-strip {
  border-top: 1px solid var(--dfl-border);
  padding: 34px 0;
}

.dfl-logo-strip .dfl-kicker {
  margin-bottom: 20px;
}

.dfl-logo-row {
  align-items: center;
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(6, 1fr);
}

.dfl-logo-row img {
  filter: grayscale(1) brightness(1.8);
  max-height: 52px;
  max-width: 150px;
  opacity: .78;
}

.dfl-brochure-cta,
.dfl-final-cta {
  padding: 0 0 22px;
}

.dfl-brochure-panel,
.dfl-final-panel {
  align-items: center;
  background: linear-gradient(135deg, rgba(16,42,77,.9), rgba(7,22,50,.92));
  border: 1px solid var(--dfl-border);
  border-radius: var(--radius-card);
  display: grid;
  gap: 26px;
  grid-template-columns: 70px 1fr auto;
  padding: 30px;
}

.dfl-brochure-icon {
  align-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  color: var(--dfl-red);
  display: flex;
  font-size: 32px;
  height: 70px;
  justify-content: center;
  width: 70px;
}

.dfl-final-panel {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.76)),
    url("../dfl-homepage.png") center / cover no-repeat;
  grid-template-columns: 1fr auto;
  min-height: 180px;
}

.dfl-footer {
  background: #041024;
  border-top: 1px solid var(--dfl-border);
  color: rgba(255,255,255,.72);
  padding: 54px 0 44px;
}

.dfl-footer-grid {
  display: grid;
  gap: 34px;
  grid-template-columns: 1.2fr .8fr 1fr 1.1fr;
}

.dfl-footer-brand img {
  margin-bottom: 18px;
  max-height: 60px;
  width: auto;
}

.dfl-footer p {
  color: rgba(255,255,255,.7);
  font-size: 14px;
  line-height: 1.7;
  margin: 0;
}

.dfl-footer h3 {
  color: var(--dfl-white);
  font-size: 15px;
  margin: 0 0 18px;
}

.dfl-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dfl-footer li {
  margin-bottom: 9px;
}

.dfl-footer a {
  color: rgba(255,255,255,.72);
  font-size: 14px;
}

.dfl-footer a:hover {
  color: var(--dfl-red);
}

.dfl-footer-contact p {
  margin-bottom: 10px;
  padding-left: 24px;
  position: relative;
}

.dfl-footer-contact i {
  color: var(--dfl-red);
  left: 0;
  position: absolute;
  top: 3px;
}

.dfl-copyright {
  background: #030B18;
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.58);
  font-size: 13px;
  padding: 18px 0;
}

.dfl-copyright-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.page-title {
  background-color: var(--dfl-navy) !important;
}

.page-title::before {
  background: rgba(7,22,50,.72);
}

.service-icon-list .content,
.service-menu .content,
.highlight-part,
.office,
.contact-form,
.service-brochure {
  border-radius: var(--radius-card);
}

@media (max-width: 1199px) {
  .navbar.mega .nav-link {
    font-size: 12px;
    padding-left: 7px;
    padding-right: 7px;
  }

  .dfl-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .dfl-hero,
  .dfl-hero-content {
    min-height: 680px;
  }

  .dfl-hero h1 {
    font-size: 46px;
  }

  .dfl-trust-strip,
  .dfl-service-grid,
  .dfl-why-layout,
  .dfl-team-panel,
  .dfl-brochure-panel,
  .dfl-final-panel,
  .dfl-footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .dfl-brochure-panel,
  .dfl-final-panel {
    align-items: start;
  }

  .dfl-brochure-panel .dfl-btn,
  .dfl-final-actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  :root {
    --section-pad: 64px 0;
  }

  .site-header.style-1 .container > .row {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }

  .dfl-hero,
  .dfl-hero-content {
    min-height: 760px;
  }

  .dfl-hero-content {
    padding-top: 70px;
  }

  .dfl-hero h1 {
    font-size: 38px;
  }

  .dfl-hero-text {
    font-size: 16px;
  }

  .dfl-hero-actions,
  .dfl-final-actions {
    flex-direction: column;
  }

  .dfl-hero-actions .dfl-btn,
  .dfl-final-actions .dfl-btn,
  .dfl-team-copy .dfl-btn,
  .dfl-brochure-panel .dfl-btn {
    width: 100%;
  }

  .dfl-trust-strip,
  .dfl-service-grid,
  .dfl-value-grid,
  .dfl-why-layout,
  .dfl-team-panel,
  .dfl-logo-row,
  .dfl-brochure-panel,
  .dfl-final-panel,
  .dfl-footer-grid {
    grid-template-columns: 1fr;
  }

  .dfl-trust-item {
    border-bottom: 1px solid rgba(255,255,255,.14);
    border-right: 0;
    padding: 18px 20px;
  }

  .dfl-trust-item:last-child {
    border-bottom: 0;
  }

  .dfl-section-heading,
  .dfl-section-heading-left {
    text-align: left;
  }

  .dfl-section-heading h2,
  .dfl-team-copy h2,
  .dfl-brochure-panel h2,
  .dfl-final-panel h2 {
    font-size: 28px;
  }

  .dfl-value-item p {
    grid-column: 1 / -1;
  }

  .dfl-team-copy {
    padding: 32px;
  }

  .dfl-logo-row {
    gap: 16px;
  }

  .dfl-logo-row img {
    max-height: 46px;
  }

  .dfl-copyright-row {
    flex-direction: column;
  }
}

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

/* Focused visual QA fixes */
.container,
.dfl-container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
  width: min(100% - 48px, 1280px) !important;
}

.dfl-navbar.navbar.mega {
  background: rgba(7, 22, 50, .98) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.24) !important;
  min-height: 72px !important;
  padding: 0 !important;
}

.dfl-navbar .dfl-nav-container {
  align-items: center;
  display: flex;
  gap: 28px;
  min-height: 72px;
}

.dfl-navbar .dfl-brand {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
}

.dfl-navbar .dfl-brand img {
  display: block;
  max-height: 52px;
  width: auto;
}

.dfl-navbar .dfl-main-nav {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  gap: 4px;
  margin: 0;
}

.dfl-navbar .nav-item,
.dfl-navbar .nav-item.dropdown,
.dfl-navbar .nav-item.active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  overflow: visible !important;
  position: relative;
  transform: none !important;
}

.dfl-navbar .nav-item::before,
.dfl-navbar .nav-item::after,
.dfl-navbar .nav-link::before,
.dfl-navbar .dropdown-menu::before,
.dfl-navbar .dropdown-menu::after,
.dfl-navbar .dfl-dropdown::before,
.dfl-navbar .dfl-dropdown::after {
  content: none !important;
  display: none !important;
}

.dfl-navbar .nav-link {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.78) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  height: auto !important;
  letter-spacing: 0 !important;
  line-height: 72px !important;
  padding: 0 8px !important;
  position: relative;
  text-transform: none !important;
  transform: none !important;
  white-space: nowrap;
}

.dfl-navbar .nav-link::after {
  background: var(--dfl-red) !important;
  bottom: 16px !important;
  content: "" !important;
  display: block !important;
  height: 2px !important;
  left: 8px !important;
  opacity: 0 !important;
  position: absolute !important;
  right: 8px !important;
  top: auto !important;
  transform: scaleX(.5) !important;
  transform-origin: center !important;
  transition: opacity .18s ease, transform .18s ease !important;
  width: auto !important;
}

.dfl-navbar .nav-item.active > .nav-link,
.dfl-navbar .nav-link:hover,
.dfl-navbar .nav-link:focus {
  color: var(--dfl-white) !important;
}

.dfl-navbar .nav-item.active > .nav-link::after,
.dfl-navbar .nav-link:hover::after,
.dfl-navbar .nav-link:focus::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.dfl-navbar .dfl-nav-cta {
  align-items: center;
  background: var(--dfl-red);
  border: 1px solid var(--dfl-red);
  border-radius: var(--radius-btn);
  color: var(--dfl-white) !important;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 800;
  gap: 10px;
  min-height: 44px;
  padding: 0 18px;
  white-space: nowrap;
}

.dfl-navbar .dfl-nav-cta:hover,
.dfl-navbar .dfl-nav-cta:focus {
  background: var(--dfl-red-dark);
  border-color: var(--dfl-red-dark);
  box-shadow: 0 12px 28px rgba(223,31,38,.28);
  transform: translateY(-1px);
}

.dfl-navbar .dfl-dropdown,
.dfl-navbar .dropdown-menu.dfl-dropdown {
  background: rgba(8, 24, 52, .98) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 24px 54px rgba(0,0,0,.34) !important;
  display: block !important;
  float: none !important;
  left: 0 !important;
  margin-top: 0 !important;
  min-width: 220px !important;
  opacity: 0;
  padding: 12px !important;
  pointer-events: none;
  position: absolute !important;
  top: calc(100% - 4px) !important;
  transform: translateY(8px) !important;
  transition: opacity .18s ease, transform .18s ease;
  visibility: hidden;
  z-index: 2000 !important;
}

.dfl-navbar .dropdown:hover > .dfl-dropdown,
.dfl-navbar .dropdown:focus-within > .dfl-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) !important;
  visibility: visible;
}

.dfl-navbar .dfl-dropdown-simple {
  width: 240px !important;
}

.dfl-navbar .dfl-dropdown-simple li {
  list-style: none;
  margin: 0;
}

.dfl-navbar .dfl-dropdown-simple a,
.dfl-navbar .dfl-services-dropdown a {
  align-items: center;
  border-radius: 8px;
  color: rgba(255,255,255,.82) !important;
  display: flex;
  font-family: var(--font-main);
  font-size: 13px;
  font-weight: 700;
  gap: 10px;
  line-height: 1.35;
  padding: 10px 12px;
  text-transform: none !important;
}

.dfl-navbar .dfl-dropdown-simple a:hover,
.dfl-navbar .dfl-services-dropdown a:hover,
.dfl-navbar .dfl-dropdown-simple a:focus,
.dfl-navbar .dfl-services-dropdown a:focus {
  background: rgba(223,31,38,.12);
  color: var(--dfl-white) !important;
}

.dfl-navbar .dfl-services-dropdown {
  display: grid !important;
  gap: 2px 8px;
  grid-template-columns: 1fr 1fr;
  width: 520px !important;
}

.dfl-navbar .dfl-services-dropdown i {
  color: var(--dfl-red);
  flex: 0 0 18px;
  font-size: 15px;
  text-align: center;
}

.dfl-navbar .dfl-services-dropdown span {
  min-width: 0;
}

.dfl-navbar .cart,
.dfl-navbar .mega-content,
.dfl-navbar .mega-menu-img,
.dfl-navbar .feature-list-item {
  display: none !important;
}

.site-header.style-1 .site-info {
  display: none !important;
}

.site-header.style-1 .trigger-menu {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
  height: 44px;
  width: 44px;
}

.site-header.style-1 .trigger-menu::before,
.site-header.style-1 .trigger-menu::after {
  background: var(--dfl-white) !important;
  box-shadow: none !important;
}

.dfl-hero-bg {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.9) 36%, rgba(7,22,50,.52) 72%, rgba(7,22,50,.72) 100%),
    url("../dfl-homepage.png") center right / cover no-repeat;
}

.dfl-route-canvas {
  mix-blend-mode: screen;
  opacity: .78;
}

.dfl-hero-overlay {
  background:
    radial-gradient(circle at 74% 46%, rgba(223,31,38,.3), transparent 17%),
    radial-gradient(circle at 82% 26%, rgba(75,159,255,.18), transparent 22%),
    linear-gradient(180deg, rgba(7,22,50,.03) 0%, rgba(7,22,50,.28) 50%, rgba(7,22,50,.98) 100%);
}

.dfl-team-image img {
  object-position: center 42%;
}

.dfl-strength-strip .dfl-kicker {
  color: rgba(255,255,255,.72);
}

.dfl-capability-row {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dfl-capability-row div {
  align-items: center;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  color: rgba(255,255,255,.8);
  display: flex;
  gap: 10px;
  min-height: 70px;
  padding: 16px;
}

.dfl-capability-row i {
  color: var(--dfl-red);
  font-size: 22px;
}

.dfl-capability-row span {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.page-title,
.page-contact .page-title,
.page-our-services .page-title {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96), rgba(7,22,50,.82)),
    url("../images/services/1920x635/bg-01.jpg") center / cover no-repeat !important;
  height: auto !important;
  margin: 0 0 58px !important;
  min-height: 260px;
  overflow: hidden;
  padding: 88px 0 52px !important;
  position: relative;
}

.page-title::before,
.page-title::after,
.page-title .container::before,
.page-title .container::after {
  content: none !important;
  display: none !important;
}

.page-title .container {
  position: relative !important;
  top: auto !important;
  transform: none !important;
  z-index: 2;
}

.page-title .entry-title {
  color: var(--dfl-white) !important;
  font-size: 44px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  margin: 0 0 18px !important;
  text-transform: none !important;
}

.breadcrumb,
.page-title .breadcrumb {
  background: transparent !important;
  border: 0 !important;
  color: rgba(255,255,255,.72) !important;
  display: flex;
  flex-wrap: wrap;
  font-family: var(--font-main);
  font-size: 13px !important;
  gap: 8px;
  height: auto !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  text-transform: none !important;
}

.breadcrumb::before,
.breadcrumb::after,
.breadcrumb > li + li::before {
  content: none !important;
  display: none !important;
}

.breadcrumb li,
.breadcrumb a,
.breadcrumb > .active {
  color: rgba(255,255,255,.78) !important;
}

.breadcrumb li:not(:last-child)::after {
  color: rgba(255,255,255,.36);
  content: "/";
  margin-left: 8px;
}

.page-contact .dfl-map-wrap {
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(7,22,50,.14);
  margin: -22px auto 54px;
  max-width: 1280px;
  overflow: hidden;
  width: min(100% - 48px, 1280px);
}

.page-contact .dfl-map-wrap iframe {
  display: block;
  height: 400px;
  width: 100%;
}

.info-contact {
  background: var(--dfl-offwhite);
  padding: 12px 0 82px;
}

.info-contact .row {
  align-items: stretch;
  display: grid;
  gap: 26px;
  grid-template-columns: .85fr 1.55fr;
}

.info-contact .col-lg-3,
.info-contact .contact-content {
  float: none;
  max-width: none;
  padding: 0;
  width: auto;
}

.info-contact .office,
.info-contact .contact {
  background: var(--dfl-white);
  border: 1px solid rgba(7,22,50,.09);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(7,22,50,.08);
  min-height: 100%;
  padding: 30px;
}

.info-contact .part-heading {
  margin-bottom: 18px !important;
}

.info-contact .part-heading h2,
.contact-content .part-heading h2 {
  color: var(--dfl-navy);
  font-size: 24px;
  text-transform: none;
}

.info-contact .office p {
  color: var(--dfl-text);
  font-size: 15px;
  line-height: 1.65;
  margin-bottom: 16px;
  padding-left: 30px;
  position: relative;
}

.info-contact .office i {
  color: var(--dfl-red);
  left: 0;
  position: absolute;
  top: 4px;
}

.contact-content > p {
  color: #4B5B70;
  margin-bottom: 22px;
}

.contact .form-control,
.contact-form input,
.contact-form textarea {
  background: #F8FAFC;
  border: 1px solid #DDE6F0;
  border-radius: 10px;
  box-shadow: none;
  color: var(--dfl-text);
  min-height: 52px;
  padding: 14px 16px;
}

.contact textarea.form-control {
  min-height: 140px;
}

.contact .form-control:focus {
  background: var(--dfl-white);
  border-color: rgba(223,31,38,.5);
  box-shadow: 0 0 0 4px rgba(223,31,38,.08);
}

body:not(.page-home) main.col-md-9 {
  background: var(--dfl-white);
  border: 1px solid rgba(7,22,50,.08);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(7,22,50,.07);
  padding: 30px;
}

body:not(.page-home) main.col-md-9 img.img-fluid {
  border-radius: 16px;
  margin-bottom: 28px;
  width: 100%;
}

body:not(.page-home) main.col-md-9 p {
  color: #3E4D62;
  font-size: 16px;
  line-height: 1.8;
}

body:not(.page-home) .sidebar {
  padding-left: 26px;
}

.sidebar .widget {
  background: var(--dfl-white);
  border: 1px solid rgba(7,22,50,.08);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(7,22,50,.07);
  margin-bottom: 24px;
  padding: 22px;
}

.service-menu.service-icon-list {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.service-menu.service-icon-list > div {
  margin-bottom: 10px;
}

.service-menu.service-icon-list .content,
.service-icon-list .content {
  background: var(--dfl-white) !important;
  border: 1px solid rgba(7,22,50,.08) !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 28px rgba(7,22,50,.06) !important;
  min-height: auto !important;
  padding: 14px !important;
}

.service-menu.service-icon-list .content::before,
.service-icon-list .content::before,
.service-menu.service-icon-list .active .content::before {
  content: none !important;
  display: none !important;
}

.service-menu.service-icon-list .type,
.service-icon-list .type {
  background: rgba(223,31,38,.1) !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: var(--dfl-red) !important;
  font-size: 18px !important;
  height: 42px !important;
  line-height: 42px !important;
  margin: 0 !important;
  text-align: center;
  width: 42px !important;
}

.service-menu.service-icon-list h3,
.service-icon-list h3 {
  font-family: var(--font-main);
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  text-transform: none !important;
}

.service-menu.service-icon-list h3 a {
  color: var(--dfl-text);
}

.service-menu.service-icon-list .active .content {
  background: var(--dfl-navy) !important;
  border-color: rgba(223,31,38,.58) !important;
}

.service-menu.service-icon-list .active h3 a {
  color: var(--dfl-white) !important;
}

.service-menu.service-icon-list .active .type {
  background: var(--dfl-red) !important;
  color: var(--dfl-white) !important;
}

.btn.btn-download {
  background: var(--dfl-red) !important;
  border: 1px solid var(--dfl-red) !important;
  border-radius: var(--radius-btn) !important;
  color: var(--dfl-white) !important;
  width: 100%;
}

.advisory {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96), rgba(13,30,58,.9)),
    url("../images/footer.png") center / cover no-repeat !important;
  border-top: 1px solid rgba(255,255,255,.08);
  color: var(--dfl-white);
  padding: 42px 0 !important;
}

.advisory h2 {
  color: var(--dfl-white) !important;
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  text-transform: none !important;
}

.advisory .btn,
.advisory .btn.btn-primary {
  background: var(--dfl-red) !important;
  border: 1px solid var(--dfl-red) !important;
  border-radius: var(--radius-btn) !important;
  box-shadow: 0 14px 34px rgba(223,31,38,.28) !important;
  color: var(--dfl-white) !important;
  font-family: var(--font-main);
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  min-height: 48px;
  padding: 0 22px !important;
  text-transform: none !important;
}

.advisory .btn:hover,
.advisory .btn:focus {
  background: var(--dfl-red-dark) !important;
  border-color: var(--dfl-red-dark) !important;
}

@media (max-width: 1240px) {
  .dfl-navbar .dfl-nav-container {
    gap: 18px;
  }

  .dfl-navbar .nav-link {
    font-size: 13px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .dfl-navbar .dfl-nav-cta {
    padding-left: 14px;
    padding-right: 14px;
  }
}

@media (max-width: 991px) {
  .container,
  .dfl-container {
    width: min(100% - 32px, 1280px) !important;
  }

  .page-contact .dfl-map-wrap {
    width: min(100% - 32px, 1280px);
  }

  .info-contact .row {
    grid-template-columns: 1fr;
  }

  body:not(.page-home) .sidebar {
    padding-left: 0;
  }
}

@media (max-width: 767px) {
  .dfl-hero {
    min-height: 700px;
  }

  .dfl-route-canvas {
    opacity: .52;
  }

  .page-title,
  .page-contact .page-title {
    min-height: 220px;
    padding: 70px 0 42px !important;
  }

  .page-title .entry-title {
    font-size: 34px !important;
  }

  .page-contact .dfl-map-wrap iframe {
    height: 300px;
  }

  .dfl-capability-row {
    grid-template-columns: 1fr 1fr;
  }

  body:not(.page-home) main.col-md-9,
  .sidebar .widget,
  .info-contact .office,
  .info-contact .contact {
    padding: 22px;
  }
}

@media (max-width: 420px) {
  .container,
  .dfl-container,
  .page-contact .dfl-map-wrap {
    width: min(100% - 24px, 1280px) !important;
  }

  .dfl-capability-row {
    grid-template-columns: 1fr;
  }
}

/* VERCEL MOBILE UX V2: purposeful phone experience, not a collapsed desktop */
@media (max-width: 767px) {
  :root {
    --dfl-mobile-gutter: 16px;
    --dfl-mobile-radius: 22px;
    --dfl-mobile-section: 50px;
    --dfl-mobile-card-bg: rgba(255,255,255,0.07);
    --dfl-mobile-card-border: rgba(255,255,255,0.13);
  }

  body {
    background:
      radial-gradient(circle at 90% 8%, rgba(223,31,38,0.13), transparent 28rem),
      linear-gradient(180deg, #071632 0%, #091a3b 42%, #071632 100%) !important;
  }

  .site-header.style-1,
  .dfl-mobile-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    min-height: 64px !important;
    backdrop-filter: blur(18px) !important;
  }

  .trigger-menu {
    width: 44px !important;
    height: 44px !important;
    margin-left: auto !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12) !important;
  }

  #mobile-menu,
  #mobile-menu.dfl-nav {
    top: 70px !important;
    border-radius: 22px !important;
    background:
      linear-gradient(180deg, rgba(11,27,60,0.98), rgba(7,22,50,0.98)) !important;
  }

  #mobile-menu ul ul {
    margin: 4px 0 10px 0 !important;
    padding: 8px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.045) !important;
  }

  .dfl-page-hero,
  html.page-about .dfl-page-hero,
  html.page-team .dfl-page-hero,
  html.page-services .dfl-page-hero,
  html.page-contact .dfl-page-hero,
  html.page-leadership-charities .dfl-page-hero {
    min-height: 235px !important;
    padding: 82px 0 28px !important;
    align-items: flex-end !important;
    border-bottom: 0 !important;
  }

  .dfl-page-hero::before {
    background:
      linear-gradient(180deg, rgba(7,22,50,0.70), rgba(7,22,50,0.94)),
      linear-gradient(90deg, rgba(7,22,50,0.96), rgba(7,22,50,0.48)) !important;
    opacity: 1 !important;
  }

  .dfl-page-hero h1,
  html.page-about .dfl-page-hero h1,
  html.page-team .dfl-page-hero h1,
  html.page-services .dfl-page-hero h1,
  html.page-contact .dfl-page-hero h1,
  html.page-leadership-charities .dfl-page-hero h1 {
    max-width: 11ch !important;
    font-size: clamp(34px, 10.6vw, 46px) !important;
    line-height: 0.98 !important;
  }

  .dfl-breadcrumb {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin-top: 12px !important;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    color: rgba(255,255,255,0.76) !important;
  }

  html.page-home .dfl-hero {
    padding: 82px 0 38px !important;
  }

  html.page-home .dfl-hero-copy {
    min-height: 470px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 26px 18px !important;
    border-radius: 26px !important;
    overflow: hidden !important;
  }

  html.page-home .dfl-hero-copy::before {
    inset: 0 !important;
    border-radius: 26px !important;
    background:
      linear-gradient(180deg, rgba(7,22,50,0.28) 0%, rgba(7,22,50,0.78) 44%, rgba(7,22,50,0.97) 100%),
      radial-gradient(circle at 78% 18%, rgba(223,31,38,0.18), transparent 16rem) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: 0 22px 70px rgba(0,0,0,0.28) !important;
  }

  html.page-home .dfl-hero h1 {
    max-width: 9.5ch !important;
    font-size: clamp(43px, 13.4vw, 58px) !important;
  }

  html.page-home .dfl-hero-text {
    max-width: 31ch !important;
    margin-top: 16px !important;
  }

  html.page-home .dfl-hero-route-card {
    inset: 42px -96vw auto -8vw !important;
    height: 430px !important;
    opacity: 0.34 !important;
    z-index: 0 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    height: 430px !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    transform: translate(-18%, 2%) scale(1.66) !important;
  }

  html.page-home .dfl-trust-strip {
    margin-top: 16px !important;
  }

  html.page-home .dfl-trust-item {
    min-height: 92px !important;
    border-radius: 20px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.045)) !important;
  }

  .dfl-section,
  .dfl-dark-section,
  .dfl-light-section,
  .dfl-services-section,
  .dfl-why-section,
  .dfl-team-feature,
  .dfl-logo-strip,
  .dfl-team-section,
  .dfl-team-roster-section,
  .dfl-team-culture-section,
  .dfl-contact-section,
  .dfl-service-detail-section,
  .dfl-services-page-section,
  html.page-ground .dfl-service-main > section {
    padding-top: var(--dfl-mobile-section) !important;
    padding-bottom: var(--dfl-mobile-section) !important;
  }

  .dfl-section-title,
  .dfl-section-heading h2,
  .dfl-services-page-heading h2,
  .dfl-services-directory-heading h2,
  .dfl-dark-section h2,
  .dfl-light-section h2 {
    font-size: clamp(29px, 8.6vw, 38px) !important;
    line-height: 1.04 !important;
    max-width: 11ch !important;
  }

  .dfl-section-heading p,
  .dfl-services-page-heading p,
  .dfl-team-roster-heading p,
  .dfl-contact-intro,
  .dfl-service-main p {
    font-size: 15px !important;
    line-height: 1.72 !important;
    color: rgba(246,249,255,0.78) !important;
  }

  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory {
    gap: 12px !important;
  }

  .dfl-service-card,
  html.page-services .dfl-services-directory .dfl-service-card {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) 34px !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: 96px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,0.085), rgba(255,255,255,0.035)) !important;
  }

  .dfl-service-card > i,
  html.page-services .dfl-services-directory .dfl-service-card > i {
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(223,31,38,0.14) !important;
    color: #ff5a60 !important;
    font-size: 18px !important;
  }

  .dfl-service-card h3,
  html.page-services .dfl-services-directory .dfl-service-card h3 {
    margin: 0 0 5px !important;
    font-size: 18px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.025em !important;
  }

  .dfl-service-card p,
  html.page-services .dfl-services-directory .dfl-service-card p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.46 !important;
  }

  .dfl-service-card span,
  html.page-services .dfl-services-directory .dfl-service-card span {
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,0.08) !important;
  }

  html.page-services .dfl-services-hub {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html.page-services .dfl-services-page-heading,
  html.page-services .dfl-services-hub-panel,
  html.page-services .dfl-service-lanes article,
  html.page-services .dfl-service-flow {
    padding: 22px !important;
    border-radius: 22px !important;
    background: var(--dfl-mobile-card-bg) !important;
    border: 1px solid var(--dfl-mobile-card-border) !important;
  }

  html.page-services .dfl-services-hub-panel a {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
  }

  html.page-services .dfl-service-flow {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html.page-services .dfl-service-flow > i {
    display: none !important;
  }

  html.page-services .dfl-service-flow div {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.045) !important;
  }

  html.page-services .dfl-service-lanes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 16px !important;
  }

  html.page-ground .dfl-service-layout {
    gap: 20px !important;
  }

  html.page-ground .dfl-service-main > section {
    margin: 0 0 16px !important;
    border-radius: 22px !important;
  }

  html.page-ground .dfl-service-main > section:not(:first-child) {
    padding: 22px !important;
    background: rgba(255,255,255,0.065) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
  }

  html.page-ground .dfl-service-main .custom-heading h2 {
    margin-bottom: 16px !important;
    font-size: clamp(27px, 8vw, 36px) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.05em !important;
  }

  html.page-ground .dfl-service-main #accordion,
  html.page-ground .dfl-service-main .accordion {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  html.page-ground .dfl-service-main .accordion .panel,
  html.page-ground .dfl-service-main #accordion .panel {
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,0.055) !important;
  }

  html.page-ground .dfl-service-main .accordion .panel:has(.panel-collapse.collapse:not(.in)),
  html.page-ground .dfl-service-main #accordion .panel:has(.panel-collapse.collapse:not(.in)) {
    min-height: 0 !important;
  }

  html.page-ground .dfl-service-main .panel-content {
    padding: 0 16px 18px 68px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  html.page-ground .dfl-service-sidebar {
    gap: 14px !important;
  }

  html.page-ground .dfl-service-nav > div {
    margin-bottom: 10px !important;
  }

  html.page-ground .dfl-service-nav .content {
    min-height: 62px !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  html.page-ground .dfl-service-nav .row {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
  }

  html.page-ground .dfl-service-nav [class*="col-"] {
    width: auto !important;
    padding: 0 !important;
  }

  html.page-ground .dfl-service-nav .type {
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
  }

  html.page-ground .dfl-service-nav h3 {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
  }

  html.page-ground .dfl-service-sidebar .office p {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 58px !important;
    padding: 12px !important;
  }

  html.page-team section.dfl-team-section .dfl-container#director > .dfl-director-card,
  html.page-team .dfl-team-culture-panel,
  html.page-home .dfl-team-panel {
    border-radius: 24px !important;
    background:
      linear-gradient(180deg, rgba(255,255,255,0.085), rgba(255,255,255,0.04)) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    overflow: hidden !important;
  }

  html.page-team section.dfl-team-section .dfl-director-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  html.page-team section.dfl-team-section .dfl-director-image {
    height: 290px !important;
  }

  html.page-team section.dfl-team-section .dfl-director-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  html.page-team section.dfl-team-section .dfl-director-copy {
    padding: 24px !important;
  }

  html.page-team .dfl-team-culture-points {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html.page-team .dfl-team-culture-points span {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 14px !important;
  }

  html.page-team .dfl-team-roster-grid {
    gap: 16px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card {
    display: grid !important;
    grid-template-columns: 42% minmax(0, 1fr) !important;
    min-height: 210px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    height: 100% !important;
    min-height: 210px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card .content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 16px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card h3 {
    font-size: 21px !important;
    line-height: 1.04 !important;
    margin-bottom: 10px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card h5 {
    width: 100% !important;
    padding: 7px 9px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card .btn {
    min-height: 44px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }

  html.page-contact .dfl-contact-grid {
    gap: 16px !important;
  }

  html.page-contact .dfl-map-card {
    margin-bottom: 16px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  html.page-contact .dfl-map-card iframe {
    height: 240px !important;
  }

  html.page-contact .dfl-contact-list {
    display: grid !important;
    gap: 10px !important;
  }

  html.page-contact .dfl-contact-list p {
    margin: 0 !important;
    border-radius: 18px !important;
  }

  html.page-contact .dfl-contact-form input:not([type="submit"]),
  html.page-contact .dfl-contact-form textarea {
    border-radius: 16px !important;
    background: rgba(255,255,255,0.07) !important;
  }

  .advisory,
  .dfl-services-final-cta,
  .dfl-team-final-cta,
  .dfl-contact-final-cta {
    margin: 0 !important;
    padding: 36px 0 !important;
  }

  .advisory .row,
  .dfl-services-final-cta .row,
  .dfl-team-final-cta .row,
  .dfl-contact-final-cta .row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 24px !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, rgba(223,31,38,0.18), rgba(255,255,255,0.055)) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
  }

  .advisory [class*="col-"] {
    width: auto !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .advisory .btn,
  .btn.btn-primary,
  input.btn.btn-primary {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 16px !important;
  }

  .dfl-footer {
    padding-top: 44px !important;
  }

  .dfl-footer-brand,
  .dfl-footer-col {
    padding: 20px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,0.045) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
  }

  .dfl-footer-brand img {
    height: 52px !important;
  }

  .dfl-footer-bottom .container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    text-align: left !important;
  }
}

@media (max-width: 430px) {
  html.page-team .dfl-team-member-card.dfl-static-team-card {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    height: min(108vw, 420px) !important;
  }
}

/* TRUE FINAL MOBILE SERVICE ACCORDION OVERRIDE */
@media (max-width: 767px) {
  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .dfl-service-grid > .dfl-service-card,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card,
  .dfl-service-grid > .dfl-service-card:nth-child(1),
  .dfl-service-grid > .dfl-service-card:nth-child(7),
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card:nth-child(1),
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card:nth-child(7) {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) 38px !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: 84px !important;
    height: auto !important;
    padding: 16px !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    text-align: left !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.035)) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,0.16) !important;
    transform: none !important;
  }

  .dfl-service-grid > .dfl-service-card > i,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > i {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    background: rgba(223,31,38,0.14) !important;
    color: #ff5a60 !important;
    font-size: 19px !important;
  }

  .dfl-service-grid > .dfl-service-card > div,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .dfl-service-grid > .dfl-service-card h3,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card h3 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .dfl-service-grid > .dfl-service-card p,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card p {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
    color: rgba(246,249,255,0.76) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .dfl-service-grid > .dfl-service-card.is-expanded p,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card.is-expanded p {
    display: block !important;
  }

  .dfl-service-grid > .dfl-service-card span,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card span {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #ff5a60 !important;
    transform: rotate(90deg) !important;
    transition: transform 0.22s ease, background 0.22s ease !important;
  }

  .dfl-service-grid > .dfl-service-card.is-expanded span,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card.is-expanded span {
    background: rgba(223,31,38,0.16) !important;
    transform: rotate(0deg) !important;
  }

  .dfl-service-grid > .dfl-service-card::after,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card::after {
    content: "Tap again to view service" !important;
    grid-column: 2 / 4 !important;
    display: none !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    color: rgba(255,255,255,0.58) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  .dfl-service-grid > .dfl-service-card.is-expanded::after,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card.is-expanded::after {
    display: block !important;
  }
}

/* FINAL MOBILE SERVICE ACCORDION OVERRIDE: must remain last */
@media (max-width: 767px) {
  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .dfl-service-grid > .dfl-service-card,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card,
  .dfl-service-grid > .dfl-service-card:nth-child(1),
  .dfl-service-grid > .dfl-service-card:nth-child(7),
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card:nth-child(1),
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card:nth-child(7) {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) 38px !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: 84px !important;
    height: auto !important;
    padding: 16px !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    text-align: left !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.035)) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,0.16) !important;
    transform: none !important;
  }

  .dfl-service-grid > .dfl-service-card > i,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > i {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    background: rgba(223,31,38,0.14) !important;
    color: #ff5a60 !important;
    font-size: 19px !important;
  }

  .dfl-service-grid > .dfl-service-card > div,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .dfl-service-grid > .dfl-service-card h3,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card h3 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .dfl-service-grid > .dfl-service-card p,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card p {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
    color: rgba(246,249,255,0.76) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .dfl-service-grid > .dfl-service-card.is-expanded p,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card.is-expanded p {
    display: block !important;
  }

  .dfl-service-grid > .dfl-service-card span,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card span {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #ff5a60 !important;
    transform: rotate(90deg) !important;
    transition: transform 0.22s ease, background 0.22s ease !important;
  }

  .dfl-service-grid > .dfl-service-card.is-expanded span,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card.is-expanded span {
    background: rgba(223,31,38,0.16) !important;
    transform: rotate(0deg) !important;
  }

  .dfl-service-grid > .dfl-service-card::after,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card::after {
    content: "Tap again to view service" !important;
    grid-column: 2 / 4 !important;
    display: none !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    color: rgba(255,255,255,0.58) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
  }

  .dfl-service-grid > .dfl-service-card.is-expanded::after,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card.is-expanded::after {
    display: block !important;
  }
}

/* MOBILE ACCORDION FIX: service cards must never squeeze text into columns */
@media (max-width: 767px) {
  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .dfl-service-card,
  .dfl-service-card:nth-child(1),
  .dfl-service-card:nth-child(7),
  html.page-services .dfl-services-directory .dfl-service-card,
  html.page-services .dfl-services-directory .dfl-service-card:nth-child(1),
  html.page-services .dfl-services-directory .dfl-service-card:nth-child(7) {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) 38px !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: 84px !important;
    height: auto !important;
    padding: 16px !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    text-align: left !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,0.09), rgba(255,255,255,0.035)) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,0.16) !important;
  }

  .dfl-service-card > i,
  html.page-services .dfl-services-directory .dfl-service-card > i {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
    background: rgba(223,31,38,0.14) !important;
    color: #ff5a60 !important;
    font-size: 19px !important;
  }

  .dfl-service-card > div,
  html.page-services .dfl-services-directory .dfl-service-card > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .dfl-service-card h3,
  html.page-services .dfl-services-directory .dfl-service-card h3 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .dfl-service-card p,
  html.page-services .dfl-services-directory .dfl-service-card p {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
    color: rgba(246,249,255,0.76) !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .dfl-service-card.is-expanded p,
  html.page-services .dfl-services-directory .dfl-service-card.is-expanded p {
    display: block !important;
  }

  .dfl-service-card span,
  html.page-services .dfl-services-directory .dfl-service-card span {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    color: #ff5a60 !important;
    transform: rotate(90deg) !important;
    transition: transform 0.22s ease, background 0.22s ease !important;
  }

  .dfl-service-card.is-expanded span,
  html.page-services .dfl-services-directory .dfl-service-card.is-expanded span {
    background: rgba(223,31,38,0.16) !important;
    transform: rotate(0deg) !important;
  }

  .dfl-service-card::after,
  html.page-services .dfl-services-directory .dfl-service-card::after {
    content: "Tap again to view service" !important;
    grid-column: 2 / 4 !important;
    display: none !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    color: rgba(255,255,255,0.58) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
  }

  .dfl-service-card.is-expanded::after,
  html.page-services .dfl-services-directory .dfl-service-card.is-expanded::after {
    display: block !important;
  }
}

/* =========================================================================
   Strict visual repair pass
   ========================================================================= */
html,
body {
  min-width: 0;
  overflow-x: hidden;
  width: 100%;
}

body {
  margin: 0;
}

.dfl-page,
.site,
.site-wrapper,
.page-wrapper,
body > .wrapper,
#page {
  max-width: none;
  width: 100%;
}

.container,
.dfl-container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px !important;
  width: min(100% - 48px, 1280px) !important;
}

#mobile-menu,
nav#mobile-menu {
  background: rgba(7,22,50,.98) !important;
  bottom: 0;
  box-shadow: -24px 0 60px rgba(0,0,0,.38);
  display: block !important;
  left: auto !important;
  max-width: 360px;
  opacity: 0;
  overflow-y: auto;
  padding: 88px 24px 28px;
  pointer-events: none;
  position: fixed !important;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: opacity .22s ease, transform .22s ease;
  visibility: hidden;
  width: min(86vw, 360px);
  z-index: 3000;
}

body.dfl-mobile-nav-open::before {
  background: rgba(3,10,24,.64);
  bottom: 0;
  content: "";
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 2990;
}

#mobile-menu.dfl-mobile-open,
body.dfl-mobile-nav-open #mobile-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
  visibility: visible;
}

#mobile-menu ul,
#mobile-menu li,
.site-header ul,
.navbar ul,
.menu {
  list-style: none !important;
  margin: 0;
  padding: 0;
}

#mobile-menu li {
  border-bottom: 1px solid rgba(255,255,255,.08);
}

#mobile-menu li li {
  border-bottom: 0;
}

#mobile-menu a {
  color: rgba(255,255,255,.88) !important;
  display: block;
  font-family: var(--font-main);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
  padding: 13px 0;
  text-transform: none;
}

#mobile-menu li ul {
  border-left: 2px solid rgba(223,31,38,.55);
  margin: 0 0 10px 8px;
  padding-left: 14px;
}

#mobile-menu li ul a {
  color: rgba(255,255,255,.68) !important;
  font-size: 13px;
  padding: 8px 0;
}

.site-header.style-1 {
  display: none !important;
}

.dfl-navbar {
  display: block !important;
}

.dfl-navbar,
.dfl-navbar .dfl-nav-container,
.dfl-navbar .dfl-main-nav,
.dfl-navbar li,
.dfl-navbar a {
  list-style: none !important;
}

.dfl-navbar .nav-link,
.dfl-navbar .nav-link:hover,
.dfl-navbar .nav-link:focus,
.dfl-navbar .nav-item.active > .nav-link {
  text-decoration: none !important;
}

.dfl-navbar .nav-link::before,
.dfl-navbar .nav-item::before,
.dfl-navbar .nav-item::after {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  content: none !important;
  height: 0 !important;
  transform: none !important;
}

.dfl-hero-bg {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.88) 33%, rgba(7,22,50,.38) 70%, rgba(7,22,50,.48) 100%),
    url("../dfl-homepage.png") center center / cover no-repeat !important;
}

.dfl-route-canvas {
  opacity: .42;
}

.dfl-hero-overlay {
  background:
    radial-gradient(circle at 74% 47%, rgba(223,31,38,.18), transparent 16%),
    linear-gradient(180deg, rgba(7,22,50,.05) 0%, rgba(7,22,50,.2) 54%, rgba(7,22,50,.98) 100%) !important;
}

.dfl-logo-strip {
  border-top: 1px solid rgba(255,255,255,.09);
}

.dfl-capability-row {
  gap: 16px;
}

.dfl-capability-row div {
  align-items: center;
  justify-content: flex-start;
}

.dfl-capability-row i {
  align-items: center;
  background: rgba(223,31,38,.13);
  border: 1px solid rgba(223,31,38,.28);
  border-radius: 999px;
  display: inline-flex;
  flex: 0 0 42px;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.page-title,
.page-contact .page-title,
.page-team .page-title,
.page-our-services .page-title {
  background:
    linear-gradient(90deg, rgba(7,22,50,.97), rgba(7,22,50,.74)),
    url("../dfl-homepage.png") center 46% / cover no-repeat !important;
  margin-bottom: 56px !important;
}

.page-title .entry-title::before,
.page-title .entry-title::after,
.custom-heading::before,
.custom-heading::after,
.custom-heading h1::before,
.custom-heading h1::after,
.custom-heading h2::before,
.custom-heading h2::after,
.three-slashes::before,
.three-slashes::after {
  content: none !important;
  display: none !important;
}

.animated,
.animatedParent {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

.page-contact .page-title {
  min-height: 260px;
  padding: 72px 0 42px !important;
}

.page-contact .dfl-map-wrap {
  margin: -18px auto 44px !important;
}

.page-contact .dfl-map-wrap iframe {
  height: 340px !important;
}

.info-contact {
  background:
    linear-gradient(180deg, var(--dfl-offwhite), #fff);
  padding: 0 0 92px !important;
}

.info-contact .row {
  display: grid !important;
  gap: 32px !important;
  grid-template-columns: .9fr 1.4fr !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.info-contact .row::before,
.info-contact .row::after,
.contact .row::before,
.contact .row::after {
  content: none !important;
  display: none !important;
}

.info-contact .col-lg-3,
.info-contact .contact-content,
.info-contact .contact-info-card,
.contact .col-lg-6,
.contact .col-xs-12 {
  float: none !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: auto !important;
}

.info-contact .part-heading h2 {
  color: var(--dfl-navy);
  font-size: 26px;
  line-height: 1.18;
  margin-bottom: 14px;
}

.info-contact .office,
.info-contact .contact {
  border-radius: 18px;
  min-height: 0 !important;
  padding: 32px !important;
}

.contact-content > p {
  max-width: 760px;
}

.contact form .controls,
.contact form .row {
  display: contents !important;
}

.page-contact form#contact-form {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.page-contact form#contact-form .form-group {
  margin: 0 !important;
}

.page-contact input.form-control,
.page-contact textarea.form-control {
  box-sizing: border-box;
  font-size: 15px !important;
  min-height: 54px;
  width: 100% !important;
}

.page-contact textarea.form-control {
  min-height: 156px !important;
  resize: vertical;
}

.page-contact form#contact-form .form-message,
.page-contact form#contact-form .form-submit,
.page-contact form#contact-form .messages {
  grid-column: 1 / -1;
}

.page-contact form#contact-form input[type="submit"] {
  background: var(--dfl-red) !important;
  border: 1px solid var(--dfl-red) !important;
  border-radius: 10px !important;
  color: #fff !important;
  min-height: 52px;
  padding: 0 28px !important;
  width: fit-content !important;
}

body:not(.page-home) main.col-md-9,
body:not(.page-home) .sidebar .widget {
  min-width: 0;
}

.page-team .ui-quote.with-image,
.page-team .our-member .members-grid,
.page-team section > .container > div:not(.row) {
  background: var(--dfl-white);
  border: 1px solid rgba(7,22,50,.08);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(7,22,50,.07);
  padding: 30px;
}

.dfl-team-fallback,
.dfl-member-fallback {
  background: var(--dfl-white);
  border: 1px solid rgba(7,22,50,.08);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(7,22,50,.07);
  color: #4B5B70;
  margin: 8px auto 0;
  max-width: 720px;
  padding: 34px;
  text-align: center;
}

.dfl-member-fallback .btn {
  margin-top: 12px;
}

@media (max-width: 1199px) {
  .dfl-navbar {
    display: none !important;
  }

  .site-header.style-1 {
    background: var(--dfl-navy) !important;
    border-bottom: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 12px 28px rgba(0,0,0,.2);
    display: block !important;
    min-height: 72px;
    position: sticky;
    top: 0;
    z-index: 2200;
  }

  .site-header.style-1 .container > .row {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 72px;
  }

  .site-header.style-1 .hidden-md-down,
  .site-header.style-1 .site-info,
  .site-header.style-1 .top-menu-bar,
  .site-header.style-1 .contact-bar {
    display: none !important;
  }

  .site-header.style-1 .site-branding {
    flex: 0 0 auto;
    max-width: none;
    padding: 0 !important;
    width: auto;
  }

  .site-header.style-1 .site-branding img {
    display: block;
    max-height: 50px;
  }

  .site-header.style-1 .hidden-lg-up {
    display: block !important;
    flex: 0 0 auto;
    max-width: none;
    padding: 0 !important;
    width: auto;
  }

  .site-header.style-1 .trigger-menu {
    display: block;
    position: relative;
  }

  .site-header.style-1 .trigger-menu::before,
  .site-header.style-1 .trigger-menu::after {
    content: "";
    height: 2px;
    left: 12px;
    position: absolute;
    right: 12px;
  }

  .site-header.style-1 .trigger-menu::before {
    top: 15px;
  }

  .site-header.style-1 .trigger-menu::after {
    top: 25px;
  }
}

@media (max-width: 991px) {
  .info-contact .row {
    grid-template-columns: 1fr !important;
  }

  .dfl-capability-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .container,
  .dfl-container,
  .page-contact .dfl-map-wrap {
    width: min(100% - 28px, 100%) !important;
  }

  .page-contact form#contact-form {
    grid-template-columns: 1fr !important;
  }

  .page-contact form#contact-form input[type="submit"] {
    width: 100% !important;
  }

  .dfl-capability-row {
    grid-template-columns: 1fr 1fr;
  }

  .dfl-hero-bg {
    background:
      linear-gradient(90deg, rgba(7,22,50,.96), rgba(7,22,50,.7)),
      url("../dfl-homepage.png") 67% center / cover no-repeat !important;
  }
}

@media (max-width: 480px) {
  .dfl-capability-row {
    grid-template-columns: 1fr;
  }
}

/* =========================================================================
   Dynamic flat route-map hero
   ========================================================================= */
.dfl-hero {
  background-color: var(--dfl-navy);
  min-height: 760px;
}

.dfl-hero-bg {
  background-image:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.9) 36%, rgba(7,22,50,.56) 68%, rgba(7,22,50,.72) 100%),
    linear-gradient(180deg, rgba(7,22,50,.16) 0%, rgba(7,22,50,.96) 100%),
    url("../dfl-homepage.png") !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  filter: saturate(.82) contrast(1.06);
}

.dfl-route-canvas {
  display: none !important;
}

.dfl-route-layer {
  height: 520px;
  opacity: .78;
  overflow: visible;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 70px;
  width: min(72vw, 1120px);
  z-index: 2;
}

.dfl-route-svg {
  display: block;
  height: 100%;
  overflow: visible;
  width: 100%;
}

.dfl-map-grid {
  opacity: .22;
}

.dfl-grid-line {
  stroke: rgba(143,166,193,.26);
  stroke-width: .65;
}

.dfl-map-dot {
  fill: rgba(126,184,235,.34);
}

.dfl-route-path {
  fill: none;
  stroke-linecap: round;
  stroke-width: 1.45;
  vector-effect: non-scaling-stroke;
}

.dfl-route-primary {
  stroke: rgba(223,31,38,.72);
}

.dfl-route-secondary {
  stroke: rgba(88,176,255,.44);
}

.dfl-route-particle {
  opacity: .92;
}

.dfl-particle-primary {
  fill: rgba(255,92,98,.95);
}

.dfl-particle-secondary {
  fill: rgba(114,192,255,.84);
}

.dfl-destination-node {
  vector-effect: non-scaling-stroke;
}

.dfl-node-primary {
  fill: rgba(255,82,88,.9);
}

.dfl-node-secondary {
  fill: rgba(113,190,255,.82);
}

.sri-node-glow {
  fill: rgba(223,31,38,.16);
}

.sri-node-ring {
  animation: dflSriPulse 2.8s ease-in-out infinite;
  fill: none;
  stroke: rgba(255,94,98,.55);
  stroke-width: 1.6;
  transform-origin: center;
  vector-effect: non-scaling-stroke;
}

.sri-node-core {
  fill: var(--dfl-red);
}

.sri-node-label {
  fill: rgba(255,255,255,.78);
  font-family: var(--font-main);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .8px;
  paint-order: stroke;
  stroke: rgba(7,22,50,.8);
  stroke-width: 4px;
  text-transform: uppercase;
}

.dfl-hero-overlay {
  background:
    linear-gradient(90deg, rgba(7,22,50,.24) 0%, rgba(7,22,50,.04) 52%, rgba(7,22,50,.28) 100%),
    linear-gradient(180deg, rgba(7,22,50,0) 0%, rgba(7,22,50,.98) 100%) !important;
  z-index: 3;
}

.dfl-hero-content {
  min-height: 760px;
  z-index: 4;
}

@keyframes dflSriPulse {
  0%, 100% {
    opacity: .36;
    r: 8;
  }
  50% {
    opacity: .78;
    r: 13;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sri-node-ring {
    animation: none;
  }
}

@media (max-width: 991px) {
  .dfl-route-layer {
    opacity: .52;
    right: -18vw;
    top: 92px;
    width: 92vw;
  }
}

@media (max-width: 767px) {
  .dfl-hero {
    min-height: 720px;
  }

  .dfl-route-layer {
    height: 430px;
    opacity: .35;
    right: -48vw;
    top: 80px;
    width: 120vw;
  }

  .dfl-hero-bg {
    background-image:
      linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.76)),
      linear-gradient(180deg, rgba(7,22,50,.18), rgba(7,22,50,.98)),
      url("../dfl-homepage.png") !important;
    background-position: center right !important;
  }

  .dfl-hero-content {
    min-height: 720px;
  }
}

/* =========================================================================
   Site-wide visual normalization
   Final override layer for one consistent DFL design system.
   ========================================================================= */
:root {
  --dfl-navy: #071632;
  --dfl-navy-2: #0D1E3A;
  --dfl-navy-3: #102A4D;
  --dfl-red: #DF1F26;
  --dfl-red-dark: #B9181E;
  --dfl-white: #FFFFFF;
  --dfl-offwhite: #F5F7FA;
  --dfl-soft-gray: #E6ECF2;
  --dfl-muted: #8FA6C1;
  --dfl-text: #172333;
  --dfl-border: rgba(255,255,255,0.12);
  --font-main: "Inter", "Plus Jakarta Sans", "Segoe UI", Arial, sans-serif;
  --dfl-container: 1440px;
  --dfl-gutter: clamp(24px, 5vw, 80px);
  --radius-card: 20px;
  --radius-btn: 10px;
}

html,
body {
  background: var(--dfl-offwhite) !important;
  margin: 0 !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  width: 100% !important;
}

html,
body,
button,
input,
textarea,
select,
nav,
header,
footer,
section,
div,
p,
a,
li,
span,
label {
  font-family: var(--font-main) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.page-title,
.page-title h1,
.page-header h1,
.page-banner h1,
.dfl-page-hero h1,
.section-title,
.widget-title,
.site-title,
.entry-title,
.custom-heading h1,
.custom-heading h2,
.custom-heading h3,
.panel-title,
.quote,
.author {
  font-family: var(--font-main) !important;
  letter-spacing: -0.03em;
}

.site,
.site-wrapper,
.page-wrapper,
.main-wrapper,
.wrapper,
.dfl-page,
#page {
  margin: 0 !important;
  max-width: none !important;
  overflow-x: hidden !important;
  width: 100% !important;
}

.container,
.dfl-container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--dfl-container) !important;
  width: min(calc(100% - (var(--dfl-gutter) * 2)), var(--dfl-container)) !important;
}

.dfl-hero,
.page-title,
.page-header,
.page-banner,
.dfl-page-hero,
.site-footer,
.dfl-footer,
.dfl-cta,
.dfl-tracking-cta,
.advisory {
  max-width: none !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  :root {
    --dfl-gutter: 20px;
  }
}

/* Hide raw legacy mobile menu until the mmenu plugin or the hamburger opens it. */
#mobile-menu:not(.mm-menu),
nav#mobile-menu:not(.mm-menu),
.mobile-menu:not(.is-open),
.mm-menu.mm-offcanvas:not(.mm-opened) {
  display: none !important;
}

#mobile-menu ul,
.navbar ul,
.site-header ul,
.dfl-footer ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Header and dropdown cleanup. */
.site-header.style-1 {
  background: var(--dfl-navy) !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 14px 38px rgba(0,0,0,.22) !important;
}

.site-header .site-info,
.site-header .top-menu-bar,
.site-header .social-menu,
.site-header .world-clock,
.site-header .clock,
.site-header .header-info {
  display: none !important;
}

.navbar.mega,
.navbar,
.site-header .navbar {
  background: rgba(7,22,50,.98) !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 72px !important;
}

.navbar.mega .nav-link,
.navbar .nav-link,
.navbar-nav > li > a {
  background: transparent !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  padding: 26px 12px !important;
  text-decoration: none !important;
  text-transform: none !important;
}

.navbar.mega .nav-link::before,
.navbar.mega .nav-link::after,
.navbar-nav > li > a::before,
.navbar-nav > li > a::after,
.navbar-nav li.active::before,
.navbar-nav li.active::after,
.feature-list-item::before,
.feature-list-item::after {
  transform: none !important;
}

.navbar.mega .nav-link::before,
.navbar-nav > li > a::before,
.navbar-nav li.active::before,
.feature-list-item::before {
  display: none !important;
}

.navbar.mega .nav-link::after,
.navbar-nav > li > a::after {
  background: var(--dfl-red) !important;
  bottom: 16px !important;
  content: "" !important;
  display: block !important;
  height: 2px !important;
  left: 12px !important;
  opacity: 0 !important;
  position: absolute !important;
  right: 12px !important;
  top: auto !important;
  width: auto !important;
}

.navbar.mega .nav-item.active > .nav-link::after,
.navbar.mega .nav-link:hover::after,
.navbar-nav > li.active > a::after,
.navbar-nav > li > a:hover::after {
  opacity: 1 !important;
}

.navbar.mega .nav-item.active > .nav-link,
.navbar.mega .nav-link:hover,
.navbar-nav > li.active > a,
.navbar-nav > li > a:hover {
  color: var(--dfl-white) !important;
}

.navbar.mega .dfl-nav-quote .nav-link,
.dfl-nav-cta {
  background: var(--dfl-red) !important;
  border: 1px solid var(--dfl-red) !important;
  border-radius: var(--radius-btn) !important;
  color: #fff !important;
  min-height: 44px !important;
  padding: 13px 18px !important;
}

.navbar.mega .dfl-nav-quote .nav-link::after,
.dfl-nav-cta::before,
.dfl-nav-cta::after {
  display: none !important;
}

.navbar.mega .dropdown-menu,
.navbar .dropdown-menu,
.mega-content,
.dropdown-menu {
  background: rgba(7,22,50,.98) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 54px rgba(0,0,0,.34) !important;
  clip-path: none !important;
  max-width: 520px !important;
  min-width: 260px !important;
  overflow: hidden !important;
  padding: 12px !important;
  transform: none !important;
}

.mega-content img,
.dropdown-menu img,
.mega-content .image,
.mega-content .featured-image {
  display: none !important;
}

.dropdown-menu a,
.mega-content a,
.feature-list-title a {
  border-radius: 10px !important;
  color: rgba(255,255,255,.82) !important;
  display: block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  padding: 10px 12px !important;
  text-transform: none !important;
}

.dropdown-menu a:hover,
.mega-content a:hover,
.feature-list-title a:hover {
  background: rgba(223,31,38,.12) !important;
  color: #fff !important;
}

/* Universal subpage hero. */
.page-title,
.page-header,
.page-banner,
.dfl-page-hero,
.subpage-hero,
.inner-hero {
  background:
    linear-gradient(90deg, rgba(7,22,50,0.97), rgba(7,22,50,0.82)),
    url("../dfl-homepage.png") center center / cover no-repeat !important;
  color: #fff !important;
  min-height: 280px !important;
  overflow: hidden !important;
  padding: 96px 0 64px !important;
  position: relative !important;
  width: 100% !important;
}

.page-title .container,
.page-header .container,
.page-banner .container,
.dfl-page-hero .container {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 120px !important;
}

.page-title h1,
.page-header h1,
.page-banner h1,
.dfl-page-hero h1,
.subpage-hero h1,
.inner-hero h1,
.page-title .entry-title {
  color: #fff !important;
  font-size: clamp(34px, 4vw, 56px) !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  margin: 0 0 20px !important;
  text-transform: none !important;
}

.breadcrumb,
.breadcrumbs,
.page-title .breadcrumb,
.page-header .breadcrumb {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: rgba(255,255,255,0.68) !important;
  font-size: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.breadcrumb a,
.breadcrumbs a,
.breadcrumb li,
.breadcrumb > .active {
  color: rgba(255,255,255,0.75) !important;
  text-decoration: none !important;
}

.breadcrumb a:hover,
.breadcrumbs a:hover {
  color: var(--dfl-red) !important;
}

.page-title::before,
.page-title::after,
.page-header::before,
.page-header::after,
.page-banner::before,
.page-banner::after,
.breadcrumb::before,
.breadcrumb::after,
.breadcrumbs::before,
.breadcrumbs::after,
.echo-title,
.bg-title,
.ghost-title,
.title-deco,
.section-divider-icon,
.sep-icon,
.owl-dots,
.carousel-indicators {
  content: none !important;
  display: none !important;
}

.title-breadcrumb,
.title-breadcrumb::before,
.title-breadcrumb::after,
.breadcrumb-wrapper,
.breadcrumb-wrapper::before,
.breadcrumb-wrapper::after,
[class*="skew"],
[class*="ribbon"] {
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
  transform: none !important;
}

.custom-heading h1,
.custom-heading h2,
.custom-heading h3 {
  color: var(--dfl-text) !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  font-weight: 800 !important;
  line-height: 1.14 !important;
  margin-bottom: 22px !important;
  text-transform: none !important;
}

.custom-heading h1::before,
.custom-heading h1::after,
.custom-heading h2::before,
.custom-heading h2::after,
.three-slashes::before,
.three-slashes::after {
  display: none !important;
}

.btn,
.button,
.btn-primary,
.btn-default,
.btn-download,
button[type="submit"],
input[type="submit"] {
  border-radius: var(--radius-btn) !important;
  font-family: var(--font-main) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.btn-primary,
.button,
.btn-default,
.btn-download,
button[type="submit"],
input[type="submit"] {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
  color: #fff !important;
}

.btn-primary:hover,
.button:hover,
.btn-default:hover,
.btn-download:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: var(--dfl-red-dark) !important;
  border-color: var(--dfl-red-dark) !important;
  color: #fff !important;
}

.animated,
.animatedParent,
[class*="bounce"],
[class*="tada"] {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Homepage hero route layer: keep it noticeable or it has no reason to exist. */
.dfl-hero-bg {
  background-image:
    linear-gradient(90deg, rgba(7,22,50,0.98) 0%, rgba(7,22,50,0.88) 36%, rgba(7,22,50,0.50) 68%, rgba(7,22,50,0.72) 100%),
    linear-gradient(180deg, rgba(7,22,50,0.10) 0%, rgba(7,22,50,0.96) 100%),
    url("../dfl-homepage.png") !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.dfl-route-layer {
  opacity: .75 !important;
}

.dfl-route-path {
  stroke-width: 1.9 !important;
}

.dfl-route-primary {
  opacity: .82 !important;
  stroke: rgba(255,72,78,.84) !important;
}

.dfl-route-secondary {
  opacity: .66 !important;
  stroke: rgba(98,188,255,.68) !important;
}

.dfl-route-particle {
  opacity: .85 !important;
}

.sri-node-glow {
  fill: rgba(223,31,38,.28) !important;
}

.sri-node-ring {
  animation-duration: 2s !important;
  stroke: rgba(255,95,100,.86) !important;
}

.sri-node-core {
  filter: drop-shadow(0 0 12px rgba(223,31,38,.95)) !important;
}

/* About page normalization. */
html.page-about .our-company,
html.page-about .info-news,
html.page-about .testimonials,
html.page-about #vision-mission,
html.page-about #charities,
html.page-about #leadership {
  background: var(--dfl-offwhite) !important;
  opacity: 1 !important;
  padding: 88px 0 !important;
}

html.page-about .our-company .row,
html.page-about #leadership .row {
  align-items: center !important;
}

html.page-about .our-company img,
html.page-about #leadership img,
html.page-team .ui-quote img,
html.page-ground main img {
  border: 0 !important;
  border-radius: var(--radius-card) !important;
  box-shadow: 0 24px 60px rgba(7,22,50,.14) !important;
  object-fit: cover !important;
  overflow: hidden !important;
}

html.page-about .description,
html.page-about .why-us,
html.page-about .highlight-part,
html.page-team .ui-quote,
html.page-team .dfl-team-fallback,
html.page-ground main > section,
html.page-ground .service-brochure {
  background: #fff !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: var(--radius-card) !important;
  box-shadow: 0 18px 50px rgba(7,22,50,.08) !important;
  color: var(--dfl-text) !important;
  padding: 32px !important;
}

html.page-about #vision-mission {
  background: var(--dfl-navy) !important;
}

html.page-about #vision-mission .custom-heading h1 {
  color: #fff !important;
}

html.page-about #vision-mission .owl-carousel,
html.page-about #vision-mission .owl-stage-outer,
html.page-about #vision-mission .owl-stage {
  display: grid !important;
  gap: 24px !important;
  transform: none !important;
  width: 100% !important;
}

html.page-about #vision-mission .owl-stage {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.page-about #vision-mission .owl-carousel {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.page-about #vision-mission .owl-item,
html.page-about #vision-mission .item {
  display: block !important;
  margin: 0 !important;
  opacity: 1 !important;
  width: auto !important;
}

html.page-about #vision-mission .quote,
html.page-about #vision-mission blockquote,
html.page-about #vision-mission .testimonials-text {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
  color: rgba(255,255,255,.86) !important;
  margin: 0 !important;
  min-height: 100% !important;
  padding: 30px !important;
}

html.page-about #vision-mission cite,
html.page-about #vision-mission cite span {
  color: #fff !important;
  display: block !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  margin-top: 18px !important;
  text-transform: none !important;
}

html.page-about #accordion,
html.page-about .accordion {
  display: grid !important;
  gap: 18px !important;
}

.panel,
.panel-default,
.accordion .panel {
  background: #fff !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: var(--radius-card) !important;
  box-shadow: 0 18px 50px rgba(7,22,50,.08) !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.panel-heading {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.panel-title a {
  align-items: center !important;
  color: var(--dfl-navy) !important;
  display: flex !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  gap: 12px !important;
  padding: 22px 24px 8px !important;
  text-decoration: none !important;
  text-transform: none !important;
}

.panel-title i {
  color: var(--dfl-red) !important;
}

.panel-collapse,
.panel-collapse.collapse {
  display: block !important;
  height: auto !important;
}

.panel-content {
  color: #506174 !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  padding: 0 24px 24px !important;
}

html.page-about .list-item-icon {
  background: #fff !important;
  border: 1px solid #e0e8f1 !important;
  border-radius: 14px !important;
  margin-bottom: 10px !important;
  padding: 12px 14px !important;
}

html.page-about .list-item-icon i {
  color: var(--dfl-red) !important;
}

/* Contact page normalization. */
.dfl-map-wrap {
  background: var(--dfl-offwhite) !important;
  padding: 72px 0 0 !important;
}

.dfl-map-wrap iframe {
  border: 0 !important;
  border-radius: var(--radius-card) !important;
  box-shadow: 0 20px 56px rgba(7,22,50,.12) !important;
  display: block !important;
  height: 400px !important;
  margin: 0 auto !important;
  max-width: var(--dfl-container) !important;
  width: min(calc(100% - (var(--dfl-gutter) * 2)), var(--dfl-container)) !important;
}

.info-contact.contact-page {
  background: var(--dfl-offwhite) !important;
  padding: 56px 0 96px !important;
}

.info-contact.contact-page .container > .row {
  display: grid !important;
  gap: 32px !important;
  grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr) !important;
  margin: 0 !important;
}

.contact-info-card,
.contact-content,
.dfl-contact-card,
.dfl-form-card {
  background: #fff !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: var(--radius-card) !important;
  box-shadow: 0 18px 50px rgba(7,22,50,.08) !important;
  float: none !important;
  min-height: 0 !important;
  padding: 32px !important;
  width: auto !important;
}

.contact-info-card .office p,
.dfl-footer-contact p,
.sidebar .office p {
  align-items: flex-start !important;
  color: #506174 !important;
  display: flex !important;
  gap: 12px !important;
}

.contact-info-card i,
.dfl-footer-contact i,
.sidebar .office i {
  color: var(--dfl-red) !important;
  margin-top: 6px !important;
  min-width: 16px !important;
}

.contact-content .contact {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.contact-content p {
  color: #506174 !important;
  margin-bottom: 24px !important;
}

.contact-content form#contact-form {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.contact-content form#contact-form .form-group {
  margin: 0 !important;
  width: 100% !important;
}

.contact-content form#contact-form .form-message,
.contact-content form#contact-form .form-submit,
.contact-content form#contact-form .messages {
  grid-column: 1 / -1 !important;
}

.contact-content input,
.contact-content textarea,
.contact-content .form-control {
  background: #fff !important;
  border: 1px solid #d7e0ea !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--dfl-text) !important;
  font-size: 15px !important;
  min-height: 52px !important;
  padding: 14px 16px !important;
  width: 100% !important;
}

.contact-content textarea {
  min-height: 150px !important;
  resize: vertical !important;
}

.contact-content input[type="submit"] {
  min-height: 52px !important;
  padding: 0 28px !important;
  width: fit-content !important;
}

/* Inner service pages. */
html.page-ground .page-title + .container {
  padding: 80px 0 96px !important;
}

html.page-ground .page-title + .container > .row {
  display: grid !important;
  gap: 40px !important;
  grid-template-columns: minmax(0, 1fr) 340px !important;
  margin: 0 !important;
}

html.page-ground main,
html.page-ground aside.sidebar {
  float: none !important;
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}

html.page-ground main {
  display: grid !important;
  gap: 26px !important;
}

html.page-ground main > section {
  margin: 0 !important;
}

html.page-ground main > section:has(img) {
  padding: 0 !important;
}

html.page-ground main img {
  display: block !important;
  height: auto !important;
  width: 100% !important;
}

.sidebar .widget {
  background: #fff !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: var(--radius-card) !important;
  box-shadow: 0 18px 50px rgba(7,22,50,.08) !important;
  margin: 0 0 24px !important;
  padding: 24px !important;
}

.service-icon-list.service-menu {
  display: grid !important;
  gap: 10px !important;
}

.service-icon-list.service-menu > div {
  border: 1px solid #e1e9f2 !important;
  border-radius: 14px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.service-icon-list.service-menu > div.active,
.service-icon-list.service-menu > div:hover {
  background: var(--dfl-navy) !important;
  border-color: var(--dfl-navy) !important;
}

.service-icon-list .content,
.service-icon-list .row {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.service-icon-list .col-md-3,
.service-icon-list .col-md-9 {
  float: none !important;
  padding: 0 !important;
  width: auto !important;
}

.service-icon-list .type {
  align-items: center !important;
  background: rgba(223,31,38,.1) !important;
  border-radius: 50% !important;
  color: var(--dfl-red) !important;
  display: inline-flex !important;
  height: 38px !important;
  justify-content: center !important;
  min-width: 38px !important;
  width: 38px !important;
}

.service-icon-list h3 {
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

.service-icon-list h3 a {
  color: var(--dfl-text) !important;
  display: block !important;
  padding: 13px 0 !important;
}

.service-icon-list > div.active h3 a,
.service-icon-list > div:hover h3 a {
  color: #fff !important;
}

.service-icon-list > div.active .type,
.service-icon-list > div:hover .type {
  background: var(--dfl-red) !important;
  color: #fff !important;
}

/* Leadership and team pages. */
html.page-about #leadership .description,
html.page-about #charities .highlight-part {
  min-height: 100% !important;
}

html.page-team section {
  background: var(--dfl-offwhite) !important;
  padding: 80px 0 !important;
}

html.page-team .ui-quote.with-image {
  margin: 0 !important;
}

html.page-team .ui-quote .row {
  align-items: center !important;
}

html.page-team cite.author span {
  color: var(--dfl-navy) !important;
  display: block !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

html.page-team .our-member .col-lg-4 {
  background: #fff !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: var(--radius-card) !important;
  float: none !important;
  box-shadow: 0 18px 50px rgba(7,22,50,.08) !important;
  margin: 0 12px 28px !important;
  overflow: hidden !important;
  padding: 20px !important;
  width: auto !important;
}

html.page-team .our-member .row[style] {
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 !important;
  text-align: left !important;
}

html.page-team .our-member img {
  border-radius: 16px !important;
  cursor: pointer !important;
  height: 260px !important;
  object-fit: cover !important;
  width: 100% !important;
}

/* CTA/footer normalization. */
.advisory {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98), rgba(13,30,58,.92)),
    url("../dfl-homepage.png") center center / cover no-repeat !important;
  color: #fff !important;
  padding: 56px 0 !important;
}

.advisory .row {
  align-items: center !important;
  display: flex !important;
  gap: 24px !important;
  justify-content: space-between !important;
  margin: 0 !important;
}

.advisory h2 {
  color: #fff !important;
  font-size: clamp(26px, 3vw, 40px) !important;
  font-weight: 800 !important;
  margin: 0 !important;
  text-transform: none !important;
}

.advisory .col-md-6,
.advisory .col-md-4 {
  float: none !important;
  padding: 0 !important;
  width: auto !important;
}

.dfl-footer {
  background: var(--dfl-navy) !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.78) !important;
  padding: 64px 0 44px !important;
}

.dfl-footer h3 {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  text-transform: none !important;
}

.dfl-footer a {
  color: rgba(255,255,255,.74) !important;
}

.dfl-footer a:hover {
  color: var(--dfl-red) !important;
}

.dfl-copyright {
  background: #041026 !important;
  color: rgba(255,255,255,.58) !important;
}

@media (max-width: 991px) {
  html.page-about #vision-mission .owl-stage,
  .info-contact.contact-page .container > .row,
  html.page-ground .page-title + .container > .row {
    grid-template-columns: 1fr !important;
  }

  .advisory .row {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 767px) {
  .page-title,
  .page-header,
  .page-banner,
  .dfl-page-hero {
    min-height: 240px !important;
    padding: 80px 0 52px !important;
  }

  .dfl-map-wrap iframe {
    height: 300px !important;
  }

  .contact-content form#contact-form {
    grid-template-columns: 1fr !important;
  }

  html.page-about #vision-mission .owl-carousel,
  html.page-about #vision-mission .owl-stage,
  html.page-team .our-member .row[style] {
    grid-template-columns: 1fr !important;
  }

  .contact-info-card,
  .contact-content,
  html.page-about .description,
  html.page-about .why-us,
  html.page-team .ui-quote,
  html.page-ground main > section,
  .sidebar .widget {
    padding: 24px !important;
  }

  .dfl-route-layer {
    opacity: .45 !important;
  }
}

/* =========================================================================
   Final hero/background and subpage spacing correction
   ========================================================================= */
.dfl-hero-bg {
  background-image:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.88) 32%, rgba(7,22,50,.38) 66%, rgba(7,22,50,.48) 100%),
    linear-gradient(180deg, rgba(7,22,50,.10) 0%, rgba(7,22,50,.82) 100%),
    url("../dfl-homepage.png") !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  filter: saturate(1.04) contrast(1.08) !important;
  transform: none !important;
  z-index: 0 !important;
}

.dfl-hero-overlay {
  background:
    linear-gradient(90deg, rgba(7,22,50,.10) 0%, rgba(7,22,50,0) 52%, rgba(7,22,50,.10) 100%),
    linear-gradient(180deg, rgba(7,22,50,0) 0%, rgba(7,22,50,.94) 100%) !important;
  z-index: 1 !important;
}

.dfl-route-layer {
  height: 640px !important;
  opacity: 1 !important;
  right: -5vw !important;
  top: 34px !important;
  width: min(86vw, 1320px) !important;
  z-index: 2 !important;
}

.dfl-route-svg {
  filter: drop-shadow(0 0 22px rgba(60,150,255,.24)) drop-shadow(0 0 20px rgba(223,31,38,.16)) !important;
}

.dfl-map-grid {
  opacity: .32 !important;
}

.dfl-grid-line {
  stroke: rgba(122,190,255,.34) !important;
  stroke-width: .8 !important;
}

.dfl-map-dot {
  fill: rgba(112,195,255,.48) !important;
}

.dfl-route-path {
  stroke-width: 3 !important;
}

.dfl-route-primary {
  opacity: .96 !important;
  stroke: rgba(255,64,72,.96) !important;
}

.dfl-route-secondary {
  opacity: .82 !important;
  stroke: rgba(95,190,255,.86) !important;
}

.dfl-route-particle {
  opacity: 1 !important;
  filter: drop-shadow(0 0 10px currentColor) !important;
}

.dfl-particle-primary {
  fill: #ff4a52 !important;
}

.dfl-particle-secondary {
  fill: #70c8ff !important;
}

.dfl-destination-node {
  filter: drop-shadow(0 0 8px rgba(112,200,255,.55)) !important;
}

.sri-node-glow {
  fill: rgba(223,31,38,.42) !important;
}

.sri-node-ring {
  animation-duration: 1.8s !important;
  stroke: rgba(255,78,86,1) !important;
  stroke-width: 2.4 !important;
}

.sri-node-core {
  fill: #ff2d36 !important;
  filter: drop-shadow(0 0 18px rgba(255,45,54,1)) !important;
}

.sri-node-label {
  fill: #fff !important;
  font-size: 15px !important;
  stroke-width: 5px !important;
}

.dfl-destination-label {
  opacity: .96 !important;
  paint-order: stroke !important;
  pointer-events: none !important;
}

.dfl-destination-city {
  fill: rgba(255,255,255,.96) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  stroke: rgba(7,22,50,.86) !important;
  stroke-width: 4px !important;
}

.dfl-destination-country {
  fill: rgba(173,213,255,.9) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  stroke: rgba(7,22,50,.86) !important;
  stroke-width: 3px !important;
  text-transform: uppercase !important;
}

.dfl-hero-content {
  position: relative !important;
  z-index: 4 !important;
}

.page-title,
.page-header,
.page-banner,
.dfl-page-hero,
.subpage-hero,
.inner-hero {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96), rgba(7,22,50,.78)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  min-height: 190px !important;
  padding: 58px 0 42px !important;
}

.page-title .container,
.page-header .container,
.page-banner .container,
.dfl-page-hero .container {
  min-height: 90px !important;
}

.page-title h1,
.page-header h1,
.page-banner h1,
.dfl-page-hero h1,
.subpage-hero h1,
.inner-hero h1,
.page-title .entry-title {
  font-size: clamp(30px, 3.2vw, 46px) !important;
  margin: 0 0 12px !important;
}

.advisory,
.dfl-final-panel {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96), rgba(13,30,58,.86)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
}

@media (max-width: 991px) {
  .dfl-route-layer {
    height: 560px !important;
    opacity: .8 !important;
    right: -32vw !important;
    top: 80px !important;
    width: 120vw !important;
  }
}

@media (max-width: 767px) {
  .dfl-hero-bg {
    background-image:
      linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.70)),
      linear-gradient(180deg, rgba(7,22,50,.08), rgba(7,22,50,.94)),
      url("../dfl-homepage.png") !important;
    background-position: center right !important;
  }

  .dfl-route-layer {
    height: 430px !important;
    opacity: .55 !important;
    right: -64vw !important;
    top: 92px !important;
    width: 150vw !important;
  }

  .page-title,
  .page-header,
  .page-banner,
  .dfl-page-hero {
    min-height: 160px !important;
    padding: 46px 0 34px !important;
  }
}

/* About page hard reset for old carousel/ribbon sections shown in screenshots. */
.dfl-about-vm {
  background:
    linear-gradient(180deg, rgba(7,22,50,.98), rgba(13,30,58,.97)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  color: #fff !important;
  overflow: hidden !important;
  padding: 84px 0 !important;
}

.dfl-about-vm .custom-heading {
  margin-bottom: 34px !important;
  text-align: center !important;
}

.dfl-about-vm .custom-heading h1,
.dfl-about-vm .custom-heading h2 {
  color: #fff !important;
  font-size: clamp(34px, 4vw, 54px) !important;
  margin: 0 !important;
}

.dfl-vm-grid {
  display: grid !important;
  gap: 28px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
}

.dfl-vm-card {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.24) !important;
  min-height: 100% !important;
  overflow: hidden !important;
  padding: 34px !important;
  position: relative !important;
}

.dfl-vm-card::before {
  background: var(--dfl-red) !important;
  content: "" !important;
  height: 4px !important;
  left: 34px !important;
  position: absolute !important;
  right: 34px !important;
  top: 0 !important;
}

.dfl-card-kicker {
  color: var(--dfl-red) !important;
  display: block !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  margin-bottom: 16px !important;
  text-transform: uppercase !important;
}

.dfl-vm-card p {
  color: rgba(255,255,255,.82) !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

.dfl-about-values {
  background: var(--dfl-offwhite) !important;
  padding: 88px 0 96px !important;
}

.dfl-about-values-grid {
  align-items: start !important;
  display: grid !important;
  gap: 34px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dfl-about-card {
  background: #fff !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: 22px !important;
  box-shadow: 0 20px 60px rgba(7,22,50,.08) !important;
  min-height: 100% !important;
  padding: 34px !important;
}

.dfl-about-card .custom-heading h2 {
  color: var(--dfl-navy) !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  margin-bottom: 26px !important;
  text-align: center !important;
}

.dfl-about-card p {
  color: #39485b !important;
  font-size: 16px !important;
}

.dfl-check-list {
  display: grid !important;
  gap: 12px !important;
  list-style: none !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

.dfl-check-list li {
  align-items: flex-start !important;
  background: #fff !important;
  border: 1px solid #e0e8f1 !important;
  border-radius: 14px !important;
  color: #253244 !important;
  display: flex !important;
  font-size: 16px !important;
  gap: 12px !important;
  line-height: 1.45 !important;
  padding: 14px 16px !important;
}

.dfl-check-list i {
  color: var(--dfl-red) !important;
  margin-top: 4px !important;
}

.dfl-core-grid {
  display: grid !important;
  gap: 18px !important;
}

.dfl-core-card {
  background: #fff !important;
  border: 1px solid #e0e8f1 !important;
  border-radius: 18px !important;
  padding: 24px 24px 24px 82px !important;
  position: relative !important;
}

.dfl-core-icon {
  align-items: center !important;
  background: rgba(223,31,38,.1) !important;
  border-radius: 50% !important;
  color: var(--dfl-red) !important;
  display: inline-flex !important;
  height: 42px !important;
  justify-content: center !important;
  left: 24px !important;
  position: absolute !important;
  top: 24px !important;
  width: 42px !important;
}

.dfl-core-card h3 {
  color: var(--dfl-navy) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  margin: 0 0 8px !important;
  text-transform: uppercase !important;
}

.dfl-core-card p {
  color: #5f6d80 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

@media (max-width: 991px) {
  .dfl-vm-grid,
  .dfl-about-values-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .dfl-about-vm,
  .dfl-about-values {
    padding: 58px 0 !important;
  }

  .dfl-vm-card,
  .dfl-about-card {
    padding: 24px !important;
  }

  .dfl-core-card {
    padding: 22px !important;
  }

  .dfl-core-icon {
    margin-bottom: 14px !important;
    position: static !important;
  }
}

/* =========================================================================
   Homepage finishing pass: larger nav and integrated route network
   ========================================================================= */
.container,
.dfl-container,
.dfl-navbar .dfl-nav-container {
  max-width: 1440px !important;
  width: min(100% - 64px, 1440px) !important;
}

.dfl-navbar.navbar.mega {
  min-height: 92px !important;
}

.dfl-navbar .dfl-nav-container {
  gap: 34px !important;
  min-height: 92px !important;
}

.dfl-navbar .dfl-brand img {
  max-height: 68px !important;
}

.dfl-navbar .nav-link {
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 92px !important;
  padding: 0 11px !important;
}

.dfl-navbar .nav-link::after {
  bottom: 23px !important;
  left: 11px !important;
  right: 11px !important;
}

.dfl-navbar .dfl-nav-cta {
  border-radius: 14px !important;
  font-size: 15px !important;
  min-height: 56px !important;
  padding: 0 24px !important;
}

.dfl-hero {
  min-height: 720px !important;
}

.dfl-hero-bg {
  background-image:
    linear-gradient(90deg, rgba(7,22,50,.99) 0%, rgba(7,22,50,.91) 30%, rgba(7,22,50,.42) 62%, rgba(7,22,50,.34) 100%),
    linear-gradient(180deg, rgba(7,22,50,.04) 0%, rgba(7,22,50,.90) 100%),
    url("../dfl-homepage.png") !important;
  background-position: center right !important;
}

.dfl-hero-content {
  min-height: 720px !important;
  padding-top: 82px !important;
  padding-bottom: 34px !important;
}

.dfl-hero-copy {
  max-width: 650px !important;
}

.dfl-hero h1 {
  font-size: clamp(52px, 4.2vw, 76px) !important;
  max-width: 720px !important;
}

.dfl-hero-text {
  color: rgba(255,255,255,.84) !important;
  max-width: 590px !important;
}

.dfl-trust-strip {
  margin-top: 58px !important;
  max-width: 1280px !important;
}

.dfl-route-layer {
  height: clamp(390px, 36vw, 540px) !important;
  opacity: .96 !important;
  right: clamp(28px, 4vw, 92px) !important;
  top: clamp(126px, 14vh, 160px) !important;
  width: min(51vw, 950px) !important;
}

.dfl-route-svg {
  overflow: visible !important;
}

.dfl-map-grid {
  opacity: .22 !important;
}

.dfl-map-dot {
  fill: rgba(112,195,255,.36) !important;
}

.dfl-route-path {
  stroke-width: 2.45 !important;
}

.dfl-route-primary {
  opacity: .92 !important;
}

.dfl-route-secondary {
  opacity: .72 !important;
}

.dfl-destination-tag-bg {
  fill: rgba(7,22,50,.72) !important;
  stroke: rgba(255,255,255,.18) !important;
  stroke-width: 1 !important;
}

.dfl-label-primary .dfl-destination-tag-bg {
  stroke: rgba(255,72,78,.48) !important;
}

.dfl-destination-city {
  fill: rgba(255,255,255,.96) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  stroke: none !important;
}

.dfl-destination-country {
  display: none !important;
}

.sri-node-label {
  fill: #fff !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  paint-order: stroke !important;
  stroke: rgba(7,22,50,.92) !important;
  stroke-width: 5px !important;
  text-transform: uppercase !important;
}

.dfl-services-section {
  margin-top: -1px !important;
  padding-top: 74px !important;
}

@media (max-width: 1280px) {
  .dfl-navbar .dfl-nav-container {
    gap: 22px !important;
  }

  .dfl-navbar .nav-link {
    font-size: 14px !important;
    padding: 0 8px !important;
  }

  .dfl-route-layer {
    right: -3vw !important;
    width: min(58vw, 880px) !important;
  }
}

@media (max-width: 991px) {
  .container,
  .dfl-container,
  .dfl-navbar .dfl-nav-container {
    width: min(100% - 40px, 1440px) !important;
  }

  .dfl-route-layer {
    height: 460px !important;
    opacity: .58 !important;
    right: -38vw !important;
    top: 96px !important;
    width: 122vw !important;
  }

  .dfl-hero h1 {
    font-size: clamp(42px, 9vw, 62px) !important;
  }
}

@media (max-width: 767px) {
  .container,
  .dfl-container,
  .dfl-navbar .dfl-nav-container {
    width: min(100% - 28px, 1440px) !important;
  }

  .dfl-hero,
  .dfl-hero-content {
    min-height: 700px !important;
  }

  .dfl-route-layer {
    height: 390px !important;
    opacity: .42 !important;
    right: -72vw !important;
    top: 100px !important;
    width: 162vw !important;
  }
}

/* =========================================================================
   Homepage structure reset: routes belong in partner section, hero image leads
   ========================================================================= */
html.page-home,
html.page-home body {
  background: var(--dfl-navy) !important;
  width: 100% !important;
}

html.page-home #page,
html.page-home .site {
  background: var(--dfl-navy) !important;
  min-width: 100vw !important;
  width: 100vw !important;
}

html.page-home .container,
html.page-home .dfl-container,
html.page-home .dfl-navbar .dfl-nav-container {
  max-width: 1480px !important;
  width: min(100% - clamp(32px, 6vw, 104px), 1480px) !important;
}

.dfl-navbar.navbar.mega {
  min-height: 108px !important;
}

.dfl-navbar .dfl-nav-container {
  min-height: 108px !important;
}

.dfl-navbar .dfl-brand img {
  max-height: 82px !important;
}

.dfl-navbar .nav-link {
  font-size: 16px !important;
  line-height: 108px !important;
  padding: 0 13px !important;
}

.dfl-navbar .nav-link::after {
  bottom: 29px !important;
  left: 13px !important;
  right: 13px !important;
}

.dfl-navbar .dfl-nav-cta {
  border-radius: 16px !important;
  font-size: 16px !important;
  min-height: 62px !important;
  padding: 0 30px !important;
}

.dfl-hero {
  min-height: clamp(700px, 78vh, 860px) !important;
}

.dfl-hero-bg {
  background-image:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.88) 34%, rgba(7,22,50,.25) 66%, rgba(7,22,50,.12) 100%),
    linear-gradient(180deg, rgba(7,22,50,.02) 0%, rgba(7,22,50,.86) 100%),
    url("../dfl-homepage.png") !important;
  background-position: center right !important;
  background-size: cover !important;
}

.dfl-hero-overlay {
  background:
    radial-gradient(circle at 78% 36%, rgba(69,150,255,.16), transparent 30%),
    linear-gradient(180deg, rgba(7,22,50,0) 52%, rgba(7,22,50,.96) 100%) !important;
}

.dfl-hero-atmosphere {
  bottom: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 0 !important;
  width: min(1180px, 62vw) !important;
  z-index: 3 !important;
}

.dfl-hero-atmosphere::before {
  animation: dflNodeBreathe 10s ease-in-out infinite !important;
  background:
    radial-gradient(circle at 28% 34%, rgba(223,31,38,.22), transparent 8%),
    radial-gradient(circle at 64% 52%, rgba(125,197,255,.18), transparent 11%),
    linear-gradient(90deg, rgba(125,197,255,.16) 1px, transparent 1px),
    linear-gradient(180deg, rgba(125,197,255,.12) 1px, transparent 1px) !important;
  background-size: auto, auto, 54px 54px, 54px 54px !important;
  border-radius: 32px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .64 !important;
  position: absolute !important;
}

.dfl-signal-line {
  background: linear-gradient(90deg, transparent, rgba(125,197,255,.62), rgba(223,31,38,.42), transparent) !important;
  height: 2px !important;
  left: 4% !important;
  opacity: .76 !important;
  position: absolute !important;
  transform-origin: center !important;
  width: 94% !important;
}

.dfl-signal-line::after {
  animation: dflSignalTravel 11s ease-in-out infinite !important;
  background: #fff !important;
  border-radius: 999px !important;
  box-shadow: 0 0 18px rgba(125,197,255,1), 0 0 34px rgba(223,31,38,.42) !important;
  content: "" !important;
  height: 4px !important;
  left: 0 !important;
  position: absolute !important;
  top: -1.5px !important;
  width: 4px !important;
}

.dfl-signal-line-1 {
  top: 32% !important;
  transform: rotate(-9deg) !important;
}

.dfl-signal-line-2 {
  animation-delay: 3s !important;
  left: 12% !important;
  top: 58% !important;
  transform: rotate(8deg) !important;
  width: 84% !important;
}

.dfl-signal-line-2::after {
  animation-delay: 3s !important;
}

.dfl-signal-node {
  animation: dflNodeBreathe 9s ease-in-out infinite !important;
  background: rgba(125,197,255,.96) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 8px rgba(125,197,255,.08), 0 0 24px rgba(125,197,255,.46) !important;
  height: 9px !important;
  position: absolute !important;
  width: 9px !important;
}

.dfl-signal-node-1 {
  left: 18% !important;
  top: 30% !important;
}

.dfl-signal-node-2 {
  animation-delay: 1.8s !important;
  background: rgba(223,31,38,.92) !important;
  box-shadow: 0 0 0 9px rgba(223,31,38,.10), 0 0 28px rgba(223,31,38,.58) !important;
  left: 56% !important;
  top: 50% !important;
}

.dfl-signal-node-3 {
  animation-delay: 3.4s !important;
  left: 34% !important;
  top: 70% !important;
}

.dfl-hero > .dfl-route-layer {
  display: none !important;
}

.dfl-hero-content {
  min-height: clamp(700px, 78vh, 860px) !important;
  padding-bottom: 44px !important;
  padding-top: clamp(98px, 12vh, 150px) !important;
}

.dfl-hero-copy {
  max-width: 730px !important;
  position: relative !important;
}

.dfl-hero h1 {
  font-size: clamp(58px, 5vw, 88px) !important;
  letter-spacing: -0.055em !important;
  max-width: 820px !important;
}

.dfl-hero-text {
  font-size: clamp(18px, 1.25vw, 22px) !important;
  max-width: 660px !important;
}

.dfl-hero-actions .dfl-btn {
  min-height: 54px !important;
  padding-left: 26px !important;
  padding-right: 26px !important;
}

.dfl-trust-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-top: clamp(52px, 8vh, 94px) !important;
  max-width: none !important;
  width: 100% !important;
}

.dfl-trust-item {
  min-width: 0 !important;
  padding: clamp(18px, 2vw, 30px) clamp(18px, 2.2vw, 34px) !important;
}

.dfl-trust-item strong {
  font-size: clamp(22px, 2vw, 34px) !important;
}

.dfl-trust-item span {
  font-size: clamp(12px, .9vw, 15px) !important;
}

.dfl-services-section {
  background:
    linear-gradient(180deg, rgba(7,22,50,1) 0%, rgba(8,24,52,1) 100%) !important;
  padding-bottom: 96px !important;
  padding-top: 92px !important;
}

.dfl-service-card {
  background:
    linear-gradient(145deg, rgba(18,43,78,.96), rgba(9,28,58,.96)) !important;
  border-color: rgba(255,255,255,.12) !important;
}

.dfl-service-card:hover,
.dfl-service-card:focus {
  background:
    linear-gradient(145deg, rgba(223,31,38,.96), rgba(132,20,39,.92)) !important;
  border-color: rgba(255,255,255,.22) !important;
  box-shadow: 0 24px 70px rgba(223,31,38,.20) !important;
  transform: translateY(-8px) !important;
}

.dfl-service-card:hover > i,
.dfl-service-card:hover h3,
.dfl-service-card:hover p,
.dfl-service-card:focus > i,
.dfl-service-card:focus h3,
.dfl-service-card:focus p {
  color: #fff !important;
}

.dfl-service-card:hover span,
.dfl-service-card:focus span {
  background: #fff !important;
  color: var(--dfl-red) !important;
}

.dfl-why-section {
  background:
    radial-gradient(circle at 82% 48%, rgba(223,31,38,.16), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0a1d3a 100%) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding: 104px 0 !important;
}

.dfl-why-layout {
  align-items: center !important;
  display: grid !important;
  gap: clamp(36px, 5vw, 78px) !important;
  grid-template-columns: minmax(420px, .88fr) minmax(520px, 1.12fr) !important;
}

.dfl-why-copy {
  min-width: 0 !important;
}

.dfl-why-copy .dfl-section-heading {
  margin-bottom: 34px !important;
}

.dfl-why-copy .dfl-section-heading h2 {
  color: #fff !important;
  font-size: clamp(38px, 3.7vw, 64px) !important;
  line-height: 1.04 !important;
}

.dfl-why-copy .dfl-section-heading p:not(.dfl-kicker) {
  color: rgba(255,255,255,.72) !important;
  font-size: 17px !important;
}

.dfl-why-section .dfl-value-grid {
  grid-template-columns: 1fr 1fr !important;
}

.dfl-why-section .dfl-value-item {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  padding: 24px !important;
}

.dfl-network-panel {
  background:
    linear-gradient(145deg, rgba(11,32,67,.86), rgba(5,16,38,.92)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.26) !important;
  min-height: 560px !important;
  overflow: hidden !important;
  padding: clamp(24px, 3vw, 38px) !important;
  position: relative !important;
}

.dfl-network-panel::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 72px 72px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .7 !important;
  position: absolute !important;
}

.dfl-network-panel-heading {
  max-width: 520px !important;
  position: relative !important;
  z-index: 2 !important;
}

.dfl-network-panel-heading h3 {
  color: #fff !important;
  font-size: clamp(24px, 2vw, 34px) !important;
  font-weight: 900 !important;
  margin: 0 !important;
}

.dfl-network-panel .dfl-route-layer {
  display: block !important;
  height: clamp(360px, 30vw, 470px) !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: none !important;
  position: relative !important;
  right: auto !important;
  top: auto !important;
  width: 100% !important;
  z-index: 2 !important;
}

.dfl-network-panel .dfl-route-svg {
  height: 100% !important;
  width: 100% !important;
}

.dfl-network-panel .dfl-route-path {
  stroke-width: 3.2 !important;
}

.dfl-network-panel .dfl-map-dot {
  fill: rgba(112,195,255,.50) !important;
}

.dfl-network-panel .dfl-destination-tag-bg {
  fill: rgba(3,12,30,.82) !important;
}

.dfl-team-feature {
  background: #071632 !important;
  padding-top: 98px !important;
}

.dfl-final-cta {
  background: #071632 !important;
  padding: 38px 0 78px !important;
}

.dfl-final-panel {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

@media (max-width: 1320px) {
  .dfl-navbar .nav-link {
    font-size: 14px !important;
    padding: 0 8px !important;
  }

  .dfl-navbar .dfl-brand img {
    max-height: 72px !important;
  }

  .dfl-navbar .dfl-nav-cta {
    min-height: 56px !important;
    padding: 0 22px !important;
  }
}

@media (max-width: 1199px) {
  .dfl-why-layout {
    grid-template-columns: 1fr !important;
  }

  .dfl-network-panel {
    min-height: 500px !important;
  }
}

@media (max-width: 991px) {
  .dfl-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dfl-why-section .dfl-value-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  html.page-home .container,
  html.page-home .dfl-container,
  html.page-home .dfl-navbar .dfl-nav-container {
    width: min(100% - 28px, 1480px) !important;
  }

  .dfl-hero h1 {
    font-size: clamp(42px, 13vw, 58px) !important;
  }

  .dfl-trust-strip {
    grid-template-columns: 1fr !important;
  }

  .dfl-network-panel {
    min-height: 420px !important;
    padding: 22px !important;
  }

  .dfl-network-panel .dfl-route-layer {
    height: 320px !important;
  }
}

/* =========================================================================
   Route map module fix and fullscreen homepage width correction
   ========================================================================= */
html.page-home,
html.page-home body,
html.page-home #page,
html.page-home .site {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  width: 100% !important;
}

html.page-home .container,
html.page-home .dfl-container,
html.page-home .dfl-navbar .dfl-nav-container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: none !important;
  width: calc(100% - clamp(40px, 7vw, 160px)) !important;
}

.dfl-why-layout {
  grid-template-columns: minmax(420px, .82fr) minmax(620px, 1.18fr) !important;
}

.dfl-route-card {
  background:
    radial-gradient(circle at 70% 56%, rgba(223,31,38,.11), transparent 25%),
    radial-gradient(circle at 42% 50%, rgba(70,158,255,.16), transparent 36%),
    linear-gradient(145deg, rgba(12,35,72,.92), rgba(5,16,38,.97)) !important;
  border: 1px solid rgba(170,210,255,.18) !important;
  border-radius: 28px !important;
  box-shadow: 0 34px 95px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;
  min-height: 600px !important;
  overflow: hidden !important;
  padding: clamp(28px, 3vw, 40px) !important;
  position: relative !important;
}

.dfl-route-card::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.052) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 76px 76px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .42 !important;
  position: absolute !important;
}

.dfl-route-card::after {
  animation: dflMapScan 7s ease-in-out infinite !important;
  background:
    linear-gradient(105deg, transparent 0%, transparent 42%, rgba(112,195,255,.12) 49%, rgba(255,255,255,.18) 50%, rgba(223,31,38,.10) 52%, transparent 60%, transparent 100%),
    linear-gradient(180deg, rgba(7,22,50,0), rgba(7,22,50,.36)) !important;
  background-size: 240% 100%, 100% 100% !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

.dfl-map-stage::before {
  animation: dflMapPulse 5.5s ease-in-out infinite !important;
  background:
    radial-gradient(circle at 58% 53%, rgba(223,31,38,.20), transparent 11%),
    radial-gradient(circle at 58% 53%, rgba(112,195,255,.16), transparent 28%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 0 !important;
}

.dfl-map-stage::after {
  animation: dflMapOrbit 12s linear infinite !important;
  border: 1px solid rgba(112,195,255,.20) !important;
  border-radius: 50% !important;
  content: "" !important;
  height: min(34vw, 360px) !important;
  left: 50% !important;
  pointer-events: none !important;
  position: absolute !important;
  top: 50% !important;
  transform: translate(-50%, -50%) rotate(0deg) !important;
  width: min(46vw, 500px) !important;
  z-index: 0 !important;
}

.dfl-route-card .dfl-network-panel-heading {
  max-width: 620px !important;
  position: relative !important;
  z-index: 3 !important;
}

.dfl-route-card .dfl-network-panel-heading h3 {
  color: #fff !important;
  font-size: clamp(28px, 2.25vw, 42px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.03 !important;
  margin: 0 !important;
}

.dfl-map-stage {
  height: clamp(450px, 33vw, 530px) !important;
  margin-top: 18px !important;
  position: relative !important;
  width: 100% !important;
  z-index: 2 !important;
}

.dfl-route-map {
  display: block !important;
  height: 100% !important;
  overflow: visible !important;
  position: relative !important;
  transform: scale(1.035) !important;
  transform-origin: center center !important;
  width: 100% !important;
  z-index: 1 !important;
}

.dfl-graticule-line {
  stroke: rgba(132,190,255,.10) !important;
  stroke-width: .8 !important;
  vector-effect: non-scaling-stroke !important;
}

.dfl-landmass {
  fill: rgba(83,146,211,.26) !important;
  stroke: rgba(150,204,255,.28) !important;
  stroke-width: .78 !important;
  vector-effect: non-scaling-stroke !important;
}

.dfl-route-card .dfl-route-path {
  fill: none !important;
  stroke-linecap: round !important;
  stroke-width: 2 !important;
  vector-effect: non-scaling-stroke !important;
}

.dfl-route-card .dfl-route-primary {
  filter: url(#dfl-map-red-glow) !important;
  opacity: .88 !important;
  stroke: rgba(255,68,76,.95) !important;
}

.dfl-route-card .dfl-route-secondary {
  filter: url(#dfl-map-blue-glow) !important;
  opacity: .68 !important;
  stroke: rgba(99,190,255,.86) !important;
}

.dfl-route-card .dfl-route-particle {
  opacity: 1 !important;
}

.dfl-route-card .dfl-particle-primary {
  fill: #ff4b55 !important;
  filter: url(#dfl-map-red-glow) !important;
}

.dfl-route-card .dfl-particle-secondary {
  fill: #7dccff !important;
  filter: url(#dfl-map-blue-glow) !important;
}

.dfl-route-card .dfl-destination-node {
  stroke: rgba(255,255,255,.64) !important;
  stroke-width: 1 !important;
  vector-effect: non-scaling-stroke !important;
}

.dfl-route-card .dfl-node-primary {
  fill: #ff4b55 !important;
  filter: url(#dfl-map-red-glow) !important;
}

.dfl-route-card .dfl-node-secondary {
  fill: #7dccff !important;
  filter: url(#dfl-map-blue-glow) !important;
}

.dfl-route-card .sri-node-glow {
  fill: rgba(223,31,38,.22) !important;
  filter: url(#dfl-map-red-glow) !important;
}

.dfl-route-card .sri-node-ring {
  animation: dflSriPulse 1.9s ease-in-out infinite !important;
  fill: none !important;
  stroke: rgba(255,82,90,.82) !important;
  stroke-width: 1.8 !important;
  vector-effect: non-scaling-stroke !important;
}

.dfl-route-card .sri-node-core {
  fill: #ff2633 !important;
  filter: drop-shadow(0 0 10px rgba(255,38,51,.85)) !important;
}

.dfl-route-card .dfl-destination-tag-bg {
  fill: rgba(3,12,30,.76) !important;
  stroke: rgba(255,255,255,.14) !important;
  stroke-width: 1 !important;
}

.dfl-route-card .dfl-label-primary .dfl-destination-tag-bg {
  stroke: rgba(255,72,78,.55) !important;
}

.dfl-route-card .dfl-destination-city {
  fill: rgba(255,255,255,.96) !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  stroke: none !important;
}

.dfl-route-card .sri-node-label {
  fill: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
  paint-order: stroke !important;
  stroke: rgba(3,12,30,.94) !important;
  stroke-width: 4px !important;
}

@media (max-width: 1199px) {
  .dfl-why-layout {
    grid-template-columns: 1fr !important;
  }

  .dfl-route-card {
    min-height: 540px !important;
  }
}

@media (max-width: 767px) {
  html.page-home .container,
  html.page-home .dfl-container,
  html.page-home .dfl-navbar .dfl-nav-container {
    width: calc(100% - 28px) !important;
  }

  .dfl-route-card {
    min-height: 430px !important;
    padding: 22px !important;
  }

  .dfl-map-stage {
    height: 300px !important;
    margin-top: 16px !important;
  }
}

@keyframes dflMapScan {
  0%, 18% {
    background-position: -140% 0, 0 0;
    opacity: .18;
  }
  48% {
    opacity: .75;
  }
  82%, 100% {
    background-position: 140% 0, 0 0;
    opacity: .16;
  }
}

@keyframes dflMapPulse {
  0%, 100% {
    opacity: .48;
    transform: scale(.96);
  }
  50% {
    opacity: .9;
    transform: scale(1.04);
  }
}

@keyframes dflMapOrbit {
  0% {
    opacity: .18;
    transform: translate(-50%, -50%) rotate(0deg) scale(.96);
  }
  50% {
    opacity: .36;
  }
  100% {
    opacity: .18;
    transform: translate(-50%, -50%) rotate(360deg) scale(.96);
  }
}

@keyframes dflSignalTravel {
  0%, 18% {
    opacity: 0;
    transform: translateX(0);
  }
  34% {
    opacity: 1;
  }
  82%, 100% {
    opacity: 0;
    transform: translateX(min(42vw, 720px));
  }
}

@keyframes dflNodeBreathe {
  0%, 100% {
    opacity: .38;
    transform: scale(.82);
  }
  50% {
    opacity: .95;
    transform: scale(1.14);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dfl-route-card::after,
  .dfl-map-stage::before,
  .dfl-map-stage::after,
  .dfl-signal-line::after,
  .dfl-signal-node {
    animation: none !important;
  }
}

/* =========================================================================
   Homepage concept update: map-led hero and premium why section
   ========================================================================= */
.dfl-hero {
  background:
    radial-gradient(circle at 74% 28%, rgba(71,151,255,.18), transparent 30%),
    radial-gradient(circle at 42% 62%, rgba(223,31,38,.10), transparent 34%),
    linear-gradient(180deg, #071632 0%, #071632 58%, #081832 100%) !important;
  min-height: clamp(780px, 88vh, 980px) !important;
}

.dfl-hero-bg {
  background:
    linear-gradient(90deg, rgba(122,190,255,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(122,190,255,.04) 1px, transparent 1px) !important;
  background-size: 72px 72px !important;
  opacity: .42 !important;
}

.dfl-hero-overlay {
  background:
    radial-gradient(circle at 70% 46%, rgba(70,158,255,.10), transparent 30%),
    linear-gradient(180deg, rgba(7,22,50,0) 0%, rgba(7,22,50,.92) 100%) !important;
}

.dfl-hero-content {
  min-height: clamp(780px, 88vh, 980px) !important;
  padding-top: clamp(84px, 10vh, 132px) !important;
}

.dfl-hero-main {
  align-items: center !important;
  display: grid !important;
  gap: clamp(42px, 5vw, 82px) !important;
  grid-template-columns: minmax(440px, .86fr) minmax(620px, 1.14fr) !important;
}

.dfl-hero-copy {
  max-width: 760px !important;
}

.dfl-hero h1 {
  font-size: clamp(62px, 5.6vw, 96px) !important;
  max-width: 760px !important;
}

.dfl-hero-route-card {
  min-height: clamp(560px, 48vw, 700px) !important;
  padding: clamp(26px, 2.6vw, 38px) !important;
}

.dfl-hero-route-card .dfl-map-stage {
  height: clamp(410px, 36vw, 560px) !important;
}

.dfl-hero-route-card .dfl-network-panel-heading h3 {
  max-width: 560px !important;
}

.dfl-trust-strip {
  margin-top: clamp(42px, 6vh, 70px) !important;
}

.dfl-why-section {
  background:
    radial-gradient(circle at 18% 38%, rgba(223,31,38,.12), transparent 28%),
    linear-gradient(180deg, #081832 0%, #071632 100%) !important;
}

.dfl-why-layout {
  grid-template-columns: minmax(520px, 1fr) minmax(560px, .95fr) !important;
}

.dfl-why-copy .dfl-section-heading {
  max-width: 760px !important;
}

.dfl-why-section .dfl-value-grid {
  gap: 18px !important;
}

.dfl-why-section .dfl-value-item {
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border-color: rgba(170,210,255,.16) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.12) !important;
  min-height: 190px !important;
  position: relative !important;
}

.dfl-why-section .dfl-value-item::after {
  background: linear-gradient(90deg, var(--dfl-red), rgba(112,195,255,.65)) !important;
  border-radius: 999px !important;
  bottom: 0 !important;
  content: "" !important;
  height: 3px !important;
  left: 24px !important;
  opacity: .65 !important;
  position: absolute !important;
  right: 24px !important;
}

.dfl-why-visual {
  border: 1px solid rgba(170,210,255,.18) !important;
  border-radius: 28px !important;
  box-shadow: 0 34px 95px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08) !important;
  min-height: 610px !important;
  overflow: hidden !important;
  position: relative !important;
}

.dfl-why-visual img {
  display: block !important;
  height: 100% !important;
  inset: 0 !important;
  object-fit: cover !important;
  position: absolute !important;
  width: 100% !important;
}

.dfl-why-visual::before {
  background:
    linear-gradient(90deg, rgba(7,22,50,.42), rgba(7,22,50,.08)),
    linear-gradient(180deg, rgba(7,22,50,.04), rgba(7,22,50,.70)) !important;
  content: "" !important;
  inset: 0 !important;
  position: absolute !important;
  z-index: 1 !important;
}

.dfl-why-visual::after {
  animation: dflMapScan 8s ease-in-out infinite !important;
  background:
    linear-gradient(100deg, transparent 0%, transparent 40%, rgba(255,255,255,.18) 49%, rgba(112,195,255,.20) 51%, transparent 62%, transparent 100%),
    linear-gradient(90deg, rgba(112,195,255,.10) 1px, transparent 1px),
    linear-gradient(180deg, rgba(112,195,255,.075) 1px, transparent 1px) !important;
  background-size: 240% 100%, 68px 68px, 68px 68px !important;
  content: "" !important;
  inset: 0 !important;
  position: absolute !important;
  z-index: 2 !important;
}

.dfl-visual-hud {
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 3 !important;
}

.dfl-visual-hud span {
  animation: dflNodeBreathe 7s ease-in-out infinite !important;
  background: rgba(112,195,255,.90) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 0 10px rgba(112,195,255,.09), 0 0 26px rgba(112,195,255,.54) !important;
  height: 8px !important;
  position: absolute !important;
  width: 8px !important;
}

.dfl-visual-hud span:nth-child(1) {
  left: 24% !important;
  top: 30% !important;
}

.dfl-visual-hud span:nth-child(2) {
  animation-delay: 1.6s !important;
  background: rgba(223,31,38,.94) !important;
  box-shadow: 0 0 0 11px rgba(223,31,38,.10), 0 0 30px rgba(223,31,38,.62) !important;
  left: 62% !important;
  top: 48% !important;
}

.dfl-visual-hud span:nth-child(3) {
  animation-delay: 3s !important;
  left: 78% !important;
  top: 64% !important;
}

@media (max-width: 1199px) {
  .dfl-hero-main,
  .dfl-why-layout {
    grid-template-columns: 1fr !important;
  }

  .dfl-hero-route-card,
  .dfl-why-visual {
    min-height: 520px !important;
  }
}

@media (max-width: 767px) {
  .dfl-hero {
    min-height: auto !important;
  }

  .dfl-hero-main {
    gap: 32px !important;
  }

  .dfl-hero-route-card,
  .dfl-why-visual {
    min-height: 420px !important;
  }
}

/* =========================================================================
   Homepage refinement: no-line network, stronger why section, contact focus
   ========================================================================= */
html.page-home .dfl-navbar.navbar.mega {
  min-height: 104px !important;
}

html.page-home .dfl-navbar .dfl-brand img {
  max-height: 78px !important;
}

html.page-home .dfl-navbar .nav-link {
  font-size: 16px !important;
  padding: 41px 10px 37px !important;
}

html.page-home .dfl-navbar .dfl-nav-cta {
  min-height: 58px !important;
  padding: 0 30px !important;
}

.dfl-hero {
  background:
    radial-gradient(circle at 76% 48%, rgba(73,158,255,.16), transparent 34%),
    radial-gradient(circle at 28% 38%, rgba(223,31,38,.10), transparent 32%),
    linear-gradient(180deg, #071632 0%, #06142e 58%, #081832 100%) !important;
}

.dfl-hero-bg {
  background:
    radial-gradient(circle at 22% 44%, rgba(103,178,255,.10), transparent 22%),
    radial-gradient(circle at 38% 64%, rgba(223,31,38,.08), transparent 28%),
    radial-gradient(circle at 18% 24%, rgba(255,255,255,.05) 0 1px, transparent 1.5px),
    radial-gradient(circle at 32% 58%, rgba(111,195,255,.08) 0 1px, transparent 1.5px) !important;
  background-size: auto, auto, 34px 34px, 46px 46px !important;
  opacity: .9 !important;
}

.dfl-hero-copy {
  isolation: isolate !important;
  padding: clamp(18px, 2vw, 30px) 0 !important;
  position: relative !important;
}

.dfl-hero-copy::before {
  animation: dflDataMistDrift 24s ease-in-out infinite alternate !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(122,205,255,.24) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 18%, rgba(255,255,255,.12) 0 1px, transparent 2px),
    radial-gradient(circle at 52% 72%, rgba(223,31,38,.18) 0 2px, transparent 3px),
    radial-gradient(circle at 86% 58%, rgba(122,205,255,.16) 0 1px, transparent 2px),
    radial-gradient(circle at 28% 84%, rgba(255,255,255,.10) 0 1px, transparent 2px) !important;
  background-size: 160px 160px, 190px 190px, 230px 230px, 270px 270px, 210px 210px !important;
  border-radius: 42px !important;
  content: "" !important;
  inset: -80px -36px -76px -52px !important;
  opacity: .72 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: -1 !important;
}

.dfl-hero-copy::after {
  animation: dflHeroAurora 18s ease-in-out infinite !important;
  background:
    radial-gradient(ellipse at 24% 42%, rgba(98,184,255,.18), transparent 46%),
    radial-gradient(ellipse at 60% 74%, rgba(223,31,38,.10), transparent 48%) !important;
  content: "" !important;
  filter: blur(10px) !important;
  inset: -110px -70px -96px -80px !important;
  opacity: .86 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: -2 !important;
}

.dfl-hero-main {
  grid-template-columns: minmax(520px, .92fr) minmax(680px, 1.08fr) !important;
}

.dfl-hero-route-card {
  min-height: clamp(620px, 50vw, 760px) !important;
}

.dfl-hero-route-card .dfl-map-stage {
  height: clamp(470px, 37vw, 620px) !important;
}

.dfl-route-card::after,
.dfl-map-stage::after {
  display: none !important;
}

.dfl-route-card::before {
  background:
    radial-gradient(circle, rgba(132,205,255,.14) 0 1px, transparent 1.7px),
    radial-gradient(circle, rgba(255,255,255,.07) 0 1px, transparent 1.6px) !important;
  background-position: 0 0, 22px 18px !important;
  background-size: 44px 44px, 64px 64px !important;
  opacity: .36 !important;
}

.dfl-map-stage::before {
  background:
    radial-gradient(circle at 58% 53%, rgba(223,31,38,.16), transparent 10%),
    radial-gradient(circle at 58% 53%, rgba(112,195,255,.10), transparent 32%) !important;
}

.dfl-graticule-line {
  opacity: .18 !important;
  stroke: rgba(132,190,255,.07) !important;
}

.dfl-landmass {
  fill: rgba(76,142,207,.30) !important;
  stroke: rgba(167,217,255,.32) !important;
}

.dfl-route-card .dfl-route-path {
  opacity: 0 !important;
  stroke: transparent !important;
}

.dfl-route-trail-dot {
  animation: dflTrailBreathe 4.8s ease-in-out infinite !important;
  opacity: .48 !important;
}

.dfl-trail-primary {
  fill: rgba(255,73,82,.82) !important;
  filter: url(#dfl-map-red-glow) !important;
}

.dfl-trail-secondary {
  fill: rgba(126,205,255,.68) !important;
  filter: url(#dfl-map-blue-glow) !important;
}

.dfl-trail-delay-1 { animation-delay: .45s !important; }
.dfl-trail-delay-2 { animation-delay: .9s !important; }
.dfl-trail-delay-3 { animation-delay: 1.35s !important; }
.dfl-trail-delay-4 { animation-delay: 1.8s !important; }

.dfl-route-card .dfl-route-particle {
  opacity: .95 !important;
}

.dfl-route-card .dfl-destination-halo {
  animation: dflBeaconPulse 3.8s ease-in-out infinite !important;
  fill: none !important;
  stroke-width: 1.4 !important;
  vector-effect: non-scaling-stroke !important;
}

.dfl-route-card .dfl-halo-primary {
  stroke: rgba(255,76,84,.55) !important;
}

.dfl-route-card .dfl-halo-secondary {
  animation-delay: 1.1s !important;
  stroke: rgba(126,205,255,.38) !important;
}

.dfl-route-card .sri-node-glow {
  fill: rgba(223,31,38,.16) !important;
}

.dfl-route-card .sri-node-pulse {
  animation: dflHubPulse 4.4s ease-in-out infinite !important;
  fill: none !important;
  stroke: rgba(255,72,80,.34) !important;
  stroke-width: 1.3 !important;
  vector-effect: non-scaling-stroke !important;
}

.dfl-route-card .sri-node-pulse-two {
  animation-delay: 1.5s !important;
  stroke: rgba(126,205,255,.22) !important;
}

.dfl-route-card .sri-node-core {
  r: 4.5 !important;
}

.dfl-route-card .dfl-destination-tag-bg {
  fill: rgba(4,15,36,.84) !important;
}

.dfl-trust-strip {
  box-shadow: 0 26px 80px rgba(0,0,0,.22) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.dfl-trust-item {
  min-width: 0 !important;
  padding: clamp(20px, 1.8vw, 30px) clamp(18px, 2.2vw, 34px) !important;
}

.dfl-services-section {
  padding-top: clamp(86px, 9vw, 132px) !important;
}

.dfl-service-card {
  transition: background .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease !important;
}

.dfl-service-card:hover,
.dfl-service-card:focus {
  background:
    radial-gradient(circle at 84% 18%, rgba(223,31,38,.22), transparent 28%),
    linear-gradient(145deg, rgba(16,51,93,.98), rgba(9,38,78,.95)) !important;
  border-color: rgba(255,72,80,.48) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.25), 0 0 0 1px rgba(255,72,80,.10) !important;
  transform: translateY(-7px) !important;
}

.dfl-why-section {
  padding: clamp(100px, 10vw, 160px) 0 !important;
}

.dfl-why-layout {
  align-items: center !important;
  gap: clamp(46px, 6vw, 96px) !important;
  grid-template-columns: minmax(560px, .95fr) minmax(620px, 1.05fr) !important;
}

.dfl-why-section .dfl-value-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dfl-why-section .dfl-value-item {
  backdrop-filter: blur(14px) !important;
  border-radius: 22px !important;
  min-height: 210px !important;
  padding: 30px !important;
  transition: border-color .25s ease, transform .25s ease, background .25s ease !important;
}

.dfl-why-section .dfl-value-item:hover {
  background:
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.045)) !important;
  border-color: rgba(255,72,80,.36) !important;
  transform: translateY(-5px) !important;
}

.dfl-why-proof-row {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: 22px !important;
}

.dfl-why-proof-row div {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(170,210,255,.14) !important;
  border-radius: 18px !important;
  padding: 18px 20px !important;
}

.dfl-why-proof-row strong,
.dfl-why-proof-row span {
  display: block !important;
}

.dfl-why-proof-row strong {
  color: #fff !important;
  font-size: 18px !important;
}

.dfl-why-proof-row span {
  color: var(--dfl-muted) !important;
  font-size: 13px !important;
  margin-top: 4px !important;
}

.dfl-why-contact-card {
  align-items: center !important;
  background:
    radial-gradient(circle at 92% 20%, rgba(223,31,38,.24), transparent 34%),
    linear-gradient(135deg, rgba(14,46,87,.92), rgba(7,22,50,.92)) !important;
  border: 1px solid rgba(255,72,80,.25) !important;
  border-radius: 24px !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.20) !important;
  display: flex !important;
  gap: 22px !important;
  justify-content: space-between !important;
  margin-top: 18px !important;
  padding: 24px !important;
}

.dfl-why-contact-card .dfl-kicker {
  margin-bottom: 8px !important;
}

.dfl-why-contact-card h3 {
  color: #fff !important;
  font-size: clamp(22px, 1.7vw, 30px) !important;
  letter-spacing: -.035em !important;
  margin: 0 !important;
}

.dfl-why-visual {
  min-height: clamp(620px, 48vw, 780px) !important;
}

.dfl-why-visual::after {
  animation: dflMapScan 13s ease-in-out infinite !important;
  background:
    linear-gradient(112deg, transparent 0%, transparent 45%, rgba(255,255,255,.16) 50%, rgba(112,195,255,.16) 52%, transparent 60%, transparent 100%),
    radial-gradient(circle at 68% 42%, rgba(223,31,38,.18), transparent 20%),
    radial-gradient(circle at 34% 28%, rgba(112,195,255,.18), transparent 22%) !important;
  background-size: 260% 100%, auto, auto !important;
}

.dfl-visual-caption {
  background: rgba(3,12,30,.72) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 18px !important;
  bottom: 28px !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.24) !important;
  left: 28px !important;
  padding: 18px 20px !important;
  position: absolute !important;
  right: 28px !important;
  z-index: 4 !important;
}

.dfl-visual-caption span {
  color: var(--dfl-red) !important;
  display: block !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .16em !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
}

.dfl-visual-caption strong {
  color: #fff !important;
  display: block !important;
  font-size: clamp(20px, 1.6vw, 28px) !important;
  letter-spacing: -.035em !important;
  line-height: 1.12 !important;
}

.dfl-final-cta {
  padding: clamp(56px, 6vw, 96px) 0 !important;
}

.dfl-final-panel {
  background:
    linear-gradient(90deg, rgba(7,22,50,.94), rgba(8,30,63,.86)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 30px !important;
  box-shadow: 0 34px 90px rgba(0,0,0,.28) !important;
  padding: clamp(34px, 4vw, 58px) !important;
}

.dfl-final-panel h2 {
  font-size: clamp(38px, 4vw, 62px) !important;
  max-width: 760px !important;
}

.dfl-final-panel p:not(.dfl-kicker) {
  font-size: 18px !important;
  max-width: 660px !important;
}

.dfl-final-actions .dfl-btn {
  min-height: 58px !important;
  padding-inline: 26px !important;
}

@keyframes dflDataMistDrift {
  0% {
    background-position: 0 0, 20px 30px, 80px 10px, 10px 70px, 40px 20px;
    opacity: .52;
  }
  100% {
    background-position: 34px 18px, -22px 42px, 46px -20px, -28px 96px, 70px 48px;
    opacity: .82;
  }
}

@keyframes dflHeroAurora {
  0%, 100% {
    transform: translate3d(-2%, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(3%, 2%, 0) scale(1.05);
  }
}

@keyframes dflTrailBreathe {
  0%, 100% {
    opacity: .22;
    transform: scale(.88);
  }
  45% {
    opacity: .78;
    transform: scale(1.18);
  }
}

@keyframes dflBeaconPulse {
  0%, 100% {
    opacity: .18;
    transform: scale(.82);
  }
  50% {
    opacity: .78;
    transform: scale(1.25);
  }
}

@keyframes dflHubPulse {
  0%, 100% {
    opacity: .10;
    transform: scale(.78);
  }
  48% {
    opacity: .74;
    transform: scale(1.22);
  }
}

@media (max-width: 1199px) {
  .dfl-hero-main,
  .dfl-why-layout {
    grid-template-columns: 1fr !important;
  }

  .dfl-hero-copy {
    max-width: 900px !important;
  }

  .dfl-why-contact-card {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 767px) {
  html.page-home .dfl-navbar.navbar.mega {
    min-height: 76px !important;
  }

  .dfl-hero-copy::before {
    inset: -48px -24px -52px -24px !important;
  }

  .dfl-hero h1 {
    font-size: clamp(42px, 13vw, 58px) !important;
  }

  .dfl-trust-strip,
  .dfl-why-section .dfl-value-grid,
  .dfl-why-proof-row {
    grid-template-columns: 1fr !important;
  }

  .dfl-final-actions .dfl-btn,
  .dfl-why-contact-card .dfl-btn {
    width: 100% !important;
  }
}

/* =========================================================================
   Client polish pass: integrated hero map and image-led why section
   ========================================================================= */
.dfl-hero {
  min-height: clamp(820px, 92vh, 1040px) !important;
  overflow: hidden !important;
}

.dfl-hero-bg {
  background:
    radial-gradient(circle at 76% 42%, rgba(74,156,255,.18), transparent 34%),
    radial-gradient(circle at 58% 58%, rgba(223,31,38,.10), transparent 30%),
    radial-gradient(circle at 18% 28%, rgba(120,205,255,.10) 0 1px, transparent 1.6px),
    radial-gradient(circle at 29% 66%, rgba(255,255,255,.07) 0 1px, transparent 1.5px) !important;
  background-size: auto, auto, 38px 38px, 58px 58px !important;
  opacity: .72 !important;
}

.dfl-hero-main {
  align-items: center !important;
  grid-template-columns: minmax(520px, .9fr) minmax(680px, 1.1fr) !important;
  min-height: clamp(610px, 68vh, 780px) !important;
  position: relative !important;
}

.dfl-hero-copy {
  z-index: 5 !important;
}

.dfl-hero h1 {
  font-size: clamp(66px, 6.1vw, 108px) !important;
  letter-spacing: -.065em !important;
}

.dfl-hero-route-card {
  align-self: stretch !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-left: clamp(-20px, -1vw, 0px) !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  position: relative !important;
}

.dfl-hero-route-card::before,
.dfl-hero-route-card::after {
  display: none !important;
}

.dfl-hero-route-card .dfl-network-panel-heading {
  left: clamp(18px, 2vw, 38px) !important;
  max-width: 420px !important;
  opacity: .78 !important;
  position: absolute !important;
  top: clamp(18px, 3vw, 46px) !important;
  z-index: 4 !important;
}

.dfl-hero-route-card .dfl-network-panel-heading h3 {
  font-size: clamp(18px, 1.45vw, 26px) !important;
  letter-spacing: -.035em !important;
  max-width: 420px !important;
}

.dfl-hero-route-card .dfl-map-stage {
  height: 100% !important;
  margin: 0 !important;
  min-height: clamp(560px, 62vh, 760px) !important;
  overflow: visible !important;
  position: absolute !important;
  right: clamp(-170px, -8vw, -74px) !important;
  top: 50% !important;
  transform: translateY(-48%) !important;
  width: min(70vw, 1180px) !important;
}

.dfl-hero-route-card .dfl-map-stage::before,
.dfl-hero-route-card .dfl-map-stage::after {
  display: none !important;
}

.dfl-hero-route-card .dfl-route-map {
  filter: drop-shadow(0 0 42px rgba(84,171,255,.20)) !important;
  opacity: .96 !important;
  transform: translate(9%, 2%) scale(1.92) !important;
  transform-origin: 61% 53% !important;
}

.dfl-hero-route-card .dfl-graticule-line {
  opacity: .07 !important;
}

.dfl-hero-route-card .dfl-landmass {
  fill: rgba(72,145,216,.22) !important;
  stroke: rgba(161,216,255,.20) !important;
}

.dfl-route-card .dfl-route-path {
  opacity: .28 !important;
  stroke-linecap: round !important;
  stroke-width: 1.15 !important;
}

.dfl-route-card .dfl-route-primary {
  stroke: rgba(255,76,84,.72) !important;
}

.dfl-route-card .dfl-route-secondary {
  stroke: rgba(110,195,255,.50) !important;
}

.dfl-route-trail-dot {
  display: none !important;
}

.dfl-route-card .dfl-route-particle {
  opacity: .9 !important;
  transition: opacity .2s ease !important;
}

.dfl-route-card .dfl-destination-halo {
  animation-duration: 5.8s !important;
}

.dfl-route-card .dfl-destination-node {
  r: 3.2 !important;
}

.dfl-route-card .sri-node-glow {
  fill: rgba(223,31,38,.14) !important;
}

.dfl-route-card .sri-node-ring,
.dfl-route-card .sri-node-pulse {
  animation-duration: 5.8s !important;
}

.dfl-route-card .sri-node-label {
  font-size: 10px !important;
  letter-spacing: .10em !important;
}

.dfl-route-card .dfl-destination-city {
  font-size: 8.4px !important;
}

.dfl-route-card .dfl-destination-tag-bg {
  opacity: .82 !important;
}

.dfl-trust-strip {
  margin-top: clamp(18px, 3vh, 38px) !important;
  position: relative !important;
  z-index: 6 !important;
}

.dfl-why-section {
  isolation: isolate !important;
  min-height: clamp(720px, 78vh, 900px) !important;
  overflow: hidden !important;
  padding: clamp(90px, 9vw, 140px) 0 !important;
  position: relative !important;
}

.dfl-why-section::before {
  background:
    linear-gradient(90deg, #071632 0%, rgba(7,22,50,.98) 40%, rgba(7,22,50,.76) 62%, rgba(7,22,50,.18) 100%),
    radial-gradient(circle at 24% 42%, rgba(223,31,38,.11), transparent 30%),
    radial-gradient(circle at 72% 36%, rgba(103,185,255,.16), transparent 34%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: -1 !important;
}

.dfl-why-layout {
  display: block !important;
  position: static !important;
}

.dfl-why-copy {
  max-width: min(58vw, 860px) !important;
  position: relative !important;
  z-index: 4 !important;
}

.dfl-why-copy .dfl-section-heading h2 {
  font-size: clamp(46px, 4.3vw, 76px) !important;
  max-width: 780px !important;
}

.dfl-why-copy .dfl-section-heading p:not(.dfl-kicker) {
  font-size: 18px !important;
  max-width: 760px !important;
}

.dfl-why-visual {
  border: 0 !important;
  border-radius: 0 !important;
  bottom: 0 !important;
  box-shadow: none !important;
  left: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: min(57vw, 1040px) !important;
  z-index: 1 !important;
}

.dfl-why-visual img {
  filter: saturate(1.05) contrast(1.04) !important;
  object-position: center right !important;
  opacity: .96 !important;
  transform: scale(1.02) !important;
}

.dfl-why-visual::before {
  background:
    linear-gradient(90deg, rgba(7,22,50,.92) 0%, rgba(7,22,50,.48) 34%, rgba(7,22,50,.08) 72%),
    linear-gradient(180deg, rgba(7,22,50,.28), rgba(7,22,50,.72)) !important;
  z-index: 2 !important;
}

.dfl-why-visual::after {
  animation: dflMapScan 14s ease-in-out infinite !important;
  background:
    linear-gradient(108deg, transparent 0%, transparent 46%, rgba(255,255,255,.18) 50%, rgba(112,195,255,.16) 52%, transparent 60%, transparent 100%),
    radial-gradient(circle at 72% 38%, rgba(223,31,38,.18), transparent 20%),
    radial-gradient(circle at 32% 36%, rgba(112,195,255,.14), transparent 25%) !important;
  z-index: 3 !important;
}

.dfl-visual-caption {
  background: rgba(3,12,30,.66) !important;
  bottom: clamp(34px, 4vw, 70px) !important;
  left: clamp(40px, 6vw, 110px) !important;
  right: clamp(30px, 4vw, 70px) !important;
  z-index: 5 !important;
}

.dfl-visual-hud {
  z-index: 4 !important;
}

.dfl-why-section .dfl-value-grid {
  max-width: 800px !important;
}

.dfl-why-section .dfl-value-item {
  background: rgba(15,38,72,.62) !important;
  min-height: 176px !important;
}

.dfl-why-proof-row,
.dfl-why-contact-card {
  max-width: 800px !important;
}

@media (max-width: 1199px) {
  .dfl-hero-route-card .dfl-map-stage {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
  }

  .dfl-hero-route-card .dfl-route-map {
    transform: translate(4%, 0) scale(1.55) !important;
  }

  .dfl-why-copy {
    max-width: 100% !important;
  }

  .dfl-why-visual {
    margin-top: 42px !important;
    min-height: 520px !important;
    position: relative !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .dfl-hero-route-card .dfl-network-panel-heading {
    display: none !important;
  }

  .dfl-hero-route-card .dfl-map-stage {
    min-height: 390px !important;
  }

  .dfl-hero-route-card .dfl-route-map {
    transform: translate(0, 2%) scale(1.45) !important;
  }

  .dfl-why-copy .dfl-section-heading h2 {
    font-size: clamp(36px, 11vw, 52px) !important;
  }

  .dfl-why-visual {
    min-height: 420px !important;
  }
}

/* =========================================================================
   Homepage final polish: prominent Sri Lanka hub and blended operations image
   ========================================================================= */
.dfl-hero {
  min-height: clamp(790px, 88vh, 980px) !important;
}

.dfl-hero-main {
  grid-template-columns: minmax(520px, .82fr) minmax(720px, 1.18fr) !important;
}

.dfl-hero h1 {
  max-width: 690px !important;
}

.dfl-hero-text {
  max-width: 610px !important;
}

.dfl-hero-route-card .dfl-network-panel-heading {
  display: none !important;
}

.dfl-hero-route-card .dfl-map-stage {
  right: clamp(-100px, -4vw, -42px) !important;
  transform: translateY(-48%) !important;
  width: min(76vw, 1260px) !important;
}

.dfl-hero-route-card .dfl-route-map {
  opacity: .98 !important;
  transform: translate(-13%, 1%) scale(1.78) !important;
  transform-origin: 67% 53% !important;
}

.dfl-hero-route-card .dfl-landmass {
  fill: rgba(77,151,222,.25) !important;
  stroke: rgba(175,224,255,.24) !important;
}

.dfl-hero-route-card .dfl-graticule-line {
  opacity: .045 !important;
}

.dfl-route-card .dfl-route-path {
  opacity: .20 !important;
  stroke-width: .9 !important;
}

.dfl-route-card .dfl-route-primary {
  stroke: rgba(255,76,84,.62) !important;
}

.dfl-route-card .dfl-route-secondary {
  stroke: rgba(116,201,255,.38) !important;
}

.dfl-route-card .dfl-route-particle {
  opacity: .94 !important;
}

.dfl-route-card .dfl-particle-primary {
  fill: #ff3441 !important;
  r: 3.4 !important;
}

.dfl-route-card .dfl-particle-secondary {
  fill: #8dd8ff !important;
  r: 2.7 !important;
}

.dfl-route-card .sri-node-glow {
  fill: rgba(223,31,38,.26) !important;
  r: 30 !important;
}

.dfl-route-card .sri-node-pulse-one {
  r: 36 !important;
  stroke: rgba(255,72,80,.52) !important;
}

.dfl-route-card .sri-node-pulse-two {
  r: 54 !important;
  stroke: rgba(255,72,80,.24) !important;
}

.dfl-route-card .sri-node-ring {
  r: 12 !important;
  stroke: rgba(255,92,100,.95) !important;
  stroke-width: 2.2 !important;
}

.dfl-route-card .sri-node-core {
  fill: #ff2633 !important;
  filter: drop-shadow(0 0 14px rgba(255,38,51,.95)) !important;
  r: 6 !important;
}

.dfl-route-card .sri-node-label {
  fill: #fff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  stroke: rgba(2,10,26,.96) !important;
  stroke-width: 5px !important;
}

.dfl-route-card .dfl-destination-tag-bg {
  opacity: .64 !important;
}

.dfl-route-card .dfl-label-secondary .dfl-destination-tag-bg {
  opacity: .46 !important;
}

.dfl-route-card .dfl-destination-city {
  font-size: 8px !important;
  opacity: .86 !important;
}

.dfl-route-card .dfl-destination-node {
  opacity: .78 !important;
}

.dfl-trust-strip {
  backdrop-filter: blur(18px) !important;
  background: rgba(7,22,50,.72) !important;
}

.dfl-why-section {
  min-height: clamp(760px, 82vh, 940px) !important;
}

.dfl-why-section::before {
  background:
    linear-gradient(90deg, #071632 0%, rgba(7,22,50,.99) 34%, rgba(7,22,50,.92) 49%, rgba(7,22,50,.48) 66%, rgba(7,22,50,.18) 100%),
    radial-gradient(circle at 20% 40%, rgba(223,31,38,.12), transparent 30%),
    radial-gradient(circle at 76% 40%, rgba(103,185,255,.16), transparent 34%) !important;
}

.dfl-why-copy {
  max-width: min(60vw, 920px) !important;
}

.dfl-why-copy .dfl-section-heading h2 {
  font-size: clamp(58px, 5.3vw, 92px) !important;
  letter-spacing: -.065em !important;
  line-height: .98 !important;
  max-width: 900px !important;
}

.dfl-why-copy .dfl-section-heading p:not(.dfl-kicker) {
  font-size: 19px !important;
  line-height: 1.75 !important;
  max-width: 800px !important;
}

.dfl-why-visual {
  left: 37% !important;
  opacity: .98 !important;
  width: 63vw !important;
}

.dfl-why-visual::before {
  background:
    linear-gradient(90deg, rgba(7,22,50,1) 0%, rgba(7,22,50,.88) 20%, rgba(7,22,50,.46) 46%, rgba(7,22,50,.14) 75%, rgba(7,22,50,.30) 100%),
    linear-gradient(180deg, rgba(7,22,50,.30), rgba(7,22,50,.70)) !important;
}

.dfl-why-visual img {
  object-position: 61% center !important;
  transform: scale(1.04) !important;
}

.dfl-why-section .dfl-value-grid,
.dfl-why-proof-row,
.dfl-why-contact-card {
  max-width: 860px !important;
}

.dfl-why-section .dfl-value-item {
  background: rgba(12,33,65,.70) !important;
  border-color: rgba(170,210,255,.18) !important;
}

.dfl-visual-caption {
  background: rgba(3,12,30,.58) !important;
  left: clamp(80px, 9vw, 160px) !important;
}

@media (max-width: 1199px) {
  .dfl-hero-route-card .dfl-map-stage {
    right: auto !important;
    width: 100% !important;
  }

  .dfl-hero-route-card .dfl-route-map {
    transform: translate(-5%, 0) scale(1.45) !important;
  }

  .dfl-why-copy {
    max-width: 100% !important;
  }

  .dfl-why-visual {
    left: auto !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .dfl-hero-route-card .dfl-route-map {
    transform: translate(-10%, 0) scale(1.32) !important;
  }

  .dfl-route-card .sri-node-label,
  .dfl-route-card .dfl-label-secondary {
    display: none !important;
  }

  .dfl-why-copy .dfl-section-heading h2 {
    font-size: clamp(40px, 11vw, 56px) !important;
  }
}

/* =========================================================================
   Homepage ship-ready tightening
   ========================================================================= */
.dfl-hero {
  min-height: clamp(760px, 84vh, 930px) !important;
}

.dfl-hero-bg {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.86) 30%, rgba(7,22,50,.28) 58%, rgba(7,22,50,.08) 100%),
    radial-gradient(circle at 74% 44%, rgba(74,156,255,.17), transparent 32%),
    radial-gradient(circle at 22% 48%, rgba(223,31,38,.11), transparent 28%),
    radial-gradient(circle at 18% 28%, rgba(120,205,255,.08) 0 1px, transparent 1.6px) !important;
  background-size: auto, auto, auto, 42px 42px !important;
  opacity: .96 !important;
}

.dfl-hero-copy {
  text-shadow: 0 4px 34px rgba(0,0,0,.44) !important;
}

.dfl-hero-copy::before {
  background:
    radial-gradient(ellipse at 24% 46%, rgba(3,12,30,.86), transparent 68%),
    radial-gradient(circle at 36% 42%, rgba(223,31,38,.10), transparent 30%) !important;
  inset: -86px -96px -82px -72px !important;
  opacity: .95 !important;
}

.dfl-hero-copy::after {
  opacity: .48 !important;
}

.dfl-hero .dfl-kicker {
  color: #9fcfff !important;
}

.dfl-hero-text {
  color: rgba(255,255,255,.91) !important;
  font-size: 19px !important;
  font-weight: 500 !important;
}

.dfl-route-card .dfl-route-particle {
  filter: url(#dfl-map-red-glow) !important;
}

.dfl-route-card .dfl-route-secondary {
  opacity: .10 !important;
}

.dfl-route-card .dfl-route-primary {
  opacity: .22 !important;
}

.dfl-route-card .dfl-halo-secondary,
.dfl-route-card .dfl-node-secondary,
.dfl-route-card .dfl-label-secondary {
  opacity: .42 !important;
}

.dfl-why-section {
  min-height: 0 !important;
  padding: clamp(70px, 7vw, 108px) 0 !important;
}

.dfl-why-section::before {
  background:
    linear-gradient(90deg, #071632 0%, rgba(7,22,50,.99) 31%, rgba(7,22,50,.90) 47%, rgba(7,22,50,.48) 66%, rgba(7,22,50,.18) 100%),
    radial-gradient(circle at 18% 40%, rgba(223,31,38,.12), transparent 26%),
    radial-gradient(circle at 78% 42%, rgba(103,185,255,.16), transparent 32%) !important;
}

.dfl-why-copy .dfl-section-heading {
  margin-bottom: 26px !important;
}

.dfl-why-copy .dfl-section-heading h2 {
  font-size: clamp(52px, 4.7vw, 80px) !important;
}

.dfl-why-section .dfl-value-grid {
  gap: 14px !important;
}

.dfl-why-section .dfl-value-item {
  grid-template-columns: 42px 1fr !important;
  min-height: 142px !important;
  padding: 22px !important;
}

.dfl-why-section .dfl-value-item p {
  font-size: 13px !important;
  line-height: 1.52 !important;
}

.dfl-why-proof-row {
  gap: 10px !important;
  margin-top: 14px !important;
}

.dfl-why-proof-row div {
  padding: 14px 16px !important;
}

.dfl-why-contact-card {
  margin-top: 14px !important;
  padding: 20px 22px !important;
}

.dfl-visual-caption {
  bottom: clamp(26px, 3vw, 48px) !important;
}

.dfl-team-feature {
  padding: clamp(72px, 7vw, 112px) 0 50px !important;
}

.dfl-team-panel {
  background:
    radial-gradient(circle at 92% 20%, rgba(223,31,38,.16), transparent 28%),
    linear-gradient(135deg, rgba(13,36,70,.86), rgba(7,22,50,.96)) !important;
  border-color: rgba(170,210,255,.18) !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.24) !important;
  grid-template-columns: minmax(520px, 1.05fr) minmax(520px, .95fr) !important;
}

.dfl-team-image {
  min-height: 470px !important;
  overflow: hidden !important;
  position: relative !important;
}

.dfl-team-image::after {
  background:
    linear-gradient(90deg, rgba(7,22,50,0), rgba(7,22,50,.34)),
    linear-gradient(180deg, rgba(7,22,50,0), rgba(7,22,50,.30)) !important;
  content: "" !important;
  inset: 0 !important;
  position: absolute !important;
}

.dfl-team-image img {
  min-height: 470px !important;
  transform: scale(1.035) !important;
}

.dfl-team-copy {
  background:
    linear-gradient(135deg, rgba(13,30,58,.58), rgba(7,22,50,.92)) !important;
  padding: clamp(42px, 4vw, 70px) !important;
}

.dfl-team-copy h2 {
  font-size: clamp(38px, 3.2vw, 58px) !important;
  letter-spacing: -.055em !important;
}

.dfl-team-copy p {
  color: rgba(255,255,255,.76) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
}

.dfl-team-highlights {
  display: grid !important;
  gap: 10px !important;
  margin: 22px 0 18px !important;
}

.dfl-team-highlights span {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(170,210,255,.14) !important;
  border-radius: 14px !important;
  color: rgba(255,255,255,.70) !important;
  display: block !important;
  font-size: 14px !important;
  padding: 13px 15px !important;
}

.dfl-team-highlights strong {
  color: #fff !important;
}

.dfl-strength-strip {
  background:
    radial-gradient(circle at 20% 20%, rgba(223,31,38,.12), transparent 24%),
    linear-gradient(180deg, #071632 0%, #0a1d3c 100%) !important;
  border-top: 1px solid rgba(170,210,255,.13) !important;
  padding: clamp(66px, 7vw, 104px) 0 !important;
}

.dfl-strength-heading {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: minmax(360px, .82fr) minmax(420px, 1fr) !important;
  margin-bottom: 32px !important;
}

.dfl-strength-heading .dfl-kicker {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

.dfl-strength-heading h2 {
  color: #fff !important;
  font-size: clamp(36px, 3.5vw, 58px) !important;
  letter-spacing: -.055em !important;
  line-height: 1.02 !important;
  margin: 0 !important;
}

.dfl-strength-heading p:not(.dfl-kicker) {
  color: var(--dfl-muted) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

.dfl-capability-row {
  gap: 16px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.dfl-capability-row div {
  align-items: flex-start !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  border-color: rgba(170,210,255,.16) !important;
  border-radius: 20px !important;
  display: grid !important;
  gap: 7px 14px !important;
  grid-template-columns: 42px 1fr !important;
  min-height: 148px !important;
  padding: 24px !important;
  transition: transform .25s ease, border-color .25s ease, background .25s ease !important;
}

.dfl-capability-row div:hover {
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;
  border-color: rgba(255,72,80,.34) !important;
  transform: translateY(-4px) !important;
}

.dfl-capability-row i {
  align-items: center !important;
  background: rgba(223,31,38,.12) !important;
  border: 1px solid rgba(223,31,38,.28) !important;
  border-radius: 12px !important;
  display: flex !important;
  height: 42px !important;
  justify-content: center !important;
  width: 42px !important;
}

.dfl-capability-row strong {
  color: #fff !important;
  display: block !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
}

.dfl-capability-row span {
  color: var(--dfl-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  grid-column: 2 !important;
  line-height: 1.55 !important;
}

@media (max-width: 1199px) {
  .dfl-team-panel,
  .dfl-strength-heading,
  .dfl-capability-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .dfl-team-image,
  .dfl-team-image img {
    min-height: 330px !important;
  }

  .dfl-capability-row div {
    min-height: 0 !important;
  }
}

/* =========================================================================
   Final homepage UX cleanup: cleaner map, stronger contact path
   ========================================================================= */
.dfl-hero-bg {
  background:
    linear-gradient(90deg, rgba(3,10,26,1) 0%, rgba(4,12,29,.97) 24%, rgba(7,22,50,.72) 44%, rgba(7,22,50,.18) 68%, rgba(7,22,50,.08) 100%),
    radial-gradient(circle at 72% 44%, rgba(74,156,255,.15), transparent 32%),
    radial-gradient(circle at 21% 48%, rgba(223,31,38,.09), transparent 26%),
    radial-gradient(circle at 18% 28%, rgba(120,205,255,.06) 0 1px, transparent 1.6px) !important;
}

.dfl-hero-copy::before {
  background:
    radial-gradient(ellipse at 26% 48%, rgba(2,8,22,.96), transparent 72%),
    linear-gradient(90deg, rgba(2,8,22,.66), rgba(2,8,22,0)) !important;
  inset: -98px -130px -96px -90px !important;
}

.dfl-hero-copy::after {
  opacity: .30 !important;
}

.dfl-route-card .dfl-destination-tag-bg,
.dfl-route-card .dfl-destination-city,
.dfl-route-card .sri-node-label {
  display: none !important;
}

.dfl-route-card .dfl-route-path {
  opacity: .10 !important;
  stroke-width: .8 !important;
}

.dfl-route-card .dfl-route-primary {
  opacity: .16 !important;
}

.dfl-route-card .dfl-route-secondary {
  opacity: .04 !important;
}

.dfl-route-card .dfl-route-particle {
  opacity: .76 !important;
  transform-box: fill-box !important;
  transform-origin: center !important;
}

.dfl-route-card .dfl-particle-primary {
  fill: rgba(255,92,100,.92) !important;
  filter: drop-shadow(0 0 8px rgba(255,72,80,.72)) drop-shadow(0 0 14px rgba(96,185,255,.20)) !important;
  stroke: rgba(255,255,255,.34) !important;
  stroke-width: .6 !important;
}

.dfl-route-card .dfl-destination-halo {
  opacity: .32 !important;
}

.dfl-route-card .dfl-destination-node {
  opacity: .56 !important;
}

.dfl-route-card .sri-node-glow {
  fill: rgba(223,31,38,.20) !important;
  r: 22 !important;
}

.dfl-route-card .sri-node-pulse-one {
  r: 28 !important;
}

.dfl-route-card .sri-node-pulse-two {
  r: 42 !important;
}

.dfl-route-card .sri-node-ring {
  r: 9 !important;
}

.dfl-route-card .sri-node-core {
  r: 5 !important;
}

.dfl-why-section {
  padding-bottom: clamp(62px, 6vw, 92px) !important;
}

.dfl-visual-caption {
  display: none !important;
}

.dfl-why-contact-card,
.dfl-final-panel {
  border-color: rgba(255,72,80,.34) !important;
}

.dfl-why-contact-card .dfl-btn,
.dfl-final-actions .dfl-btn-primary {
  box-shadow: 0 14px 34px rgba(223,31,38,.25) !important;
}

.dfl-team-feature {
  padding-top: clamp(64px, 6vw, 96px) !important;
}

.dfl-team-panel {
  grid-template-columns: minmax(580px, 1.18fr) minmax(420px, .82fr) !important;
}

.dfl-team-copy {
  padding: clamp(38px, 3.5vw, 58px) !important;
}

.dfl-team-copy h2 {
  font-size: clamp(34px, 2.9vw, 50px) !important;
}

.dfl-team-highlights {
  display: none !important;
}

.dfl-team-copy .dfl-btn {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
  color: #fff !important;
  margin-top: 18px !important;
}

.dfl-strength-strip {
  padding: clamp(58px, 6vw, 86px) 0 !important;
}

.dfl-strength-heading {
  align-items: end !important;
  margin-bottom: 26px !important;
}

.dfl-capability-row div {
  min-height: 132px !important;
}

.dfl-brochure-panel {
  border-color: rgba(255,72,80,.22) !important;
}

@media (max-width: 1199px) {
  .dfl-team-panel {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================================
   Final subtle motion polish
   ========================================================================= */
.dfl-hero-copy::before {
  background:
    radial-gradient(ellipse at 18% 48%, rgba(2,8,22,.92), transparent 66%),
    radial-gradient(ellipse at 46% 52%, rgba(2,8,22,.52), transparent 58%),
    linear-gradient(90deg, rgba(2,8,22,.50), rgba(2,8,22,.22) 48%, rgba(2,8,22,0) 100%) !important;
  filter: blur(18px) !important;
  inset: -120px -190px -116px -118px !important;
  opacity: .88 !important;
}

.dfl-hero-copy::after {
  background:
    radial-gradient(ellipse at 28% 44%, rgba(65,145,230,.10), transparent 54%),
    radial-gradient(ellipse at 56% 66%, rgba(223,31,38,.055), transparent 56%) !important;
  filter: blur(24px) !important;
  inset: -130px -210px -128px -120px !important;
  opacity: .55 !important;
}

.dfl-why-copy {
  isolation: isolate !important;
}

.dfl-why-copy::before {
  animation: dflWhyGridDrift 18s ease-in-out infinite alternate !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(126,205,255,.18) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 66% 42%, rgba(255,255,255,.07) 0 1px, transparent 2px),
    radial-gradient(circle at 38% 78%, rgba(223,31,38,.13) 0 1.5px, transparent 2.5px),
    linear-gradient(90deg, rgba(126,205,255,.055) 1px, transparent 1px),
    linear-gradient(180deg, rgba(126,205,255,.04) 1px, transparent 1px) !important;
  background-position: 0 0, 36px 22px, 18px 46px, 0 0, 0 0 !important;
  background-size: 120px 120px, 160px 160px, 190px 190px, 76px 76px, 76px 76px !important;
  border-radius: 42px !important;
  content: "" !important;
  inset: -52px -44px -48px -48px !important;
  opacity: .45 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: -1 !important;
}

.dfl-why-copy::after {
  animation: dflWhySignalSweep 11s ease-in-out infinite !important;
  background: linear-gradient(105deg, transparent 0%, transparent 42%, rgba(126,205,255,.16) 50%, rgba(223,31,38,.08) 54%, transparent 64%, transparent 100%) !important;
  border-radius: 42px !important;
  content: "" !important;
  inset: -60px -46px -56px -50px !important;
  opacity: .34 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: -1 !important;
}

@keyframes dflWhyGridDrift {
  0% {
    background-position: 0 0, 36px 22px, 18px 46px, 0 0, 0 0;
    opacity: .36;
  }
  100% {
    background-position: 28px -18px, 8px 48px, 52px 18px, 24px 0, 0 24px;
    opacity: .56;
  }
}

@keyframes dflWhySignalSweep {
  0%, 22% {
    background-position: -180% 0;
    opacity: .12;
  }
  48% {
    opacity: .38;
  }
  78%, 100% {
    background-position: 180% 0;
    opacity: .10;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dfl-why-copy::before,
  .dfl-why-copy::after {
    animation: none !important;
  }
}

/* =========================================================================
   Homepage final CTA/image hierarchy
   ========================================================================= */
.dfl-why-section::before {
  background:
    linear-gradient(90deg, #071632 0%, rgba(7,22,50,.98) 26%, rgba(7,22,50,.78) 43%, rgba(7,22,50,.28) 61%, rgba(7,22,50,.08) 100%),
    radial-gradient(circle at 17% 40%, rgba(223,31,38,.10), transparent 26%),
    radial-gradient(circle at 74% 42%, rgba(103,185,255,.14), transparent 32%) !important;
}

.dfl-why-copy {
  max-width: min(54vw, 820px) !important;
}

.dfl-why-visual {
  left: 31% !important;
  width: 69vw !important;
}

.dfl-why-visual img {
  filter: saturate(1.18) contrast(1.1) brightness(1.08) !important;
  object-position: 58% center !important;
  opacity: 1 !important;
  transform: scale(1.015) !important;
}

.dfl-why-visual::before {
  background:
    linear-gradient(90deg, rgba(7,22,50,1) 0%, rgba(7,22,50,.78) 18%, rgba(7,22,50,.34) 42%, rgba(7,22,50,.08) 72%, rgba(7,22,50,.20) 100%),
    linear-gradient(180deg, rgba(7,22,50,.16), rgba(7,22,50,.52)) !important;
}

.dfl-why-visual::after {
  opacity: .72 !important;
}

.dfl-why-contact-card {
  background:
    radial-gradient(circle at 88% 18%, rgba(223,31,38,.28), transparent 32%),
    linear-gradient(135deg, rgba(13,43,83,.95), rgba(7,22,50,.96)) !important;
}

.dfl-final-actions {
  gap: 12px !important;
}

.dfl-final-actions .dfl-btn {
  white-space: nowrap !important;
}

@media (max-width: 1199px) {
  .dfl-why-copy {
    max-width: 100% !important;
  }

  .dfl-why-visual {
    left: auto !important;
    width: 100% !important;
  }
}

/* =========================================================================
   Homepage elegance pass: calmer why + operations sections
   ========================================================================= */
.dfl-why-copy::before,
.dfl-why-copy::after,
.dfl-why-visual::after {
  animation: none !important;
  display: none !important;
}

.dfl-why-section {
  background: #071632 !important;
}

.dfl-why-section::before {
  background:
    linear-gradient(90deg, #071632 0%, rgba(7,22,50,.99) 30%, rgba(7,22,50,.78) 48%, rgba(7,22,50,.24) 68%, rgba(7,22,50,.08) 100%),
    radial-gradient(circle at 80% 46%, rgba(91,170,245,.12), transparent 34%) !important;
}

.dfl-why-copy .dfl-section-heading h2 {
  font-size: clamp(48px, 4.15vw, 72px) !important;
  letter-spacing: -.055em !important;
}

.dfl-why-copy .dfl-section-heading p:not(.dfl-kicker) {
  color: rgba(255,255,255,.72) !important;
}

.dfl-why-section .dfl-value-item {
  background: rgba(10,31,61,.72) !important;
  border-color: rgba(170,210,255,.14) !important;
  box-shadow: none !important;
}

.dfl-why-section .dfl-value-item:hover {
  background: rgba(13,40,76,.82) !important;
  border-color: rgba(170,210,255,.24) !important;
}

.dfl-why-section .dfl-value-item::after {
  opacity: .42 !important;
}

.dfl-why-proof-row div {
  background: rgba(255,255,255,.045) !important;
  border-color: rgba(170,210,255,.12) !important;
}

.dfl-why-contact-card {
  background:
    linear-gradient(135deg, rgba(12,38,75,.96), rgba(8,26,55,.96)) !important;
  border-color: rgba(223,31,38,.28) !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.20) !important;
}

.dfl-strength-strip {
  background:
    linear-gradient(180deg, #071632 0%, #081a35 100%) !important;
  padding: clamp(54px, 5.5vw, 78px) 0 !important;
}

.dfl-strength-heading {
  align-items: start !important;
  gap: clamp(28px, 4vw, 72px) !important;
  grid-template-columns: minmax(420px, .78fr) minmax(420px, 1fr) !important;
  margin-bottom: 24px !important;
}

.dfl-strength-heading h2 {
  font-size: clamp(34px, 3.1vw, 52px) !important;
  line-height: 1.08 !important;
  max-width: 720px !important;
}

.dfl-strength-heading p:not(.dfl-kicker) {
  align-self: center !important;
  color: rgba(143,166,193,.92) !important;
  font-size: 16px !important;
  max-width: 760px !important;
}

.dfl-capability-row {
  gap: 14px !important;
}

.dfl-capability-row div {
  background:
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
  border-color: rgba(170,210,255,.13) !important;
  border-radius: 16px !important;
  min-height: 118px !important;
  padding: 20px !important;
}

.dfl-capability-row div:hover {
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border-color: rgba(170,210,255,.25) !important;
}

.dfl-capability-row i {
  background: rgba(223,31,38,.10) !important;
}

.dfl-brochure-cta {
  padding: 0 0 clamp(34px, 4vw, 58px) !important;
}

.dfl-brochure-panel {
  background:
    linear-gradient(135deg, rgba(14,38,72,.86), rgba(8,25,52,.94)) !important;
  border-color: rgba(170,210,255,.14) !important;
  box-shadow: none !important;
}

.dfl-final-panel {
  border-color: rgba(223,31,38,.28) !important;
}

@media (max-width: 1199px) {
  .dfl-strength-heading {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================================
   Production QA polish: contrast, rhythm, scanability
   ========================================================================= */
.goog-te-banner-frame,
.goog-te-menu-frame,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-tooltip:hover,
#goog-gt-tt,
#google_translate_element,
.skiptranslate iframe,
body > iframe[style*="position: fixed"],
body > .skiptranslate {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

body {
  top: 0 !important;
}

.dfl-kicker {
  align-items: center !important;
  color: #b9d8ff !important;
  display: inline-flex !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  gap: 10px !important;
  letter-spacing: .13em !important;
  margin-bottom: 14px !important;
}

.dfl-kicker::after {
  background: var(--dfl-red) !important;
  border-radius: 999px !important;
  content: "" !important;
  display: inline-block !important;
  height: 2px !important;
  opacity: .9 !important;
  width: 34px !important;
}

.dfl-section-heading p,
.dfl-team-copy p,
.dfl-brochure-panel p,
.dfl-final-panel p,
.dfl-strength-heading p:not(.dfl-kicker) {
  color: rgba(225,235,247,.86) !important;
}

.dfl-services-section {
  background:
    radial-gradient(circle at 80% 8%, rgba(223,31,38,.08), transparent 24%),
    linear-gradient(180deg, #0a1e3d 0%, #071632 100%) !important;
}

.dfl-team-feature {
  background:
    linear-gradient(180deg, #071632 0%, #0b1e3d 100%) !important;
}

.dfl-service-card {
  background:
    linear-gradient(180deg, rgba(18,48,86,.98), rgba(10,34,68,.96)) !important;
  border-color: rgba(170,210,255,.16) !important;
}

.dfl-service-card:nth-child(1),
.dfl-service-card:nth-child(7) {
  background:
    radial-gradient(circle at 88% 12%, rgba(223,31,38,.20), transparent 30%),
    linear-gradient(180deg, rgba(22,58,101,.98), rgba(11,38,76,.96)) !important;
  border-color: rgba(255,72,80,.34) !important;
}

.dfl-service-card p {
  color: rgba(230,239,249,.92) !important;
  font-size: 15px !important;
  line-height: 1.68 !important;
}

.dfl-service-card h3 {
  font-size: 19px !important;
}

.dfl-service-card > i {
  color: #ff4b55 !important;
}

.dfl-trust-strip {
  background: rgba(7,22,50,.82) !important;
  border-color: rgba(170,210,255,.22) !important;
}

.dfl-trust-item {
  gap: 4px 18px !important;
  grid-template-columns: 48px 1fr !important;
  padding: clamp(24px, 2.1vw, 34px) clamp(20px, 2.4vw, 38px) !important;
}

.dfl-trust-item i {
  color: #fff !important;
  font-size: 36px !important;
  opacity: .96 !important;
}

.dfl-trust-item strong {
  font-size: clamp(32px, 2.5vw, 42px) !important;
  font-weight: 900 !important;
  letter-spacing: -.04em !important;
}

.dfl-trust-item span {
  color: #b9d8ff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.dfl-why-contact-card {
  background:
    linear-gradient(135deg, rgba(223,31,38,.96), rgba(159,22,34,.94)) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 22px 60px rgba(223,31,38,.24) !important;
}

.dfl-why-contact-card .dfl-kicker,
.dfl-why-contact-card .dfl-kicker::after,
.dfl-why-contact-card h3 {
  color: #fff !important;
}

.dfl-why-contact-card .dfl-kicker::after {
  background: rgba(255,255,255,.72) !important;
}

.dfl-why-contact-card .dfl-btn {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--dfl-red-dark) !important;
  min-height: 56px !important;
  padding-inline: 28px !important;
}

.dfl-footer {
  padding-top: 66px !important;
}

.dfl-footer-grid {
  gap: clamp(28px, 4vw, 72px) !important;
}

.dfl-footer h3 {
  font-size: 16px !important;
  margin-bottom: 18px !important;
}

.dfl-footer p,
.dfl-footer a,
.dfl-footer li {
  color: rgba(225,235,247,.82) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

.dfl-footer ul {
  display: grid !important;
  gap: 8px !important;
}

.dfl-footer-contact {
  border-left: 1px solid rgba(170,210,255,.14) !important;
  padding-left: clamp(20px, 2vw, 34px) !important;
}

.dfl-footer-contact p {
  gap: 10px !important;
  margin-bottom: 10px !important;
}

@media (max-width: 991px) {
  .dfl-footer-contact {
    border-left: 0 !important;
    padding-left: 0 !important;
  }
}

/* =========================================================================
   Homepage UX finish: hierarchy, focus, tap targets, responsive polish
   ========================================================================= */
html {
  scroll-behavior: smooth !important;
}

.dfl-btn,
.dfl-nav-cta,
.dfl-service-card,
.dfl-navbar a,
.dfl-footer a {
  outline-offset: 4px !important;
}

.dfl-btn:focus-visible,
.dfl-nav-cta:focus-visible,
.dfl-service-card:focus-visible,
.dfl-navbar a:focus-visible,
.dfl-footer a:focus-visible {
  outline: 2px solid rgba(255,255,255,.88) !important;
  box-shadow: 0 0 0 5px rgba(223,31,38,.30) !important;
}

.dfl-btn,
.dfl-nav-cta {
  align-items: center !important;
  display: inline-flex !important;
  justify-content: center !important;
  min-height: 52px !important;
}

.dfl-hero-actions .dfl-btn-primary,
.dfl-final-actions .dfl-btn-primary,
.dfl-navbar .dfl-nav-cta {
  background: linear-gradient(135deg, #e62b32, #c81922) !important;
  border-color: transparent !important;
}

.dfl-hero-actions .dfl-btn-primary:hover,
.dfl-final-actions .dfl-btn-primary:hover,
.dfl-navbar .dfl-nav-cta:hover {
  background: linear-gradient(135deg, #f0363e, #d51d27) !important;
  transform: translateY(-2px) !important;
}

.dfl-hero-actions .dfl-btn-secondary,
.dfl-final-actions .dfl-btn-secondary {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.26) !important;
  color: #fff !important;
}

.dfl-section-heading {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
}

.dfl-section-heading h2 {
  letter-spacing: -.045em !important;
}

.dfl-services-section {
  padding-bottom: clamp(84px, 8vw, 126px) !important;
}

.dfl-service-grid {
  gap: clamp(16px, 1.5vw, 24px) !important;
}

.dfl-service-card {
  min-height: 260px !important;
  padding: clamp(24px, 2vw, 34px) !important;
}

.dfl-service-card span {
  bottom: 24px !important;
  right: 24px !important;
}

.dfl-why-contact-card .dfl-btn {
  font-size: 15px !important;
  font-weight: 900 !important;
}

.dfl-team-feature,
.dfl-strength-strip,
.dfl-brochure-cta,
.dfl-final-cta {
  position: relative !important;
}

.dfl-team-feature::before,
.dfl-strength-strip::before {
  background: linear-gradient(90deg, transparent, rgba(170,210,255,.16), transparent) !important;
  content: "" !important;
  height: 1px !important;
  left: 0 !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
}

.dfl-team-panel {
  min-height: 430px !important;
}

.dfl-team-copy .dfl-btn {
  min-width: 174px !important;
}

.dfl-capability-row div {
  color: rgba(230,239,249,.92) !important;
}

.dfl-capability-row strong {
  font-size: 18px !important;
}

.dfl-brochure-panel {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
}

.dfl-brochure-panel .dfl-btn {
  min-width: 190px !important;
}

.dfl-final-panel {
  align-items: center !important;
}

.dfl-final-panel h2 {
  letter-spacing: -.055em !important;
}

.dfl-final-actions {
  justify-content: flex-end !important;
}

.dfl-final-actions .dfl-btn-primary {
  min-width: 172px !important;
}

.dfl-final-actions .dfl-btn-secondary {
  min-width: 154px !important;
}

.dfl-footer a {
  display: inline-flex !important;
  min-height: 22px !important;
}

@media (max-width: 1199px) {
  .dfl-brochure-panel {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  .dfl-brochure-panel .dfl-btn {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }

  .dfl-final-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 767px) {
  .dfl-hero-content {
    padding-bottom: 44px !important;
  }

  .dfl-btn,
  .dfl-nav-cta {
    min-height: 54px !important;
  }

  .dfl-hero-actions,
  .dfl-final-actions {
    width: 100% !important;
  }

  .dfl-hero-actions .dfl-btn,
  .dfl-final-actions .dfl-btn,
  .dfl-why-contact-card .dfl-btn,
  .dfl-brochure-panel .dfl-btn {
    width: 100% !important;
  }

  .dfl-service-card {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .dfl-brochure-panel {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================================
   Client feedback pass: slightly lighter homepage + higher team crop
   ========================================================================= */
.dfl-services-section {
  background:
    radial-gradient(circle at 80% 8%, rgba(223,31,38,.07), transparent 24%),
    linear-gradient(180deg, #10284a 0%, #0b1f3e 52%, #071632 100%) !important;
}

.dfl-why-section {
  background: #0a1d3a !important;
}

.dfl-why-section::before {
  background:
    linear-gradient(90deg, #0a1d3a 0%, rgba(10,29,58,.98) 30%, rgba(10,29,58,.76) 48%, rgba(10,29,58,.24) 68%, rgba(10,29,58,.08) 100%),
    radial-gradient(circle at 80% 46%, rgba(105,185,255,.13), transparent 34%) !important;
}

.dfl-team-feature {
  background:
    linear-gradient(180deg, #0a1d3a 0%, #10284a 100%) !important;
}

.dfl-strength-strip {
  background:
    linear-gradient(180deg, #10284a 0%, #0b1f3e 100%) !important;
}

.dfl-brochure-cta,
.dfl-final-cta {
  background: #0b1f3e !important;
}

.dfl-service-card,
.dfl-why-section .dfl-value-item,
.dfl-capability-row div {
  background:
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.045)) !important;
  border-color: rgba(185,216,255,.18) !important;
}

.dfl-service-card:nth-child(1),
.dfl-service-card:nth-child(7) {
  background:
    radial-gradient(circle at 88% 12%, rgba(223,31,38,.18), transparent 30%),
    linear-gradient(180deg, rgba(28,68,113,.95), rgba(15,48,88,.94)) !important;
}

.dfl-team-image img {
  object-position: center 24% !important;
}

.dfl-team-panel {
  background:
    linear-gradient(135deg, rgba(20,54,96,.86), rgba(10,29,58,.96)) !important;
}

.dfl-team-copy {
  background:
    linear-gradient(135deg, rgba(18,45,82,.62), rgba(10,29,58,.90)) !important;
}

/* =========================================================================
   Seamless flow pass: brighter continuous navy system
   ========================================================================= */
:root {
  --dfl-flow-1: #0c2242;
  --dfl-flow-2: #102a4d;
  --dfl-flow-3: #14345c;
}

html.page-home body,
html.page-home .site {
  background: var(--dfl-flow-1) !important;
}

.dfl-hero {
  background:
    linear-gradient(180deg, #071632 0%, #0a1f3f 88%, var(--dfl-flow-1) 100%) !important;
}

.dfl-hero-overlay {
  background:
    radial-gradient(circle at 73% 48%, rgba(74,156,255,.13), transparent 32%),
    linear-gradient(180deg, rgba(7,22,50,0) 0%, rgba(10,31,63,.54) 72%, var(--dfl-flow-1) 100%) !important;
}

.dfl-services-section,
.dfl-why-section,
.dfl-team-feature,
.dfl-strength-strip,
.dfl-brochure-cta,
.dfl-final-cta {
  border-top: 0 !important;
  margin-top: -1px !important;
}

.dfl-services-section {
  background:
    radial-gradient(circle at 82% 8%, rgba(223,31,38,.055), transparent 24%),
    linear-gradient(180deg, var(--dfl-flow-1) 0%, var(--dfl-flow-2) 52%, var(--dfl-flow-1) 100%) !important;
}

.dfl-why-section {
  background: var(--dfl-flow-1) !important;
  padding-top: clamp(78px, 7vw, 112px) !important;
}

.dfl-why-section::before {
  background:
    linear-gradient(90deg, var(--dfl-flow-1) 0%, rgba(12,34,66,.96) 31%, rgba(12,34,66,.76) 49%, rgba(12,34,66,.28) 68%, rgba(12,34,66,.10) 100%),
    radial-gradient(circle at 78% 48%, rgba(110,190,255,.12), transparent 34%) !important;
}

.dfl-why-copy {
  max-width: min(56vw, 860px) !important;
}

.dfl-why-copy .dfl-section-heading {
  margin-bottom: 24px !important;
}

.dfl-why-copy .dfl-section-heading h2 {
  font-size: clamp(46px, 4vw, 68px) !important;
  line-height: 1.02 !important;
  max-width: 780px !important;
}

.dfl-why-copy .dfl-section-heading p:not(.dfl-kicker) {
  color: rgba(225,235,247,.84) !important;
  font-size: 17px !important;
  max-width: 720px !important;
}

.dfl-why-section .dfl-value-grid {
  gap: 16px !important;
  max-width: 820px !important;
}

.dfl-why-section .dfl-value-item {
  align-items: start !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.045)) !important;
  border-color: rgba(185,216,255,.17) !important;
  border-radius: 18px !important;
  grid-template-columns: 42px 1fr !important;
  min-height: 154px !important;
  padding: 22px !important;
}

.dfl-why-section .dfl-value-item h3 {
  font-size: 16.5px !important;
  line-height: 1.25 !important;
}

.dfl-why-section .dfl-value-item p {
  color: rgba(225,235,247,.78) !important;
  font-size: 13.5px !important;
  grid-column: 2 !important;
}

.dfl-why-proof-row {
  max-width: 820px !important;
}

.dfl-why-proof-row div {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(185,216,255,.15) !important;
}

.dfl-why-proof-row span {
  color: rgba(225,235,247,.72) !important;
}

.dfl-why-contact-card {
  background:
    linear-gradient(135deg, rgba(220,31,38,.94), rgba(175,24,32,.92)) !important;
  border-color: rgba(255,255,255,.16) !important;
  border-radius: 20px !important;
  max-width: 820px !important;
}

.dfl-why-visual {
  left: 34% !important;
  width: 66vw !important;
}

.dfl-why-visual::before {
  background:
    linear-gradient(90deg, var(--dfl-flow-1) 0%, rgba(12,34,66,.76) 22%, rgba(12,34,66,.28) 48%, rgba(12,34,66,.08) 74%, rgba(12,34,66,.18) 100%),
    linear-gradient(180deg, rgba(12,34,66,.10), rgba(12,34,66,.48)) !important;
}

.dfl-why-visual img {
  filter: saturate(1.12) contrast(1.05) brightness(1.06) !important;
}

.dfl-team-feature {
  background:
    linear-gradient(180deg, var(--dfl-flow-1) 0%, var(--dfl-flow-2) 100%) !important;
}

.dfl-strength-strip {
  background:
    linear-gradient(180deg, var(--dfl-flow-2) 0%, #0e2748 100%) !important;
}

.dfl-brochure-cta,
.dfl-final-cta {
  background: #0e2748 !important;
}

.dfl-team-feature::before,
.dfl-strength-strip::before {
  display: none !important;
}

.dfl-brochure-panel,
.dfl-final-panel {
  background:
    linear-gradient(135deg, rgba(24,59,103,.78), rgba(12,34,66,.92)) !important;
  border-color: rgba(185,216,255,.16) !important;
}

@media (max-width: 1199px) {
  .dfl-why-copy,
  .dfl-why-section .dfl-value-grid,
  .dfl-why-proof-row,
  .dfl-why-contact-card {
    max-width: 100% !important;
  }

  .dfl-why-visual {
    left: auto !important;
    width: 100% !important;
  }
}

/* =========================================================================
   High-tech scroll polish and brighter readable homepage flow
   ========================================================================= */
.dfl-why-section {
  min-height: clamp(780px, 78vh, 920px) !important;
  padding: clamp(86px, 7vw, 118px) 0 clamp(82px, 7vw, 112px) !important;
}

.dfl-why-section::before {
  background:
    linear-gradient(90deg, var(--dfl-flow-1) 0%, rgba(12,34,66,.96) 28%, rgba(12,34,66,.62) 47%, rgba(12,34,66,.18) 67%, rgba(12,34,66,0) 100%),
    linear-gradient(180deg, rgba(12,34,66,.24), rgba(12,34,66,.54)),
    radial-gradient(circle at 76% 50%, rgba(110,190,255,.13), transparent 34%) !important;
}

.dfl-why-section::after {
  background:
    linear-gradient(100deg, transparent 0%, transparent 44%, rgba(130,205,255,.13) 50%, rgba(223,31,38,.07) 54%, transparent 64%, transparent 100%),
    radial-gradient(circle at 36% 42%, rgba(130,205,255,.10) 0 1px, transparent 1.8px),
    radial-gradient(circle at 52% 58%, rgba(255,255,255,.06) 0 1px, transparent 1.8px) !important;
  background-position: -140% 0, 0 0, 24px 18px !important;
  background-size: 230% 100%, 52px 52px, 74px 74px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .42 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 2 !important;
}

@supports (animation-timeline: view()) {
  .dfl-why-section::after {
    animation: dflScrollScan both linear !important;
    animation-timeline: view() !important;
    animation-range: entry 0% exit 100% !important;
  }

  .dfl-visual-hud span {
    animation-timeline: view() !important;
    animation-range: entry 0% exit 100% !important;
  }
}

.dfl-why-copy {
  max-width: min(52vw, 840px) !important;
  z-index: 5 !important;
}

.dfl-why-copy .dfl-section-heading h2 {
  font-size: clamp(54px, 4.8vw, 84px) !important;
  max-width: 860px !important;
}

.dfl-why-copy .dfl-section-heading p:not(.dfl-kicker) {
  color: rgba(235,243,252,.88) !important;
  font-size: 18.5px !important;
  max-width: 780px !important;
}

.dfl-why-section .dfl-value-grid {
  grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
  max-width: 900px !important;
}

.dfl-why-section .dfl-value-item {
  background:
    linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.055)) !important;
  border-color: rgba(190,225,255,.20) !important;
  min-height: 172px !important;
  padding: 26px !important;
}

.dfl-why-section .dfl-value-item i {
  background: rgba(223,31,38,.13) !important;
  border-color: rgba(223,31,38,.28) !important;
}

.dfl-why-section .dfl-value-item h3 {
  font-size: 18px !important;
}

.dfl-why-section .dfl-value-item p {
  color: rgba(235,243,252,.82) !important;
  font-size: 14.5px !important;
}

.dfl-why-proof-row {
  max-width: 900px !important;
}

.dfl-why-proof-row div {
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.052)) !important;
  border-color: rgba(190,225,255,.18) !important;
  padding: 18px 20px !important;
}

.dfl-why-proof-row strong {
  font-size: 20px !important;
}

.dfl-why-proof-row span {
  color: rgba(235,243,252,.74) !important;
  font-size: 14px !important;
}

.dfl-why-contact-card {
  max-width: 900px !important;
}

.dfl-why-visual {
  left: 29% !important;
  width: 71vw !important;
}

.dfl-why-visual::before {
  background:
    linear-gradient(90deg, var(--dfl-flow-1) 0%, rgba(12,34,66,.70) 18%, rgba(12,34,66,.22) 42%, rgba(12,34,66,.04) 72%, rgba(12,34,66,.10) 100%),
    linear-gradient(180deg, rgba(12,34,66,.06), rgba(12,34,66,.36)) !important;
}

.dfl-why-visual img {
  filter: saturate(1.18) contrast(1.08) brightness(1.12) !important;
  object-position: 60% center !important;
}

.dfl-visual-hud span {
  box-shadow: 0 0 0 12px rgba(112,195,255,.10), 0 0 34px rgba(112,195,255,.62) !important;
  height: 10px !important;
  width: 10px !important;
}

.dfl-strength-heading h2 {
  font-size: clamp(40px, 3.55vw, 60px) !important;
  max-width: 760px !important;
}

.dfl-strength-heading p:not(.dfl-kicker) {
  color: rgba(235,243,252,.84) !important;
  font-size: 18px !important;
}

.dfl-capability-row div {
  min-height: 138px !important;
}

.dfl-capability-row span {
  color: rgba(235,243,252,.78) !important;
  font-size: 14px !important;
}

@keyframes dflScrollScan {
  0% {
    background-position: -180% 0, 0 0, 24px 18px;
    opacity: .18;
  }
  45% {
    opacity: .48;
  }
  100% {
    background-position: 180% 0, 30px -20px, -12px 42px;
    opacity: .30;
  }
}

@media (max-width: 1199px) {
  .dfl-why-copy,
  .dfl-why-section .dfl-value-grid,
  .dfl-why-proof-row,
  .dfl-why-contact-card {
    max-width: 100% !important;
  }

  .dfl-why-visual {
    left: auto !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .dfl-why-copy .dfl-section-heading h2 {
    font-size: clamp(42px, 11vw, 58px) !important;
  }

  .dfl-why-section .dfl-value-grid,
  .dfl-why-proof-row {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================================
   Direct client fixes: bigger nav, borderless Why cards, visible tech motion
   ========================================================================= */
.dfl-navbar .nav-link,
html.page-home .dfl-navbar .nav-link {
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}

.dfl-navbar .dfl-nav-cta,
html.page-home .dfl-navbar .dfl-nav-cta {
  font-size: 16px !important;
  font-weight: 900 !important;
}

.dfl-navbar .dfl-main-nav {
  gap: clamp(14px, 1.15vw, 26px) !important;
}

.dfl-navbar.navbar.mega {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}

@media (max-width: 1320px) {
  .dfl-navbar .nav-link,
  html.page-home .dfl-navbar .nav-link {
    font-size: 15.5px !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
}

.dfl-why-section .dfl-value-item,
.dfl-why-proof-row div {
  background:
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.042)) !important;
  border-color: transparent !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 18px 46px rgba(0,0,0,.16) !important;
}

.dfl-why-section .dfl-value-item::after {
  background: linear-gradient(90deg, rgba(223,31,38,.62), rgba(112,195,255,.44)) !important;
  height: 2px !important;
  opacity: .46 !important;
}

.dfl-why-section .dfl-value-item i {
  border-color: transparent !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10) !important;
}

.dfl-why-contact-card {
  border-color: transparent !important;
}

.dfl-why-visual::before {
  background:
    linear-gradient(90deg, var(--dfl-flow-1) 0%, rgba(12,34,66,.66) 16%, rgba(12,34,66,.20) 39%, rgba(12,34,66,.03) 73%, rgba(12,34,66,.10) 100%),
    linear-gradient(180deg, rgba(12,34,66,.04), rgba(12,34,66,.32)) !important;
}

.dfl-why-visual::after {
  animation: dflVisibleTechSweep 8s ease-in-out infinite !important;
  background:
    linear-gradient(105deg, transparent 0%, transparent 42%, rgba(135,213,255,.30) 49%, rgba(255,255,255,.22) 50%, rgba(223,31,38,.18) 53%, transparent 64%, transparent 100%),
    linear-gradient(90deg, rgba(126,205,255,.11) 1px, transparent 1px),
    linear-gradient(180deg, rgba(126,205,255,.08) 1px, transparent 1px) !important;
  background-position: -160% 0, 0 0, 0 0 !important;
  background-size: 260% 100%, 86px 86px, 86px 86px !important;
  content: "" !important;
  display: block !important;
  inset: 0 !important;
  opacity: .58 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 3 !important;
}

.dfl-why-section::after {
  animation: dflVisibleDataDrift 14s linear infinite !important;
  background:
    radial-gradient(circle at 16% 22%, rgba(126,205,255,.32) 0 1.7px, transparent 2.6px),
    radial-gradient(circle at 42% 58%, rgba(255,255,255,.14) 0 1.2px, transparent 2.2px),
    radial-gradient(circle at 74% 38%, rgba(223,31,38,.18) 0 1.6px, transparent 2.5px) !important;
  background-size: 92px 92px, 132px 132px, 170px 170px !important;
  display: block !important;
  opacity: .48 !important;
  z-index: 2 !important;
}

.dfl-visual-hud span {
  animation: dflHudPulse 3.8s ease-in-out infinite !important;
  display: block !important;
}

.dfl-visual-hud span:nth-child(2) {
  animation-delay: 1s !important;
}

.dfl-visual-hud span:nth-child(3) {
  animation-delay: 2s !important;
}

@keyframes dflVisibleTechSweep {
  0%, 16% {
    background-position: -165% 0, 0 0, 0 0;
    opacity: .28;
  }
  44% {
    opacity: .72;
  }
  82%, 100% {
    background-position: 165% 0, 34px 0, 0 34px;
    opacity: .34;
  }
}

@keyframes dflVisibleDataDrift {
  0% {
    background-position: 0 0, 30px 20px, 12px 44px;
  }
  100% {
    background-position: 92px -46px, -30px 74px, 80px -18px;
  }
}

@keyframes dflHudPulse {
  0%, 100% {
    opacity: .42;
    transform: scale(.88);
  }
  50% {
    opacity: 1;
    transform: scale(1.18);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dfl-why-visual::after,
  .dfl-why-section::after,
  .dfl-visual-hud span {
    animation: none !important;
  }
}

/* =========================================================================
   Integrated image blend + scroll parallax
   ========================================================================= */
.dfl-why-section {
  background:
    linear-gradient(180deg, #0c2242 0%, #102a4d 52%, #0e2748 100%) !important;
}

.dfl-why-section::before {
  background:
    linear-gradient(90deg, #0c2242 0%, rgba(12,34,66,.96) 24%, rgba(12,34,66,.58) 44%, rgba(12,34,66,.12) 66%, rgba(12,34,66,0) 100%),
    linear-gradient(180deg, rgba(12,34,66,.18), rgba(14,39,72,.55)),
    radial-gradient(circle at 76% 46%, rgba(120,200,255,.16), transparent 35%) !important;
}

.dfl-why-visual {
  --dfl-parallax-x: 0px;
  --dfl-parallax-y: 0px;
  --dfl-parallax-foreground-y: 0px;
  --dfl-parallax-ring: 0px;
  --dfl-parallax-glow: .42;
  left: 26% !important;
  opacity: 1 !important;
  width: 74vw !important;
}

.dfl-why-visual img {
  filter: saturate(1.16) contrast(1.08) brightness(1.12) !important;
  height: calc(100% + 220px) !important;
  object-position: 62% center !important;
  opacity: .98 !important;
  top: -110px !important;
  transform: translate3d(var(--dfl-parallax-x), var(--dfl-parallax-y), 0) scale(1.13) !important;
  transition: transform .08s linear !important;
}

.dfl-why-visual::before {
  background:
    linear-gradient(90deg, #0c2242 0%, rgba(12,34,66,.82) 18%, rgba(12,34,66,.36) 39%, rgba(12,34,66,.06) 68%, rgba(12,34,66,.22) 100%),
    linear-gradient(180deg, #0c2242 0%, rgba(12,34,66,0) 18%, rgba(12,34,66,0) 70%, #0e2748 100%),
    radial-gradient(circle at 73% 45%, rgba(120,200,255,var(--dfl-parallax-glow)), transparent 28%) !important;
  z-index: 2 !important;
}

.dfl-why-visual::after {
  mix-blend-mode: screen !important;
  opacity: .62 !important;
  transform: translate3d(0, var(--dfl-parallax-foreground-y), 0) !important;
  transition: transform .08s linear !important;
}

.dfl-visual-hud {
  transform: translate3d(calc(var(--dfl-parallax-x) * .9), calc(var(--dfl-parallax-y) * .9), 0) !important;
  transition: transform .08s linear !important;
}

.dfl-parallax-rings {
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  transform: translate3d(calc(var(--dfl-parallax-x) * -.55), var(--dfl-parallax-ring), 0) !important;
  transition: transform .08s linear !important;
  z-index: 4 !important;
}

.dfl-parallax-rings span {
  border: 1px solid rgba(126,205,255,.28) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 34px rgba(126,205,255,.16), inset 0 0 28px rgba(126,205,255,.08) !important;
  display: block !important;
  height: clamp(170px, 18vw, 320px) !important;
  position: absolute !important;
  width: clamp(170px, 18vw, 320px) !important;
}

.dfl-parallax-rings span:first-child {
  right: 18% !important;
  top: 24% !important;
}

.dfl-parallax-rings span:last-child {
  border-color: rgba(223,31,38,.26) !important;
  bottom: 18% !important;
  height: clamp(120px, 13vw, 230px) !important;
  right: 38% !important;
  width: clamp(120px, 13vw, 230px) !important;
}

.dfl-why-copy {
  text-shadow: 0 8px 34px rgba(0,0,0,.20) !important;
}

.dfl-why-section .dfl-value-item,
.dfl-why-proof-row div {
  backdrop-filter: blur(12px) !important;
}

@media (max-width: 1199px) {
  .dfl-why-visual {
    left: auto !important;
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dfl-why-visual img,
  .dfl-visual-hud,
  .dfl-parallax-rings,
  .dfl-why-visual::after {
    transform: none !important;
    transition: none !important;
  }
}

/* =========================================================================
   Replace disliked parallax with calm integrated motion
   ========================================================================= */
.dfl-why-visual {
  --dfl-parallax-x: 0px !important;
  --dfl-parallax-y: 0px !important;
  --dfl-parallax-foreground-y: 0px !important;
  --dfl-parallax-ring: 0px !important;
  --dfl-parallax-glow: .30 !important;
}

.dfl-why-visual img {
  animation: dflImageBreath 18s ease-in-out infinite !important;
  height: calc(100% + 80px) !important;
  top: -40px !important;
  transform: scale(1.055) !important;
}

.dfl-parallax-rings {
  display: none !important;
}

.dfl-why-visual::after {
  animation: dflSoftOpsSweep 12s ease-in-out infinite !important;
  background:
    linear-gradient(108deg, transparent 0%, transparent 45%, rgba(126,205,255,.15) 51%, rgba(223,31,38,.08) 54%, transparent 64%, transparent 100%),
    radial-gradient(circle at 62% 44%, rgba(126,205,255,.12), transparent 20%) !important;
  background-size: 240% 100%, auto !important;
  opacity: .34 !important;
  transform: none !important;
}

.dfl-visual-hud {
  transform: none !important;
}

@keyframes dflImageBreath {
  0%, 100% {
    transform: scale(1.045);
    filter: saturate(1.12) contrast(1.06) brightness(1.08);
  }
  50% {
    transform: scale(1.075);
    filter: saturate(1.18) contrast(1.08) brightness(1.13);
  }
}

@keyframes dflSoftOpsSweep {
  0%, 18% {
    background-position: -150% 0, 0 0;
    opacity: .20;
  }
  50% {
    opacity: .42;
  }
  82%, 100% {
    background-position: 150% 0, 0 0;
    opacity: .24;
  }
}

/* Fixed artistic navbar */
.dfl-navbar.navbar.mega {
  backdrop-filter: blur(18px) saturate(1.16) !important;
  background:
    linear-gradient(90deg, rgba(7,22,50,.94), rgba(12,34,66,.88)) !important;
  border-bottom: 1px solid rgba(185,216,255,.14) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.18) !important;
  left: 0 !important;
  position: fixed !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 9999 !important;
}

html.page-home .dfl-hero {
  padding-top: 104px !important;
}

@media (max-width: 1199px) {
  html.page-home .dfl-hero {
    padding-top: 82px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dfl-why-visual img,
  .dfl-why-visual::after {
    animation: none !important;
  }
}

/* Strong image-only parallax for Why DFL */
.dfl-why-visual {
  --dfl-why-parallax-x: 0px;
  --dfl-why-parallax-y: 0px;
  --dfl-why-parallax-scale: 1.12;
  overflow: hidden !important;
}

.dfl-why-visual img {
  animation: none !important;
  height: calc(100% + 260px) !important;
  top: -130px !important;
  transform: translate3d(var(--dfl-why-parallax-x), var(--dfl-why-parallax-y), 0) scale(var(--dfl-why-parallax-scale)) !important;
  transition: transform .06s linear !important;
  will-change: transform !important;
}

.dfl-why-visual::before {
  pointer-events: none !important;
}

@media (max-width: 1199px) {
  .dfl-why-visual img {
    height: calc(100% + 170px) !important;
    top: -85px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dfl-why-visual img {
    transform: scale(1.06) !important;
    transition: none !important;
  }
}

/* =========================================================================
   Final homepage + About stabilization
   ========================================================================= */

/* Replace the failed scroll parallax with a blended, non-boxy operations image. */
html.page-home .dfl-why-section {
  background:
    linear-gradient(180deg, #0d1f3b 0%, #102a4d 46%, #f5f7fa 100%) !important;
  min-height: auto !important;
  overflow: hidden !important;
  padding: clamp(86px, 8vw, 128px) 0 clamp(92px, 8vw, 132px) !important;
}

html.page-home .dfl-why-section::before,
html.page-home .dfl-why-section::after {
  display: none !important;
}

html.page-home .dfl-why-layout {
  min-height: clamp(660px, 62vw, 840px) !important;
}

html.page-home .dfl-why-copy {
  max-width: 720px !important;
  position: relative !important;
  z-index: 5 !important;
}

html.page-home .dfl-why-copy::before,
html.page-home .dfl-why-copy::after {
  display: none !important;
}

html.page-home .dfl-why-copy .dfl-section-heading h2 {
  font-size: clamp(42px, 5.1vw, 76px) !important;
  letter-spacing: -0.055em !important;
  max-width: 700px !important;
}

html.page-home .dfl-why-copy .dfl-section-heading p:not(.dfl-kicker),
html.page-home .dfl-value-item p,
html.page-home .dfl-why-proof-row span {
  color: rgba(255,255,255,.80) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
}

html.page-home .dfl-why-section .dfl-value-grid {
  gap: 18px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 28px !important;
}

html.page-home .dfl-why-section .dfl-value-item {
  background: rgba(255,255,255,.055) !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 48px rgba(0,0,0,.16) !important;
  min-height: 168px !important;
  padding: 26px !important;
}

html.page-home .dfl-why-section .dfl-value-item::after {
  background: linear-gradient(90deg, var(--dfl-red), rgba(126,205,255,.56), transparent) !important;
  bottom: 0 !important;
  display: block !important;
  height: 2px !important;
  left: 22px !important;
  opacity: .66 !important;
  right: 22px !important;
}

html.page-home .dfl-why-section .dfl-value-item h3 {
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
}

html.page-home .dfl-why-proof-row {
  gap: 12px !important;
  margin-top: 18px !important;
}

html.page-home .dfl-why-proof-row div {
  background: rgba(255,255,255,.075) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  min-height: 84px !important;
  padding: 18px 20px !important;
}

html.page-home .dfl-why-proof-row strong {
  color: #fff !important;
  font-size: 20px !important;
}

html.page-home .dfl-why-contact-card {
  background: linear-gradient(100deg, #df1f26 0%, #b9181e 56%, #102a4d 100%) !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: 0 26px 70px rgba(223,31,38,.22) !important;
  margin-top: 18px !important;
  padding: 24px 28px !important;
}

html.page-home .dfl-why-contact-card .dfl-kicker,
html.page-home .dfl-why-contact-card h3 {
  color: #fff !important;
}

html.page-home .dfl-why-contact-card .dfl-btn {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--dfl-red-dark) !important;
}

html.page-home .dfl-why-visual {
  --dfl-why-parallax-x: 0px !important;
  --dfl-why-parallax-y: 0px !important;
  --dfl-why-parallax-scale: 1 !important;
  bottom: 0 !important;
  height: 100% !important;
  left: 40% !important;
  opacity: 1 !important;
  overflow: hidden !important;
  right: 0 !important;
  top: 0 !important;
  width: 60vw !important;
  z-index: 1 !important;
}

html.page-home .dfl-why-visual img {
  animation: dflOperationsDrift 28s ease-in-out infinite !important;
  filter: saturate(1.12) contrast(1.05) brightness(1.08) !important;
  height: 100% !important;
  left: 0 !important;
  object-fit: cover !important;
  object-position: 60% center !important;
  opacity: .98 !important;
  top: 0 !important;
  transform: scale(1.035) !important;
  transition: none !important;
  width: 100% !important;
}

html.page-home .dfl-why-visual::before {
  background:
    linear-gradient(90deg, #0d1f3b 0%, rgba(13,31,59,.92) 12%, rgba(13,31,59,.58) 32%, rgba(13,31,59,.13) 62%, rgba(13,31,59,.24) 100%),
    linear-gradient(180deg, #0d1f3b 0%, rgba(13,31,59,0) 18%, rgba(13,31,59,0) 74%, #f5f7fa 100%),
    radial-gradient(circle at 68% 52%, rgba(88,166,255,.20), transparent 28%) !important;
  inset: 0 !important;
  opacity: 1 !important;
  z-index: 2 !important;
}

html.page-home .dfl-why-visual::after {
  animation: dflOpsSignal 14s ease-in-out infinite !important;
  background:
    radial-gradient(circle at 58% 38%, rgba(126,205,255,.36) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 58%, rgba(223,31,38,.30) 0 2px, transparent 3px),
    linear-gradient(115deg, transparent 0%, transparent 42%, rgba(126,205,255,.13) 50%, transparent 60%, transparent 100%) !important;
  background-size: auto, auto, 220% 100% !important;
  inset: 0 !important;
  mix-blend-mode: screen !important;
  opacity: .38 !important;
  transform: none !important;
  z-index: 3 !important;
}

html.page-home .dfl-visual-hud {
  display: none !important;
}

@keyframes dflOperationsDrift {
  0%, 100% {
    transform: scale(1.035) translate3d(0, 0, 0);
  }
  50% {
    transform: scale(1.065) translate3d(-18px, -8px, 0);
  }
}

@keyframes dflOpsSignal {
  0%, 100% {
    background-position: 0 0, 0 0, -120% 0;
    opacity: .24;
  }
  48% {
    background-position: 0 0, 0 0, 120% 0;
    opacity: .44;
  }
}

@media (max-width: 1199px) {
  html.page-home .dfl-why-layout {
    min-height: auto !important;
  }

  html.page-home .dfl-why-visual {
    height: 420px !important;
    left: auto !important;
    margin-top: 34px !important;
    position: relative !important;
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  html.page-home .dfl-why-section .dfl-value-grid,
  html.page-home .dfl-why-proof-row {
    grid-template-columns: 1fr !important;
  }

  html.page-home .dfl-why-contact-card {
    align-items: stretch !important;
  }
}

/* About page: bring old content into the same visual language. */
html.page-about body {
  background: #f5f7fa !important;
}

html.page-about .page-title {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.86) 44%, rgba(7,22,50,.62) 100%),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  margin-top: 104px !important;
  min-height: 330px !important;
  padding: 112px 0 78px !important;
}

html.page-about .page-title h1 {
  color: #fff !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.055em !important;
}

html.page-about .our-company {
  background: linear-gradient(180deg, #f5f7fa 0%, #fff 100%) !important;
  padding: clamp(76px, 7vw, 112px) 0 !important;
}

html.page-about .our-company .row {
  align-items: center !important;
  display: grid !important;
  gap: clamp(34px, 5vw, 78px) !important;
  grid-template-columns: minmax(360px, .92fr) minmax(420px, 1.08fr) !important;
}

html.page-about .our-company [class*="col-"] {
  max-width: none !important;
  width: 100% !important;
}

html.page-about .our-company .carousel {
  border-radius: 24px !important;
  box-shadow: 0 28px 80px rgba(7,22,50,.16) !important;
  overflow: hidden !important;
}

html.page-about .our-company .carousel img {
  aspect-ratio: 16 / 10 !important;
  height: auto !important;
  object-fit: cover !important;
  width: 100% !important;
}

html.page-about .our-company .carousel-indicators {
  display: none !important;
}

html.page-about .custom-heading,
html.page-about .part-heading,
html.page-about .section-heading {
  margin: 0 0 22px !important;
  padding: 0 !important;
  text-align: left !important;
}

html.page-about .custom-heading::before,
html.page-about .custom-heading::after,
html.page-about .three-slashes::before,
html.page-about .three-slashes::after {
  display: none !important;
}

html.page-about .custom-heading h1,
html.page-about .custom-heading h2 {
  color: var(--dfl-navy) !important;
  font-size: clamp(34px, 4vw, 58px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.04 !important;
  text-transform: none !important;
}

html.page-about .description p {
  color: rgba(23,35,51,.82) !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
}

html.page-about .dfl-about-vm {
  background:
    radial-gradient(circle at 15% 0%, rgba(223,31,38,.14), transparent 32%),
    linear-gradient(180deg, #0d1e3a 0%, #102a4d 100%) !important;
  padding: clamp(78px, 7vw, 118px) 0 !important;
}

html.page-about .dfl-about-vm .custom-heading {
  text-align: center !important;
}

html.page-about .dfl-about-vm .custom-heading h1 {
  color: #fff !important;
}

html.page-about .dfl-vm-grid {
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 34px !important;
}

html.page-about .dfl-vm-card {
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.20) !important;
  min-height: 260px !important;
  padding: clamp(28px, 3vw, 42px) !important;
}

html.page-about .dfl-card-kicker {
  color: #fff !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  margin-bottom: 18px !important;
  text-transform: uppercase !important;
}

html.page-about .dfl-vm-card p {
  color: rgba(255,255,255,.82) !important;
  font-size: 16px !important;
  font-style: normal !important;
  line-height: 1.8 !important;
}

html.page-about .dfl-about-values {
  background: #f5f7fa !important;
  padding: clamp(78px, 7vw, 116px) 0 !important;
}

html.page-about .dfl-about-values-grid {
  display: grid !important;
  gap: 30px !important;
  grid-template-columns: minmax(360px, .96fr) minmax(420px, 1.04fr) !important;
}

html.page-about .dfl-about-card {
  background: #fff !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 72px rgba(7,22,50,.08) !important;
  padding: clamp(28px, 3vw, 42px) !important;
}

html.page-about .dfl-about-card p,
html.page-about .dfl-check-list li,
html.page-about .dfl-core-card p {
  color: rgba(23,35,51,.78) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

html.page-about .dfl-check-list {
  display: grid !important;
  gap: 12px !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

html.page-about .dfl-check-list li {
  align-items: center !important;
  background: #f7f9fc !important;
  border: 1px solid #e1e9f2 !important;
  border-radius: 14px !important;
  display: flex !important;
  gap: 12px !important;
  list-style: none !important;
  padding: 14px 16px !important;
}

html.page-about .dfl-check-list i,
html.page-about .dfl-core-icon {
  color: var(--dfl-red) !important;
}

html.page-about .dfl-core-grid {
  display: grid !important;
  gap: 14px !important;
}

html.page-about .dfl-core-card {
  background: #f7f9fc !important;
  border: 1px solid #e1e9f2 !important;
  border-radius: 16px !important;
  padding: 20px !important;
}

html.page-about .dfl-core-card h3 {
  color: var(--dfl-navy) !important;
  font-size: 20px !important;
  margin: 0 0 8px !important;
}

html.page-about .advisory {
  background:
    linear-gradient(100deg, rgba(7,22,50,.98), rgba(13,30,58,.92)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  padding: clamp(42px, 5vw, 70px) 0 !important;
}

html.page-about .advisory .row {
  align-items: center !important;
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: 1fr auto !important;
}

html.page-about .advisory [class*="col-"] {
  max-width: none !important;
  width: auto !important;
}

html.page-about .advisory h2 {
  color: #fff !important;
  font-size: clamp(28px, 3.2vw, 46px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  margin: 0 !important;
}

html.page-about .advisory .btn {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #fff !important;
  min-height: 56px !important;
  padding: 0 26px !important;
}

@media (max-width: 991px) {
  html.page-about .our-company .row,
  html.page-about .dfl-vm-grid,
  html.page-about .dfl-about-values-grid,
  html.page-about .advisory .row {
    grid-template-columns: 1fr !important;
  }

  html.page-about .page-title {
    margin-top: 82px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.page-home .dfl-why-visual img,
  html.page-home .dfl-why-visual::after {
    animation: none !important;
  }
}

/* =========================================================================
   About page emergency polish + sticky nav correction
   ========================================================================= */

.dfl-navbar.navbar.mega {
  position: sticky !important;
  top: 0 !important;
}

html.page-home .dfl-hero {
  padding-top: 0 !important;
}

html.page-about,
html.page-about body,
html.page-about #page,
html.page-about .site {
  background: #f5f7fa !important;
  min-width: 100% !important;
  width: 100% !important;
}

html.page-about .container,
html.page-about .dfl-container {
  max-width: 1320px !important;
  width: min(calc(100% - 96px), 1320px) !important;
}

html.page-about .page-title.dfl-about-hero {
  align-items: center !important;
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.88) 42%, rgba(7,22,50,.62) 100%),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  display: flex !important;
  margin-top: 0 !important;
  min-height: clamp(300px, 34vw, 460px) !important;
  padding: clamp(78px, 8vw, 126px) 0 !important;
}

html.page-about .page-title.dfl-about-hero .container {
  position: relative !important;
  z-index: 2 !important;
}

html.page-about .page-title.dfl-about-hero h1 {
  font-size: clamp(54px, 6.2vw, 94px) !important;
  letter-spacing: -0.065em !important;
  line-height: .98 !important;
  margin: 0 0 18px !important;
  max-width: 780px !important;
}

html.page-about .page-title.dfl-about-hero .breadcrumb {
  font-size: 15px !important;
  opacity: .9 !important;
}

html.page-about .our-company.dfl-about-intro {
  background: #f5f7fa !important;
  padding: clamp(82px, 8vw, 132px) 0 !important;
}

html.page-about .dfl-about-intro-grid {
  align-items: center !important;
  display: grid !important;
  gap: clamp(42px, 6vw, 86px) !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr) !important;
}

html.page-about .dfl-about-intro-copy {
  background: #fff !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 84px rgba(7,22,50,.10) !important;
  padding: clamp(36px, 4vw, 58px) !important;
}

html.page-about .dfl-about-intro-copy .custom-heading {
  margin-bottom: 22px !important;
}

html.page-about .dfl-about-intro-copy .dfl-kicker {
  color: var(--dfl-red) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  margin: 0 0 14px !important;
  text-transform: uppercase !important;
}

html.page-about .dfl-about-intro-copy h2 {
  color: var(--dfl-navy) !important;
  font-size: clamp(36px, 4.2vw, 64px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.06em !important;
  line-height: 1.02 !important;
  max-width: 760px !important;
  text-transform: none !important;
}

html.page-about .dfl-about-intro-copy .description p {
  color: rgba(23,35,51,.82) !important;
  font-size: 17px !important;
  line-height: 1.86 !important;
  margin-bottom: 18px !important;
}

html.page-about .dfl-about-highlights {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 26px !important;
}

html.page-about .dfl-about-highlights span {
  background: #eef3f8 !important;
  border: 1px solid #dce7f1 !important;
  border-radius: 999px !important;
  color: var(--dfl-navy-3) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 10px 14px !important;
}

html.page-about .dfl-about-intro-media {
  border-radius: 32px !important;
  box-shadow: 0 34px 100px rgba(7,22,50,.18) !important;
  min-height: clamp(440px, 44vw, 620px) !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-about .dfl-about-intro-media img {
  height: 100% !important;
  inset: 0 !important;
  object-fit: cover !important;
  object-position: 62% center !important;
  position: absolute !important;
  transform: scale(1.04) !important;
  width: 100% !important;
}

html.page-about .dfl-about-intro-media::before {
  background:
    linear-gradient(180deg, rgba(7,22,50,.04), rgba(7,22,50,.82)),
    linear-gradient(90deg, rgba(7,22,50,.06), rgba(7,22,50,.32)) !important;
  content: "" !important;
  inset: 0 !important;
  position: absolute !important;
  z-index: 1 !important;
}

html.page-about .dfl-about-media-caption {
  background: rgba(7,22,50,.76) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 18px !important;
  bottom: 24px !important;
  color: #fff !important;
  left: 24px !important;
  padding: 20px 22px !important;
  position: absolute !important;
  right: 24px !important;
  z-index: 2 !important;
}

html.page-about .dfl-about-media-caption strong {
  display: block !important;
  font-size: 24px !important;
  letter-spacing: -0.03em !important;
}

html.page-about .dfl-about-media-caption span {
  color: rgba(255,255,255,.74) !important;
  display: block !important;
  font-size: 14px !important;
  margin-top: 4px !important;
}

html.page-about .dfl-about-vm {
  background:
    radial-gradient(circle at 88% 0%, rgba(223,31,38,.16), transparent 34%),
    linear-gradient(180deg, #0d1e3a 0%, #102a4d 100%) !important;
  padding: clamp(84px, 8vw, 126px) 0 !important;
}

html.page-about .dfl-about-vm .custom-heading {
  margin-bottom: 34px !important;
  text-align: center !important;
}

html.page-about .dfl-about-vm .custom-heading h1 {
  color: #fff !important;
  font-size: clamp(42px, 5vw, 72px) !important;
}

html.page-about .dfl-vm-grid {
  gap: 28px !important;
}

html.page-about .dfl-vm-card {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 24px !important;
  min-height: 300px !important;
  padding: clamp(32px, 4vw, 52px) !important;
}

html.page-about .dfl-vm-card p {
  font-size: 17px !important;
}

html.page-about .dfl-about-values {
  padding: clamp(84px, 8vw, 130px) 0 !important;
}

html.page-about .dfl-about-values-grid {
  gap: 34px !important;
}

html.page-about .dfl-about-card {
  border-radius: 28px !important;
  padding: clamp(34px, 4vw, 54px) !important;
}

html.page-about .dfl-about-card .custom-heading h2 {
  font-size: clamp(34px, 3.3vw, 54px) !important;
}

html.page-about .dfl-check-list li {
  min-height: 54px !important;
}

html.page-about .dfl-core-card {
  padding: 24px !important;
}

html.page-about .advisory {
  background:
    linear-gradient(100deg, rgba(7,22,50,.98), rgba(13,30,58,.9)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  padding: clamp(50px, 5vw, 82px) 0 !important;
}

html.page-about .advisory h2 {
  max-width: 920px !important;
}

@media (max-width: 991px) {
  html.page-about .container,
  html.page-about .dfl-container {
    width: min(calc(100% - 40px), 1320px) !important;
  }

  html.page-about .dfl-about-intro-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-about .dfl-about-intro-media {
    min-height: 420px !important;
  }
}

/* =========================================================================
   Subpage unification pass
   ========================================================================= */

:root {
  --dfl-container: 1320px;
  --dfl-gutter: clamp(24px, 5vw, 72px);
  --radius-card: 20px;
  --radius-btn: 10px;
}

html,
body {
  margin: 0 !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  padding: 0 !important;
  width: 100% !important;
}

body > *,
.site,
.site-wrapper,
.page-wrapper,
.main-wrapper,
.wrapper,
.dfl-page,
#page {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.container,
.dfl-container,
.page-title .container,
.page-header .container,
.page-banner .container,
.dfl-page-hero .container,
.site-footer .container,
.dfl-footer .container,
.advisory .container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--dfl-container) !important;
  width: min(calc(100% - (var(--dfl-gutter) * 2)), var(--dfl-container)) !important;
}

.page-title,
.page-header,
.page-banner,
.dfl-page-hero,
.subpage-hero,
.inner-hero,
.dfl-section,
.advisory,
.dfl-tracking-cta,
.site-footer,
.dfl-footer,
.copyright,
.dfl-copyright {
  max-width: none !important;
  width: 100% !important;
}

html:not(.page-home) body {
  background: var(--dfl-offwhite) !important;
  color: var(--dfl-text) !important;
}

html:not(.page-home) .dfl-navbar.navbar.mega {
  background: rgba(7,22,50,.96) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 16px 44px rgba(0,0,0,.20) !important;
  min-height: 88px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}

html:not(.page-home) .dfl-navbar .nav-link {
  font-size: 15px !important;
}

html:not(.page-home) .dfl-navbar .dfl-brand img {
  max-height: 70px !important;
}

html:not(.page-home) .page-title,
html:not(.page-home) .page-header,
html:not(.page-home) .page-banner,
html:not(.page-home) .dfl-page-hero,
html:not(.page-home) .subpage-hero,
html:not(.page-home) .inner-hero {
  align-items: center !important;
  background:
    linear-gradient(90deg, rgba(7,22,50,.97), rgba(7,22,50,.80)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  color: #fff !important;
  display: flex !important;
  min-height: clamp(300px, 30vw, 420px) !important;
  overflow: hidden !important;
  padding: clamp(82px, 8vw, 120px) 0 !important;
  position: relative !important;
}

html:not(.page-home) .page-title::before,
html:not(.page-home) .page-title::after,
html:not(.page-home) .page-header::before,
html:not(.page-home) .page-header::after,
html:not(.page-home) .page-banner::before,
html:not(.page-home) .page-banner::after,
html:not(.page-home) .echo-title,
html:not(.page-home) .bg-title,
html:not(.page-home) .ghost-title,
html:not(.page-home) .title-breadcrumb::before,
html:not(.page-home) .title-breadcrumb::after,
html:not(.page-home) .breadcrumb-wrapper::before,
html:not(.page-home) .breadcrumb-wrapper::after {
  content: none !important;
  display: none !important;
}

html:not(.page-home) .page-title h1,
html:not(.page-home) .page-header h1,
html:not(.page-home) .page-banner h1,
html:not(.page-home) .dfl-page-hero h1,
html:not(.page-home) .entry-title {
  color: #fff !important;
  font-family: var(--font-main) !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.055em !important;
  line-height: 1.04 !important;
  margin: 0 0 20px !important;
}

html:not(.page-home) .breadcrumb,
html:not(.page-home) .breadcrumbs,
html:not(.page-home) .page-title .breadcrumb,
html:not(.page-home) .page-header .breadcrumb {
  background: transparent !important;
  color: rgba(255,255,255,.72) !important;
  font-family: var(--font-main) !important;
  font-size: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html:not(.page-home) .breadcrumb a,
html:not(.page-home) .breadcrumbs a {
  color: rgba(255,255,255,.82) !important;
  text-decoration: none !important;
}

html:not(.page-home) .custom-heading h1,
html:not(.page-home) .custom-heading h2,
html:not(.page-home) .section-heading h1,
html:not(.page-home) .section-heading h2 {
  font-family: var(--font-main) !important;
  font-weight: 850 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}

html:not(.page-home) .custom-heading::before,
html:not(.page-home) .custom-heading::after,
html:not(.page-home) .three-slashes::before,
html:not(.page-home) .three-slashes::after,
html:not(.page-home) .part-heading::before,
html:not(.page-home) .part-heading::after {
  display: none !important;
}

/* About page */
html.page-about .our-company.dfl-about-intro,
html.page-about .dfl-about-values {
  background: #f5f7fa !important;
}

html.page-about .dfl-about-intro-grid,
html.page-about .dfl-about-values-grid {
  align-items: stretch !important;
  gap: clamp(32px, 5vw, 58px) !important;
}

html.page-about .dfl-about-intro-copy,
html.page-about .dfl-about-card {
  box-shadow: 0 24px 74px rgba(7,22,50,.10) !important;
}

html.page-about .dfl-about-intro-media {
  min-height: clamp(480px, 42vw, 640px) !important;
}

html.page-about .dfl-about-vm {
  background:
    radial-gradient(circle at 88% 8%, rgba(223,31,38,.18), transparent 34%),
    linear-gradient(180deg, #071632 0%, #102a4d 100%) !important;
}

html.page-about .dfl-vm-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.page-about .dfl-about-values-grid {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
}

/* Leadership & Charities */
html.page-about #leadership.our-company,
html.page-about #charities.info-news {
  background: var(--dfl-offwhite) !important;
  padding: clamp(88px, 8vw, 118px) 0 !important;
}

html.page-about #leadership .row {
  align-items: center !important;
  display: grid !important;
  gap: clamp(34px, 5vw, 62px) !important;
  grid-template-columns: minmax(360px, .88fr) minmax(0, 1.12fr) !important;
}

html.page-about #leadership [class*="col-"],
html.page-about #charities [class*="col-"] {
  max-width: none !important;
  width: 100% !important;
}

html.page-about #leadership img {
  aspect-ratio: 4 / 5 !important;
  border: 0 !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 80px rgba(7,22,50,.16) !important;
  height: auto !important;
  object-fit: cover !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-about #leadership .col-lg-7,
html.page-about #charities .highlight-part {
  background: #fff !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 74px rgba(7,22,50,.10) !important;
  padding: clamp(34px, 4vw, 58px) !important;
}

html.page-about #leadership .description p,
html.page-about #charities .highlight-part p {
  color: rgba(23,35,51,.80) !important;
  font-size: 18px !important;
  line-height: 1.85 !important;
}

html.page-about #charities .custom-heading h2 {
  font-size: clamp(38px, 4.4vw, 64px) !important;
}

html.page-about #charities .highlight-part {
  margin-top: 26px !important;
}

/* Team pages */
html.page-team section {
  background: var(--dfl-offwhite) !important;
  padding: clamp(82px, 8vw, 118px) 0 !important;
}

html.page-team #director .ui-quote,
html.page-team #director > div {
  background: #fff !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 28px !important;
  box-shadow: 0 26px 80px rgba(7,22,50,.10) !important;
  padding: clamp(34px, 4vw, 56px) !important;
}

html.page-team #director .row {
  align-items: center !important;
  display: grid !important;
  gap: clamp(34px, 5vw, 62px) !important;
  grid-template-columns: minmax(340px, .9fr) minmax(0, 1.1fr) !important;
}

html.page-team #director [class*="col-"] {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  transform: none !important;
  width: 100% !important;
}

html.page-team #director img {
  border: 0 !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 64px rgba(7,22,50,.14) !important;
  max-height: 620px !important;
  object-fit: cover !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-team #director p,
html.page-team .about-sub-heading {
  color: rgba(23,35,51,.80) !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
}

html.page-team .our-member {
  background: #fff !important;
}

html.page-team .members-grid .row {
  row-gap: 32px !important;
}

html.page-team .members-grid .col-lg-4 {
  margin-bottom: 32px !important;
}

html.page-team .members-grid .col-lg-4 img {
  border-radius: 20px !important;
  box-shadow: 0 18px 50px rgba(7,22,50,.12) !important;
  cursor: pointer !important;
  object-fit: cover !important;
  width: 100% !important;
}

html.page-team .dfl-team-fallback {
  background: #fff !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 24px !important;
  box-shadow: 0 22px 64px rgba(7,22,50,.10) !important;
  margin-inline: auto !important;
  max-width: 760px !important;
  padding: 44px !important;
}

/* Contact page */
html.page-contact .dfl-map-wrap {
  background: #fff !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 84px rgba(7,22,50,.12) !important;
  height: clamp(340px, 34vw, 440px) !important;
  margin: clamp(72px, 7vw, 102px) auto 0 !important;
  max-width: var(--dfl-container) !important;
  overflow: hidden !important;
  width: min(calc(100% - (var(--dfl-gutter) * 2)), var(--dfl-container)) !important;
}

html.page-contact .dfl-map-wrap iframe {
  border: 0 !important;
  height: 100% !important;
  width: 100% !important;
}

html.page-contact .info-contact.contact-page {
  background: var(--dfl-offwhite) !important;
  padding: clamp(54px, 6vw, 92px) 0 clamp(86px, 8vw, 120px) !important;
}

html.page-contact .info-contact .container > .row {
  align-items: start !important;
  display: grid !important;
  gap: 34px !important;
  grid-template-columns: minmax(300px, .85fr) minmax(520px, 1.15fr) !important;
  margin: 0 !important;
}

html.page-contact .contact-info-card,
html.page-contact .contact-content,
html.page-contact .contact {
  max-width: none !important;
  width: 100% !important;
}

html.page-contact .contact-info-card,
html.page-contact .contact {
  background: #fff !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 68px rgba(7,22,50,.09) !important;
  padding: clamp(32px, 4vw, 46px) !important;
}

html.page-contact .office p {
  align-items: flex-start !important;
  color: rgba(23,35,51,.78) !important;
  display: flex !important;
  font-size: 16px !important;
  gap: 12px !important;
  line-height: 1.7 !important;
}

html.page-contact .office i {
  color: var(--dfl-red) !important;
  margin-top: 6px !important;
}

html.page-contact .contact p {
  color: rgba(23,35,51,.74) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

html.page-contact .contact form {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 24px !important;
}

html.page-contact .contact .form-group {
  margin: 0 !important;
}

html.page-contact .contact .form-message,
html.page-contact .contact .form-submit,
html.page-contact .contact .messages {
  grid-column: 1 / -1 !important;
}

html.page-contact .contact input,
html.page-contact .contact textarea {
  background: #f8fafc !important;
  border: 1px solid #d7e0ea !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  color: var(--dfl-text) !important;
  font-size: 15px !important;
  min-height: 56px !important;
  padding: 15px 16px !important;
  width: 100% !important;
}

html.page-contact .contact textarea {
  min-height: 168px !important;
}

html.page-contact .contact input[type="submit"] {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
  color: #fff !important;
  cursor: pointer !important;
  font-weight: 800 !important;
  padding-inline: 28px !important;
  width: fit-content !important;
}

/* Service pages */
html.page-ground > body,
html.page-ground #page {
  background: var(--dfl-offwhite) !important;
}

html.page-ground .page-title + .container {
  padding: clamp(86px, 8vw, 120px) 0 !important;
}

html.page-ground .page-title + .container > .row {
  align-items: start !important;
  display: grid !important;
  gap: 42px !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  margin: 0 !important;
}

html.page-ground main.col-md-9,
html.page-ground aside.sidebar {
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-ground main.col-md-9 {
  background: #fff !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 74px rgba(7,22,50,.09) !important;
  overflow: hidden !important;
}

html.page-ground main.col-md-9 > section {
  padding: 0 clamp(32px, 4vw, 52px) clamp(24px, 3vw, 42px) !important;
}

html.page-ground main.col-md-9 > section:first-child {
  padding: 0 !important;
}

html.page-ground main.col-md-9 img.img-fluid {
  display: block !important;
  height: clamp(340px, 34vw, 440px) !important;
  object-fit: cover !important;
  width: 100% !important;
}

html.page-ground main.col-md-9 .section-heading {
  margin: clamp(32px, 4vw, 48px) 0 18px !important;
}

html.page-ground main.col-md-9 h2 {
  color: var(--dfl-navy) !important;
  font-size: clamp(34px, 3.8vw, 56px) !important;
}

html.page-ground main.col-md-9 p,
html.page-ground main.col-md-9 li {
  color: rgba(23,35,51,.80) !important;
  font-size: 17px !important;
  line-height: 1.86 !important;
}

html.page-ground .service-brochure,
html.page-ground .highlight-part {
  background: linear-gradient(100deg, #102a4d, #0d1e3a) !important;
  border: 0 !important;
  border-radius: 20px !important;
  color: #fff !important;
  margin: 6px 0 8px !important;
  padding: 26px 30px !important;
}

html.page-ground .service-brochure p,
html.page-ground .highlight-part p {
  color: rgba(255,255,255,.86) !important;
  margin: 0 !important;
}

html.page-ground aside.sidebar .widget {
  background: #fff !important;
  border: 1px solid #dfe7f0 !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 56px rgba(7,22,50,.08) !important;
  margin-bottom: 22px !important;
  padding: 26px !important;
}

html.page-ground .service-icon-list {
  display: grid !important;
  gap: 10px !important;
}

html.page-ground .service-icon-list > div {
  border-radius: 16px !important;
  overflow: hidden !important;
}

html.page-ground .service-icon-list .content {
  background: #f7f9fc !important;
  border: 1px solid #e1e9f2 !important;
  border-radius: 16px !important;
  padding: 14px !important;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}

html.page-ground .service-icon-list > div.active .content,
html.page-ground .service-icon-list > div:hover .content {
  background: var(--dfl-navy) !important;
  border-color: var(--dfl-navy) !important;
  transform: translateY(-1px) !important;
}

html.page-ground .service-icon-list .row {
  align-items: center !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  margin: 0 !important;
}

html.page-ground .service-icon-list [class*="col-"] {
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}

html.page-ground .service-icon-list .type {
  align-items: center !important;
  background: rgba(223,31,38,.10) !important;
  border-radius: 12px !important;
  color: var(--dfl-red) !important;
  display: flex !important;
  height: 42px !important;
  justify-content: center !important;
  width: 42px !important;
}

html.page-ground .service-icon-list h3 {
  font-size: 14px !important;
  line-height: 1.28 !important;
  margin: 0 !important;
}

html.page-ground .service-icon-list h3 a {
  color: var(--dfl-navy) !important;
}

html.page-ground .service-icon-list > div.active h3 a,
html.page-ground .service-icon-list > div:hover h3 a {
  color: #fff !important;
}

html.page-ground aside.sidebar .widget h2 {
  color: var(--dfl-navy) !important;
  font-size: 22px !important;
  margin-bottom: 18px !important;
}

html.page-ground aside.sidebar .office p {
  color: rgba(23,35,51,.78) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

html.page-ground aside.sidebar .office i {
  color: var(--dfl-red) !important;
}

html.page-ground .btn-download {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
  color: #fff !important;
  width: 100% !important;
}

/* Shared CTA/footer */
html:not(.page-home) .advisory {
  background:
    linear-gradient(100deg, rgba(7,22,50,.98), rgba(13,30,58,.90)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  padding: clamp(48px, 5vw, 76px) 0 !important;
}

html:not(.page-home) .advisory .row {
  align-items: center !important;
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: 1fr auto !important;
  margin: 0 !important;
}

html:not(.page-home) .advisory [class*="col-"] {
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}

html:not(.page-home) .advisory h2 {
  color: #fff !important;
  font-size: clamp(28px, 3.2vw, 46px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

html:not(.page-home) .advisory .btn {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  min-height: 56px !important;
  padding: 0 28px !important;
}

html:not(.page-home) .dfl-footer {
  background: #071632 !important;
  padding: clamp(58px, 6vw, 86px) 0 !important;
}

html:not(.page-home) .dfl-footer-grid {
  gap: clamp(28px, 4vw, 62px) !important;
  grid-template-columns: minmax(260px, 1.15fr) repeat(3, minmax(180px, .75fr)) !important;
}

html:not(.page-home) .dfl-footer p,
html:not(.page-home) .dfl-footer a,
html:not(.page-home) .dfl-footer li {
  font-size: 14px !important;
  line-height: 1.75 !important;
}

html:not(.page-home) .dfl-copyright {
  background: #061229 !important;
}

@media (max-width: 1100px) {
  html.page-ground .page-title + .container > .row,
  html.page-contact .info-contact .container > .row,
  html.page-team #director .row,
  html.page-about #leadership .row {
    grid-template-columns: 1fr !important;
  }

  html.page-ground aside.sidebar {
    display: grid !important;
    gap: 20px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .container,
  .dfl-container,
  .page-title .container,
  .site-footer .container,
  .dfl-footer .container,
  .advisory .container,
  html.page-about .container,
  html.page-contact .dfl-map-wrap {
    width: min(calc(100% - 36px), var(--dfl-container)) !important;
  }

  html.page-about .dfl-vm-grid,
  html.page-about .dfl-about-values-grid,
  html:not(.page-home) .advisory .row,
  html:not(.page-home) .dfl-footer-grid,
  html.page-contact .contact form,
  html.page-ground aside.sidebar {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================================
   Final structural rebuild components
   ========================================================================= */

html,
body {
  background: #071632 !important;
  font-family: var(--font-main) !important;
  margin: 0 !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  padding: 0 !important;
  width: 100% !important;
}

body > *,
#page,
.site,
.site-wrapper,
.page-wrapper,
.main-wrapper,
.wrapper,
.dfl-page {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.dfl-container,
.container {
  margin-inline: auto !important;
  max-width: var(--dfl-container) !important;
  width: min(calc(100% - (var(--dfl-gutter) * 2)), var(--dfl-container)) !important;
}

.dfl-page-hero,
.dfl-section,
.dfl-dark-section,
.dfl-light-section,
.dfl-cta,
.advisory,
.dfl-footer,
.site-footer,
.dfl-copyright {
  max-width: none !important;
  width: 100% !important;
}

.dfl-page-hero {
  align-items: center !important;
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.84) 45%, rgba(7,22,50,.55) 100%),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  color: #fff !important;
  display: flex !important;
  min-height: 420px !important;
  overflow: hidden !important;
  position: relative !important;
}

.dfl-page-hero h1 {
  color: #fff !important;
  font-family: var(--font-main) !important;
  font-size: clamp(48px, 6vw, 88px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.065em !important;
  line-height: .95 !important;
  margin: 0 0 24px !important;
  max-width: 900px !important;
}

.dfl-breadcrumb {
  color: rgba(255,255,255,.72) !important;
  font-family: var(--font-main) !important;
  font-size: 15px !important;
}

.dfl-light-section {
  background: var(--dfl-offwhite) !important;
  color: var(--dfl-text) !important;
  padding: 110px 0 !important;
}

.dfl-dark-section {
  background:
    radial-gradient(circle at 88% 0%, rgba(223,31,38,.12), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0d1e3a 100%) !important;
  color: #fff !important;
  padding: 110px 0 !important;
}

.dfl-section-title {
  color: inherit !important;
  font-family: var(--font-main) !important;
  font-size: clamp(38px, 4vw, 64px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.055em !important;
  line-height: 1 !important;
  margin: 0 0 24px !important;
  text-transform: none !important;
}

.dfl-section-kicker,
.dfl-kicker {
  color: var(--dfl-red) !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .14em !important;
  margin: 0 0 16px !important;
  text-transform: uppercase !important;
}

.dfl-card {
  background: #fff !important;
  border: 1px solid rgba(7,22,50,.08) !important;
  border-radius: 24px !important;
  box-shadow: 0 28px 80px rgba(7,22,50,.10) !important;
  padding: clamp(34px, 4vw, 52px) !important;
}

.dfl-dark-card {
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.18) !important;
  color: #fff !important;
  padding: clamp(34px, 4vw, 52px) !important;
}

.dfl-image-card {
  border-radius: 24px !important;
  box-shadow: 0 28px 80px rgba(7,22,50,.14) !important;
  overflow: hidden !important;
}

.dfl-image-card img {
  border: 0 !important;
  display: block !important;
  height: 100% !important;
  min-height: 420px !important;
  object-fit: cover !important;
  padding: 0 !important;
  width: 100% !important;
}

.dfl-btn {
  align-items: center !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  font-family: var(--font-main) !important;
  font-weight: 850 !important;
  gap: 10px !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 26px !important;
  text-decoration: none !important;
}

.dfl-btn-primary {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
  color: #fff !important;
}

.dfl-btn-primary:hover {
  background: var(--dfl-red-dark) !important;
  color: #fff !important;
}

.dfl-about-grid,
.dfl-leadership-grid {
  align-items: center !important;
  display: grid !important;
  gap: 56px !important;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr) !important;
}

.dfl-leadership-grid {
  grid-template-columns: minmax(380px, .9fr) minmax(0, 1.1fr) !important;
}

.dfl-two-card-grid {
  display: grid !important;
  gap: 36px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dfl-about-intro-copy h2 {
  color: var(--dfl-navy) !important;
  font-size: clamp(38px, 4.4vw, 66px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.06em !important;
  line-height: 1.02 !important;
  margin-bottom: 24px !important;
}

.dfl-about-intro-copy p,
.dfl-card p,
.dfl-card li,
.dfl-dark-card p {
  font-size: 17px !important;
  line-height: 1.82 !important;
}

.dfl-card p,
.dfl-card li {
  color: rgba(23,35,51,.80) !important;
}

.dfl-dark-card p {
  color: rgba(255,255,255,.80) !important;
}

.dfl-about-highlights {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 26px !important;
}

.dfl-about-highlights span {
  background: #eef3f8 !important;
  border-radius: 999px !important;
  color: var(--dfl-navy-3) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 10px 14px !important;
}

.dfl-core-grid {
  display: grid !important;
  gap: 16px !important;
}

.dfl-core-card {
  background: #f7f9fc !important;
  border: 1px solid #e1e9f2 !important;
  border-radius: 18px !important;
  padding: 24px !important;
}

.dfl-check-list {
  display: grid !important;
  gap: 12px !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}

.dfl-check-list li {
  align-items: center !important;
  background: #f7f9fc !important;
  border: 1px solid #e1e9f2 !important;
  border-radius: 14px !important;
  display: flex !important;
  gap: 12px !important;
  list-style: none !important;
  padding: 14px 16px !important;
}

.dfl-charity-card {
  max-width: 980px !important;
}

.dfl-director-card {
  align-items: center !important;
  background: #fff !important;
  border: 1px solid rgba(7,22,50,.08) !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 90px rgba(7,22,50,.12) !important;
  padding: clamp(34px, 4vw, 56px) !important;
}

.dfl-director-card > .row {
  align-items: center !important;
  display: grid !important;
  gap: 52px !important;
  grid-template-columns: minmax(380px, .95fr) minmax(0, 1.05fr) !important;
  margin: 0 !important;
}

.dfl-director-card [class*="col-"] {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  transform: none !important;
  width: 100% !important;
}

.dfl-director-card cite,
.dfl-director-card .author {
  color: var(--dfl-navy) !important;
  display: block !important;
  font-family: var(--font-main) !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 800 !important;
  margin-top: 24px !important;
}

.our-member.dfl-dark-section .dfl-section-title,
.our-member.dfl-dark-section .about-sub-heading {
  color: #fff !important;
}

.our-member.dfl-dark-section .about-sub-heading {
  font-size: 17px !important;
  line-height: 1.75 !important;
  margin-inline: auto !important;
  max-width: 850px !important;
  opacity: .78 !important;
}

.dfl-map-card {
  border-radius: 28px !important;
  box-shadow: 0 28px 90px rgba(7,22,50,.14) !important;
  height: 440px !important;
  margin-bottom: 48px !important;
  overflow: hidden !important;
  width: 100% !important;
}

.dfl-map-card iframe {
  border: 0 !important;
  height: 100% !important;
  width: 100% !important;
}

.dfl-contact-grid {
  align-items: start !important;
  display: grid !important;
  gap: 36px !important;
  grid-template-columns: minmax(320px, .85fr) minmax(520px, 1.15fr) !important;
}

.dfl-form-card form {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.dfl-form-card .form-message,
.dfl-form-card .form-submit,
.dfl-form-card .messages {
  grid-column: 1 / -1 !important;
}

.dfl-form-card input,
.dfl-form-card textarea {
  background: #f8fafc !important;
  border: 1px solid #d7e0ea !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  font-size: 15px !important;
  min-height: 56px !important;
  padding: 16px !important;
  width: 100% !important;
}

.dfl-form-card textarea {
  min-height: 170px !important;
}

.dfl-form-card input[type="submit"],
.dfl-form-card button[type="submit"] {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #fff !important;
  font-weight: 850 !important;
  min-height: 54px !important;
  padding: 0 28px !important;
  width: fit-content !important;
}

.dfl-service-layout {
  align-items: start !important;
  display: grid !important;
  gap: 44px !important;
  grid-template-columns: minmax(0, 1fr) 380px !important;
}

.dfl-service-main {
  overflow: hidden !important;
}

.dfl-service-main > section:first-child {
  margin: calc(clamp(34px, 4vw, 52px) * -1) calc(clamp(34px, 4vw, 52px) * -1) 36px !important;
}

.dfl-service-main img {
  border-radius: 0 !important;
  display: block !important;
  height: 460px !important;
  margin: 0 !important;
  object-fit: cover !important;
  width: 100% !important;
}

.dfl-service-main h2 {
  color: var(--dfl-navy) !important;
  font-size: clamp(36px, 4vw, 60px) !important;
}

.dfl-service-sidebar {
  display: grid !important;
  gap: 22px !important;
}

.dfl-service-nav,
.dfl-sidebar-card {
  background: #fff !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: 22px !important;
  box-shadow: 0 20px 60px rgba(7,22,50,.08) !important;
  padding: 22px !important;
}

.dfl-service-nav {
  display: grid !important;
  gap: 10px !important;
}

.dfl-service-nav > div .content {
  background: #f8fafc !important;
  border-radius: 14px !important;
  min-height: 54px !important;
  padding: 12px 14px !important;
}

.dfl-service-nav > div.active .content,
.dfl-service-nav > div:hover .content {
  background: var(--dfl-red) !important;
}

.dfl-service-nav .row {
  align-items: center !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  margin: 0 !important;
}

.dfl-service-nav [class*="col-"] {
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}

.dfl-service-nav .type {
  color: var(--dfl-red) !important;
  line-height: 1 !important;
}

.dfl-service-nav h3 {
  font-size: 14px !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

.dfl-service-nav h3 a {
  color: var(--dfl-text) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.dfl-service-nav > div.active .type,
.dfl-service-nav > div:hover .type,
.dfl-service-nav > div.active h3 a,
.dfl-service-nav > div:hover h3 a {
  color: #fff !important;
}

.dfl-sidebar-card h2 {
  color: var(--dfl-navy) !important;
  font-size: 24px !important;
}

.dfl-sidebar-card .office p {
  color: rgba(23,35,51,.78) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.dfl-sidebar-card .office i {
  color: var(--dfl-red) !important;
}

.advisory {
  background:
    linear-gradient(100deg, rgba(7,22,50,.98), rgba(13,30,58,.90)),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
}

.advisory .container > .row {
  align-items: center !important;
  display: grid !important;
  gap: 28px !important;
  grid-template-columns: 1fr auto !important;
  margin: 0 !important;
}

.advisory [class*="col-"] {
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}

.advisory h2 {
  color: #fff !important;
  font-size: clamp(28px, 3.4vw, 48px) !important;
  font-weight: 850 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.08 !important;
}

.dfl-footer {
  background: #071632 !important;
}

@media (max-width: 1000px) {
  .dfl-about-grid,
  .dfl-two-card-grid,
  .dfl-leadership-grid,
  .dfl-director-card > .row,
  .dfl-contact-grid,
  .dfl-service-layout,
  .advisory .container > .row {
    grid-template-columns: 1fr !important;
  }

  .dfl-page-hero {
    min-height: 340px !important;
  }

  .dfl-service-main img,
  .dfl-image-card img {
    min-height: 320px !important;
    height: 360px !important;
  }
}

@media (max-width: 700px) {
  :root {
    --dfl-gutter: 22px;
  }

  .dfl-light-section,
  .dfl-dark-section {
    padding: 74px 0 !important;
  }

  .dfl-card,
  .dfl-dark-card,
  .dfl-director-card {
    padding: 28px !important;
  }

  .dfl-form-card form {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================================
   About page navy-first final polish
   ========================================================================= */

/* Hide Google Translate's injected white side panels/iframes. */
html body {
  top: 0 !important;
}

body > .skiptranslate,
.skiptranslate,
.goog-te-banner-frame,
.goog-te-menu-frame,
.goog-te-balloon-frame,
.goog-tooltip,
#goog-gt-tt,
#google_translate_element,
iframe.skiptranslate,
iframe[src*="translate.google"],
body > iframe:not([src*="google.com/maps"]) {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  width: 0 !important;
}

html.page-about,
html.page-about body,
html.page-about #page,
html.page-about .site {
  background: #071632 !important;
  min-width: 100vw !important;
  overflow-x: hidden !important;
  width: 100vw !important;
}

html.page-about .dfl-navbar.navbar.mega,
html.page-about .dfl-page-hero,
html.page-about .dfl-about-intro,
html.page-about .dfl-about-vm,
html.page-about .dfl-about-values,
html.page-about .advisory,
html.page-about .dfl-footer,
html.page-about .dfl-copyright {
  min-width: 100vw !important;
  width: 100vw !important;
}

html.page-about .dfl-page-hero {
  background:
    linear-gradient(90deg, rgba(7,22,50,.99) 0%, rgba(7,22,50,.88) 43%, rgba(7,22,50,.58) 100%),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  min-height: clamp(360px, 35vw, 480px) !important;
}

html.page-about .dfl-page-hero h1 {
  font-size: clamp(54px, 6.4vw, 92px) !important;
}

html.page-about .dfl-about-dark-band,
html.page-about .dfl-about-vm {
  background:
    radial-gradient(circle at 15% 8%, rgba(223,31,38,.10), transparent 30%),
    radial-gradient(circle at 90% 12%, rgba(102,171,255,.10), transparent 34%),
    linear-gradient(180deg, #071632 0%, #0d1e3a 54%, #102a4d 100%) !important;
  color: #fff !important;
  padding: clamp(92px, 8vw, 130px) 0 !important;
}

html.page-about .dfl-about-intro {
  padding-top: clamp(104px, 9vw, 148px) !important;
}

html.page-about .dfl-about-grid {
  align-items: center !important;
  display: grid !important;
  gap: clamp(42px, 6vw, 78px) !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(440px, .92fr) !important;
}

html.page-about .dfl-about-intro-copy,
html.page-about .dfl-about-card,
html.page-about .dfl-vm-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 28px !important;
  box-shadow: 0 30px 92px rgba(0,0,0,.22) !important;
  color: #fff !important;
}

html.page-about .dfl-about-intro-copy {
  padding: clamp(38px, 4.4vw, 62px) !important;
}

html.page-about .dfl-about-intro-copy h2,
html.page-about .dfl-about-card .dfl-section-title,
html.page-about .dfl-about-vm .dfl-section-title {
  color: #fff !important;
}

html.page-about .dfl-about-intro-copy h2 {
  font-size: clamp(42px, 4.8vw, 72px) !important;
  letter-spacing: -0.065em !important;
  max-width: 780px !important;
}

html.page-about .dfl-about-intro-copy p,
html.page-about .dfl-about-card p,
html.page-about .dfl-about-card li,
html.page-about .dfl-vm-card p {
  color: rgba(255,255,255,.80) !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
}

html.page-about .dfl-about-intro-media {
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 34px 100px rgba(0,0,0,.30) !important;
  min-height: clamp(500px, 45vw, 660px) !important;
}

html.page-about .dfl-about-intro-media img {
  filter: saturate(1.12) contrast(1.08) brightness(.95) !important;
  min-height: 100% !important;
  object-position: 62% center !important;
}

html.page-about .dfl-about-media-caption {
  background: rgba(7,22,50,.78) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  backdrop-filter: blur(14px) !important;
}

html.page-about .dfl-about-highlights span {
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: rgba(255,255,255,.84) !important;
}

html.page-about .dfl-about-vm {
  background:
    linear-gradient(180deg, #0d1e3a 0%, #071632 100%) !important;
}

html.page-about .dfl-about-vm .dfl-container {
  display: grid !important;
  gap: 34px !important;
}

html.page-about .dfl-about-vm .dfl-section-title {
  margin-inline: auto !important;
  max-width: 900px !important;
  text-align: center !important;
}

html.page-about .dfl-vm-grid {
  gap: 30px !important;
}

html.page-about .dfl-vm-card {
  min-height: 320px !important;
  padding: clamp(34px, 4vw, 54px) !important;
  position: relative !important;
  overflow: hidden !important;
}

html.page-about .dfl-vm-card::before {
  background: linear-gradient(90deg, var(--dfl-red), rgba(126,205,255,.45), transparent) !important;
  content: "" !important;
  height: 3px !important;
  left: 34px !important;
  position: absolute !important;
  right: 34px !important;
  top: 0 !important;
}

html.page-about .dfl-card-kicker {
  color: #fff !important;
}

html.page-about .dfl-about-values {
  padding-top: clamp(96px, 8vw, 136px) !important;
}

html.page-about .dfl-about-values-grid {
  align-items: start !important;
  gap: clamp(30px, 4.5vw, 52px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

html.page-about .dfl-about-card {
  min-height: 640px !important;
  padding: clamp(34px, 4vw, 56px) !important;
}

html.page-about .dfl-check-list {
  gap: 14px !important;
}

html.page-about .dfl-check-list li {
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 16px !important;
  padding: 16px 18px !important;
}

html.page-about .dfl-check-list i {
  color: var(--dfl-red) !important;
  flex: 0 0 auto !important;
}

html.page-about .dfl-core-grid {
  gap: 16px !important;
}

html.page-about .dfl-core-card {
  align-items: flex-start !important;
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  display: grid !important;
  gap: 8px 16px !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  padding: 24px !important;
}

html.page-about .dfl-core-icon {
  align-items: center !important;
  background: rgba(223,31,38,.16) !important;
  border: 1px solid rgba(223,31,38,.32) !important;
  border-radius: 14px !important;
  color: var(--dfl-red) !important;
  display: flex !important;
  grid-row: 1 / span 2 !important;
  height: 48px !important;
  justify-content: center !important;
  position: static !important;
  transform: none !important;
  width: 48px !important;
}

html.page-about .dfl-core-card h3 {
  color: #fff !important;
  font-size: 20px !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  text-transform: none !important;
}

html.page-about .dfl-core-card p {
  color: rgba(255,255,255,.78) !important;
  font-size: 16px !important;
  grid-column: 2 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

html.page-about .advisory {
  border-top: 1px solid rgba(255,255,255,.10) !important;
}

@media (max-width: 1000px) {
  html.page-about,
  html.page-about body,
  html.page-about #page,
  html.page-about .site {
    width: 100% !important;
    min-width: 0 !important;
  }

  html.page-about .dfl-navbar.navbar.mega,
  html.page-about .dfl-page-hero,
  html.page-about .dfl-about-intro,
  html.page-about .dfl-about-vm,
  html.page-about .dfl-about-values,
  html.page-about .advisory,
  html.page-about .dfl-footer,
  html.page-about .dfl-copyright {
    min-width: 0 !important;
    width: 100% !important;
  }

  html.page-about .dfl-about-grid,
  html.page-about .dfl-about-values-grid,
  html.page-about .dfl-vm-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-about .dfl-about-card {
    min-height: auto !important;
  }
}

/* =========================================================================
   About page size/alignment final pass
   ========================================================================= */

html.page-about .dfl-page-hero {
  min-height: clamp(230px, 22vw, 310px) !important;
  padding: clamp(54px, 6vw, 84px) 0 !important;
}

html.page-about .dfl-page-hero h1 {
  font-size: clamp(42px, 4.6vw, 68px) !important;
  margin-bottom: 12px !important;
}

html.page-about .dfl-breadcrumb {
  font-size: 14px !important;
}

html.page-about .dfl-about-intro {
  padding: clamp(76px, 7vw, 104px) 0 !important;
}

html.page-about .dfl-about-grid {
  align-items: stretch !important;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .88fr) !important;
}

html.page-about .dfl-about-intro-copy,
html.page-about .dfl-about-intro-media {
  min-height: 620px !important;
}

html.page-about .dfl-about-intro-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

html.page-about .dfl-about-intro-media img {
  height: 100% !important;
  min-height: 620px !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.04) !important;
}

html.page-about .dfl-about-vm {
  padding: clamp(76px, 7vw, 104px) 0 !important;
}

html.page-about .dfl-vm-grid {
  align-items: stretch !important;
}

html.page-about .dfl-vm-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 390px !important;
}

html.page-about .dfl-about-values {
  padding: clamp(76px, 7vw, 108px) 0 !important;
}

html.page-about .dfl-about-values-grid {
  align-items: stretch !important;
}

html.page-about .dfl-about-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 720px !important;
}

html.page-about .dfl-about-card .content,
html.page-about .dfl-core-grid {
  flex: 1 1 auto !important;
}

html.page-about .dfl-check-list {
  grid-template-rows: repeat(8, minmax(58px, 1fr)) !important;
}

html.page-about .dfl-check-list li {
  min-height: 58px !important;
}

html.page-about .dfl-core-grid {
  display: grid !important;
  grid-template-rows: repeat(3, 1fr) !important;
}

html.page-about .dfl-core-card {
  min-height: 160px !important;
}

@media (max-width: 1000px) {
  html.page-about .dfl-about-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-about .dfl-about-intro-copy,
  html.page-about .dfl-about-intro-media,
  html.page-about .dfl-about-intro-media img {
    min-height: auto !important;
  }

  html.page-about .dfl-about-intro-media img {
    height: 360px !important;
  }

  html.page-about .dfl-vm-card,
  html.page-about .dfl-about-card {
    min-height: auto !important;
  }
}

/* =========================================================================
   About intro editorial/high-tech treatment
   ========================================================================= */

html.page-about .dfl-about-intro {
  overflow: hidden !important;
  position: relative !important;
}

html.page-about .dfl-about-intro::before {
  background:
    radial-gradient(circle at 18% 30%, rgba(223,31,38,.12), transparent 26%),
    linear-gradient(rgba(126,205,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.055) 1px, transparent 1px) !important;
  background-size: auto, 64px 64px, 64px 64px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .42 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-about .dfl-about-intro .dfl-container {
  position: relative !important;
  z-index: 2 !important;
}

html.page-about .dfl-about-grid {
  grid-template-columns: minmax(0, .92fr) minmax(500px, 1.08fr) !important;
}

html.page-about .dfl-about-intro-copy {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 620px !important;
  padding: 0 !important;
}

html.page-about .dfl-about-intro-copy .custom-heading {
  margin-bottom: 28px !important;
}

html.page-about .dfl-about-intro-copy h2 {
  font-size: clamp(48px, 5.4vw, 82px) !important;
  max-width: 780px !important;
}

html.page-about .dfl-about-intro-copy .description {
  border-left: 3px solid rgba(223,31,38,.72) !important;
  max-width: 760px !important;
  padding-left: 26px !important;
}

html.page-about .dfl-about-intro-copy .description p {
  color: rgba(255,255,255,.78) !important;
  font-size: 18px !important;
  line-height: 1.85 !important;
}

html.page-about .dfl-about-highlights {
  margin-top: 32px !important;
}

html.page-about .dfl-about-highlights span {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

html.page-about .dfl-about-intro-media {
  background: #0d1e3a !important;
  border-radius: 34px !important;
  min-height: 660px !important;
  transform: translateY(18px) !important;
}

html.page-about .dfl-about-intro-media::before {
  background:
    linear-gradient(180deg, rgba(7,22,50,.08), rgba(7,22,50,.72)),
    radial-gradient(circle at 65% 45%, rgba(126,205,255,.20), transparent 34%) !important;
}

html.page-about .dfl-about-intro-media img {
  filter: saturate(1.08) contrast(1.08) brightness(.9) !important;
  min-height: 660px !important;
  transform: scale(1.08) !important;
}

html.page-about .dfl-about-tech-overlay {
  inset: 0 !important;
  mix-blend-mode: screen !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 3 !important;
}

html.page-about .dfl-about-tech-overlay::before {
  background:
    radial-gradient(circle at 28% 32%, rgba(126,205,255,.72) 0 3px, transparent 4px),
    radial-gradient(circle at 74% 58%, rgba(223,31,38,.62) 0 3px, transparent 4px),
    linear-gradient(110deg, transparent 0%, transparent 42%, rgba(126,205,255,.16) 50%, transparent 60%, transparent 100%) !important;
  background-size: auto, auto, 220% 100% !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .42 !important;
  position: absolute !important;
}

html.page-about .dfl-about-tech-overlay span {
  border: 1px solid rgba(126,205,255,.28) !important;
  border-radius: 999px !important;
  box-shadow: 0 0 34px rgba(126,205,255,.12) !important;
  position: absolute !important;
}

html.page-about .dfl-about-tech-overlay span:nth-child(1) {
  height: 210px !important;
  left: 16% !important;
  top: 22% !important;
  width: 210px !important;
}

html.page-about .dfl-about-tech-overlay span:nth-child(2) {
  border-color: rgba(223,31,38,.28) !important;
  height: 150px !important;
  right: 12% !important;
  top: 48% !important;
  width: 150px !important;
}

html.page-about .dfl-about-tech-overlay span:nth-child(3) {
  border-radius: 0 !important;
  border-width: 0 0 1px 0 !important;
  height: 1px !important;
  left: 28% !important;
  top: 38% !important;
  transform: rotate(-18deg) !important;
  width: 42% !important;
}

@media (max-width: 1000px) {
  html.page-about .dfl-about-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-about .dfl-about-intro-copy {
    min-height: auto !important;
  }

  html.page-about .dfl-about-intro-media,
  html.page-about .dfl-about-intro-media img {
    min-height: 420px !important;
  }
}

/* =========================================================================
   About intro image as subtle background, not a card
   ========================================================================= */

html.page-about .dfl-about-intro {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.92) 44%, rgba(7,22,50,.78) 100%),
    url("../images/sliders/555x320/bg_01.jpg") right center / min(58vw, 760px) auto no-repeat,
    linear-gradient(180deg, #071632, #0d1e3a) !important;
  isolation: isolate !important;
  min-height: auto !important;
  padding: clamp(82px, 8vw, 118px) 0 !important;
}

html.page-about .dfl-about-intro::before {
  background:
    linear-gradient(rgba(126,205,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.045) 1px, transparent 1px),
    radial-gradient(circle at 82% 42%, rgba(126,205,255,.13), transparent 28%),
    radial-gradient(circle at 18% 35%, rgba(223,31,38,.10), transparent 26%) !important;
  background-size: 64px 64px, 64px 64px, auto, auto !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .75 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 0 !important;
}

html.page-about .dfl-about-intro::after {
  background:
    linear-gradient(90deg, #071632 0%, rgba(7,22,50,.95) 42%, rgba(7,22,50,.64) 74%, rgba(7,22,50,.82) 100%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 1 !important;
}

html.page-about .dfl-about-intro .dfl-container {
  position: relative !important;
  z-index: 2 !important;
}

html.page-about .dfl-about-grid {
  display: block !important;
  max-width: 1320px !important;
}

html.page-about .dfl-about-intro-copy {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  max-width: 820px !important;
  min-height: 0 !important;
  padding: 0 !important;
}

html.page-about .dfl-about-intro-copy .description {
  background: transparent !important;
  border-left: 3px solid rgba(223,31,38,.72) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-top: 24px !important;
  max-width: 760px !important;
  padding: 0 0 0 26px !important;
}

html.page-about .dfl-about-intro-copy .description p {
  background: transparent !important;
  color: rgba(255,255,255,.80) !important;
  font-size: 17px !important;
  line-height: 1.84 !important;
}

html.page-about .dfl-about-intro-copy h2 {
  max-width: 760px !important;
}

html.page-about .dfl-about-intro-media {
  display: none !important;
}

html.page-about .dfl-about-highlights {
  margin-top: 30px !important;
}

@media (max-width: 900px) {
  html.page-about .dfl-about-intro {
    background:
      linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.90)),
      url("../images/sliders/555x320/bg_01.jpg") center bottom / cover no-repeat,
      linear-gradient(180deg, #071632, #0d1e3a) !important;
  }

  html.page-about .dfl-about-intro::after {
    background: rgba(7,22,50,.86) !important;
  }
}

/* =========================================================================
   Final responsive stabilization pass
   Keeps the whole site fluid and prevents the homepage Why image from
   fighting earlier experimental/parallax rules.
   ========================================================================= */

*,
*::before,
*::after {
  box-sizing: border-box !important;
}

html,
body {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body > *,
#page,
.site,
.site-wrapper,
.page-wrapper,
.main-wrapper,
.wrapper,
.dfl-page {
  max-width: none !important;
  min-width: 0 !important;
  width: 100% !important;
}

img,
video,
canvas,
svg,
iframe {
  max-width: 100% !important;
}

:root {
  --dfl-container: 1320px;
  --dfl-gutter: clamp(22px, 5vw, 72px);
}

.container,
.dfl-container,
.dfl-navbar .dfl-nav-container {
  margin-inline: auto !important;
  max-width: var(--dfl-container) !important;
  min-width: 0 !important;
  width: min(calc(100% - (var(--dfl-gutter) * 2)), var(--dfl-container)) !important;
}

.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

[class*="col-"] {
  min-width: 0 !important;
}

html.page-about,
html.page-about body,
html.page-about #page,
html.page-about .site,
html.page-about .dfl-navbar.navbar.mega,
html.page-about .dfl-page-hero,
html.page-about .dfl-about-intro,
html.page-about .dfl-about-vm,
html.page-about .dfl-about-values,
html.page-about .advisory,
html.page-about .dfl-footer,
html.page-about .dfl-copyright {
  max-width: none !important;
  width: 100% !important;
}

html.page-about .dfl-about-vm,
html.page-about .dfl-about-values {
  overflow: hidden !important;
}

html.page-about .dfl-about-grid,
html.page-about .dfl-vm-grid,
html.page-about .dfl-about-values-grid {
  min-width: 0 !important;
}

html.page-about .dfl-about-card,
html.page-about .dfl-vm-card,
html.page-about .dfl-core-card,
html.page-about .dfl-check-list li {
  min-width: 0 !important;
}

html.page-home .dfl-why-section {
  background:
    linear-gradient(180deg, #0d1f3b 0%, #102a4d 68%, #0a1830 100%) !important;
  isolation: isolate !important;
  min-height: auto !important;
  overflow: hidden !important;
  padding: clamp(82px, 8vw, 124px) 0 !important;
  position: relative !important;
}

html.page-home .dfl-why-section::before {
  background:
    radial-gradient(circle at 20% 28%, rgba(223,31,38,.12), transparent 28%),
    radial-gradient(circle at 72% 36%, rgba(96,160,220,.15), transparent 32%),
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px) !important;
  background-size: auto, auto, 72px 72px, 72px 72px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .8 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 0 !important;
}

html.page-home .dfl-why-section > .container {
  position: relative !important;
  z-index: 2 !important;
}

html.page-home .dfl-why-layout {
  display: block !important;
  min-height: clamp(660px, 56vw, 800px) !important;
  position: relative !important;
}

html.page-home .dfl-why-copy {
  max-width: 710px !important;
  min-width: 0 !important;
  padding: 0 !important;
  position: relative !important;
  width: min(100%, 710px) !important;
  z-index: 3 !important;
}

html.page-home .dfl-why-copy::before,
html.page-home .dfl-why-copy::after {
  display: none !important;
}

html.page-home .dfl-why-copy .dfl-section-heading h2 {
  font-size: clamp(42px, 4.7vw, 72px) !important;
  max-width: 700px !important;
}

html.page-home .dfl-why-copy .dfl-section-heading p:not(.dfl-kicker) {
  color: rgba(255,255,255,.82) !important;
  font-size: clamp(16px, 1.4vw, 19px) !important;
  line-height: 1.72 !important;
  max-width: 650px !important;
}

html.page-home .dfl-why-section .dfl-value-grid {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 34px !important;
  max-width: 700px !important;
}

html.page-home .dfl-why-section .dfl-value-item {
  min-height: 150px !important;
  padding: 24px !important;
}

html.page-home .dfl-why-section .dfl-value-item h3 {
  font-size: 17px !important;
  line-height: 1.22 !important;
}

html.page-home .dfl-why-section .dfl-value-item p {
  color: rgba(226,236,247,.84) !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
}

html.page-home .dfl-why-proof-row {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 700px !important;
}

html.page-home .dfl-why-contact-card {
  align-items: center !important;
  display: flex !important;
  gap: 22px !important;
  justify-content: space-between !important;
  margin-top: 22px !important;
  max-width: 700px !important;
  min-width: 0 !important;
  padding: 26px 30px !important;
}

html.page-home .dfl-why-contact-card h3 {
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.1 !important;
}

html.page-home .dfl-why-visual {
  border: 0 !important;
  border-radius: 0 !important;
  bottom: 0 !important;
  box-shadow: none !important;
  height: 100% !important;
  left: auto !important;
  margin: 0 !important;
  opacity: 1 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  right: calc(var(--dfl-gutter) * -1) !important;
  top: 0 !important;
  transform: none !important;
  width: min(58vw, 880px) !important;
  z-index: 1 !important;
}

html.page-home .dfl-why-visual img {
  animation: none !important;
  display: block !important;
  filter: saturate(1.1) contrast(1.08) brightness(1.03) !important;
  height: 100% !important;
  inset: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: 67% center !important;
  opacity: .82 !important;
  position: absolute !important;
  transform: none !important;
  width: 100% !important;
}

html.page-home .dfl-why-visual::before {
  background:
    linear-gradient(90deg, #0d1f3b 0%, rgba(13,31,59,.97) 18%, rgba(13,31,59,.68) 48%, rgba(13,31,59,.26) 100%),
    linear-gradient(180deg, rgba(13,31,59,.18) 0%, #0a1830 100%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 2 !important;
}

html.page-home .dfl-why-visual::after,
html.page-home .dfl-visual-hud {
  display: none !important;
}

@media (max-width: 1180px) {
  html.page-home .dfl-why-layout {
    min-height: auto !important;
  }

  html.page-home .dfl-why-copy,
  html.page-home .dfl-why-section .dfl-value-grid,
  html.page-home .dfl-why-proof-row,
  html.page-home .dfl-why-contact-card {
    max-width: none !important;
    width: 100% !important;
  }

  html.page-home .dfl-why-visual {
    border-radius: 28px !important;
    height: clamp(320px, 46vw, 460px) !important;
    margin-top: 38px !important;
    position: relative !important;
    right: auto !important;
    width: 100% !important;
  }

  html.page-home .dfl-why-visual::before {
    background:
      linear-gradient(180deg, rgba(13,31,59,.14), rgba(13,31,59,.70)),
      linear-gradient(90deg, rgba(13,31,59,.58), rgba(13,31,59,.18)) !important;
  }
}

@media (max-width: 900px) {
  :root {
    --dfl-gutter: 20px;
  }

  .container,
  .dfl-container,
  .dfl-navbar .dfl-nav-container {
    width: min(calc(100% - 32px), var(--dfl-container)) !important;
  }

  html.page-home .dfl-why-section .dfl-value-grid,
  html.page-home .dfl-why-proof-row,
  html.page-about .dfl-vm-grid,
  html.page-about .dfl-about-values-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-home .dfl-why-contact-card {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  html.page-home .dfl-why-contact-card .dfl-btn {
    width: 100% !important;
  }

  html.page-about .dfl-about-intro {
    padding: 74px 0 !important;
  }

  html.page-about .dfl-about-intro-copy h2 {
    font-size: clamp(38px, 11vw, 56px) !important;
  }

  html.page-about .dfl-about-intro-copy .description {
    padding-left: 18px !important;
  }
}

@media (max-width: 560px) {
  html.page-home .dfl-why-section {
    padding: 70px 0 !important;
  }

  html.page-home .dfl-why-copy .dfl-section-heading h2 {
    font-size: clamp(34px, 11vw, 48px) !important;
  }

  html.page-home .dfl-why-section .dfl-value-item {
    min-height: 0 !important;
    padding: 20px !important;
  }

  html.page-home .dfl-why-visual {
    height: 280px !important;
  }

  html.page-home .dfl-why-proof-row {
    display: none !important;
  }
}

/* =========================================================================
   Final navbar scaling + reliable sticky behavior
   ========================================================================= */

.dfl-navbar.navbar.mega {
  align-items: center !important;
  background:
    linear-gradient(180deg, rgba(7,22,50,.98), rgba(7,22,50,.94)) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 16px 38px rgba(0,0,0,.18) !important;
  display: block !important;
  left: 0 !important;
  min-height: 88px !important;
  padding: 0 !important;
  position: sticky !important;
  right: 0 !important;
  top: 0 !important;
  width: 100% !important;
  z-index: 10020 !important;
}

.dfl-navbar .dfl-nav-container {
  align-items: center !important;
  display: flex !important;
  gap: clamp(18px, 2.2vw, 36px) !important;
  justify-content: space-between !important;
  min-height: 88px !important;
  width: min(calc(100% - 56px), 1440px) !important;
}

.dfl-navbar .dfl-brand {
  flex: 0 0 auto !important;
}

.dfl-navbar .dfl-brand img {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  width: clamp(92px, 7.2vw, 122px) !important;
}

.dfl-navbar .dfl-main-nav {
  align-items: center !important;
  display: flex !important;
  flex: 1 1 auto !important;
  gap: clamp(14px, 1.55vw, 30px) !important;
  justify-content: center !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

.dfl-navbar .nav-item {
  flex: 0 0 auto !important;
}

.dfl-navbar .nav-link,
html.page-home .dfl-navbar .nav-link,
html:not(.page-home) .dfl-navbar .nav-link {
  font-size: clamp(13px, .86vw, 15px) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  line-height: 1 !important;
  padding: 34px 0 !important;
  white-space: nowrap !important;
}

.dfl-navbar .dfl-nav-cta,
html.page-home .dfl-navbar .dfl-nav-cta {
  flex: 0 0 auto !important;
  font-size: clamp(13px, .86vw, 15px) !important;
  min-height: 54px !important;
  padding: 0 clamp(18px, 1.8vw, 30px) !important;
  white-space: nowrap !important;
}

.dfl-navbar .dfl-dropdown {
  top: calc(100% - 4px) !important;
}

@media (max-width: 1280px) {
  .dfl-navbar .dfl-nav-container {
    gap: 16px !important;
    min-height: 82px !important;
    width: min(calc(100% - 36px), 1240px) !important;
  }

  .dfl-navbar.navbar.mega {
    min-height: 82px !important;
  }

  .dfl-navbar .dfl-brand img {
    width: 88px !important;
  }

  .dfl-navbar .dfl-main-nav {
    gap: 16px !important;
  }

  .dfl-navbar .nav-link,
  html.page-home .dfl-navbar .nav-link,
  html:not(.page-home) .dfl-navbar .nav-link {
    font-size: 12.5px !important;
    padding: 31px 0 !important;
  }

  .dfl-navbar .dfl-nav-cta,
  html.page-home .dfl-navbar .dfl-nav-cta {
    font-size: 12.5px !important;
    min-height: 48px !important;
    padding: 0 18px !important;
  }
}

@media (max-width: 1100px) {
  .dfl-navbar .dfl-main-nav {
    gap: 11px !important;
  }

  .dfl-navbar .nav-link,
  html.page-home .dfl-navbar .nav-link,
  html:not(.page-home) .dfl-navbar .nav-link {
    font-size: 11.5px !important;
  }

  .dfl-navbar .dfl-nav-cta,
  html.page-home .dfl-navbar .dfl-nav-cta {
    min-height: 44px !important;
    padding: 0 14px !important;
  }
}

@media (max-width: 1010px) {
  .dfl-navbar.navbar.mega {
    display: none !important;
  }

  .site-header.style-1 {
    background: rgba(7,22,50,.98) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.20) !important;
    display: block !important;
    left: 0 !important;
    min-height: 72px !important;
    padding: 0 !important;
    position: sticky !important;
    right: 0 !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 10020 !important;
  }

  .site-header.style-1 > .container {
    align-items: center !important;
    display: flex !important;
    min-height: 72px !important;
    width: min(calc(100% - 32px), 960px) !important;
  }

  .site-header.style-1 > .container > .row {
    align-items: center !important;
    display: flex !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  .site-header.style-1 .site-branding {
    flex: 0 0 auto !important;
    padding: 0 !important;
    width: auto !important;
  }

  .site-header.style-1 .site-branding img {
    display: block !important;
    height: auto !important;
    width: 88px !important;
  }

  .site-header.style-1 .site-info,
  .site-header.style-1 .top-menu-bar,
  .site-header.style-1 .contact-bar {
    display: none !important;
  }

  .site-header.style-1 .hidden-lg-up,
  .site-header.style-1 .hidden-xl-up {
    display: flex !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    padding: 0 !important;
    width: auto !important;
  }

  .site-header.style-1 .trigger-menu {
    align-items: center !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 12px !important;
    display: flex !important;
    height: 46px !important;
    justify-content: center !important;
    position: relative !important;
    width: 46px !important;
  }

  .site-header.style-1 .trigger-menu::before,
  .site-header.style-1 .trigger-menu::after {
    background: #fff !important;
    border-radius: 999px !important;
    content: "" !important;
    height: 2px !important;
    left: 13px !important;
    position: absolute !important;
    width: 20px !important;
  }

  .site-header.style-1 .trigger-menu::before {
    top: 17px !important;
    box-shadow: 0 6px 0 #fff !important;
  }

  .site-header.style-1 .trigger-menu::after {
    top: 29px !important;
  }
}

@media (min-width: 1011px) {
  .site-header.style-1 {
    display: none !important;
  }
}

/* =========================================================================
   Why section image prominence + seamless text-side blend
   ========================================================================= */

html.page-home .dfl-why-section {
  background:
    linear-gradient(180deg, #0d1f3b 0%, #10284a 58%, #0a1830 100%) !important;
}

html.page-home .dfl-why-visual {
  right: calc(var(--dfl-gutter) * -1.15) !important;
  width: min(64vw, 980px) !important;
}

html.page-home .dfl-why-visual img {
  filter: saturate(1.2) contrast(1.1) brightness(1.12) !important;
  object-position: 62% center !important;
  opacity: .94 !important;
}

html.page-home .dfl-why-visual::before {
  background:
    linear-gradient(90deg, #0d1f3b 0%, rgba(13,31,59,.98) 22%, rgba(13,31,59,.84) 41%, rgba(13,31,59,.44) 62%, rgba(13,31,59,.18) 100%),
    radial-gradient(circle at 30% 50%, rgba(13,31,59,.88), transparent 34%),
    linear-gradient(180deg, rgba(13,31,59,.04) 0%, #0a1830 100%) !important;
}

@media (max-width: 1180px) {
  html.page-home .dfl-why-visual {
    border-radius: 24px !important;
    right: auto !important;
    width: 100% !important;
  }

  html.page-home .dfl-why-visual img {
    object-position: center center !important;
  }
}

/* =========================================================================
   Final hard fix: persistent nav, seamless Why image, cleaner About intro
   ========================================================================= */

html,
body {
  scroll-padding-top: 92px !important;
}

body {
  padding-top: 88px !important;
}

.dfl-navbar.navbar.mega {
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  background:
    linear-gradient(180deg, rgba(7,22,50,.98), rgba(7,22,50,.91)) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.22) !important;
  left: 0 !important;
  position: fixed !important;
  right: 0 !important;
  top: 0 !important;
  transform: translateZ(0) !important;
  width: 100% !important;
  z-index: 2147483000 !important;
}

.site-header.style-1 {
  z-index: 2147483000 !important;
}

@media (max-width: 1010px) {
  body {
    padding-top: 72px !important;
  }

  html,
  body {
    scroll-padding-top: 76px !important;
  }

  .site-header.style-1 {
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    left: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    transform: translateZ(0) !important;
    width: 100% !important;
  }
}

html.page-home .dfl-why-section {
  background: #0d1f3b !important;
  position: relative !important;
}

html.page-home .dfl-why-section::after {
  display: none !important;
}

html.page-home .dfl-why-layout {
  min-height: clamp(700px, 58vw, 840px) !important;
}

html.page-home .dfl-why-visual {
  border: 0 !important;
  border-radius: 0 !important;
  bottom: 0 !important;
  box-shadow: none !important;
  height: 100% !important;
  inset: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  overflow: hidden !important;
  position: absolute !important;
  right: auto !important;
  top: 0 !important;
  transform: none !important;
  width: 100% !important;
  z-index: 0 !important;
}

html.page-home .dfl-why-visual img {
  filter: saturate(1.18) contrast(1.08) brightness(1.08) !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: 76% center !important;
  opacity: .88 !important;
  transform: none !important;
  width: 100% !important;
}

html.page-home .dfl-why-visual::before {
  background:
    linear-gradient(90deg, #0d1f3b 0%, rgba(13,31,59,.995) 30%, rgba(13,31,59,.92) 46%, rgba(13,31,59,.58) 64%, rgba(13,31,59,.22) 100%),
    linear-gradient(180deg, rgba(13,31,59,.08) 0%, rgba(10,24,48,.22) 54%, #0a1830 100%),
    radial-gradient(circle at 28% 50%, rgba(13,31,59,.96), transparent 36%) !important;
  content: "" !important;
  inset: 0 !important;
  position: absolute !important;
  z-index: 2 !important;
}

html.page-home .dfl-why-section > .container,
html.page-home .dfl-why-copy {
  position: relative !important;
  z-index: 3 !important;
}

@media (max-width: 1180px) {
  html.page-home .dfl-why-layout {
    min-height: auto !important;
  }

  html.page-home .dfl-why-visual {
    border-radius: 0 !important;
    height: 100% !important;
    inset: 0 !important;
    margin: 0 !important;
    position: absolute !important;
  }

  html.page-home .dfl-why-visual img {
    object-position: 70% center !important;
    opacity: .54 !important;
  }

  html.page-home .dfl-why-visual::before {
    background: rgba(13,31,59,.82) !important;
  }
}

html.page-about .dfl-page-hero {
  min-height: 230px !important;
  padding: 72px 0 58px !important;
}

html.page-about .dfl-page-hero h1 {
  font-size: clamp(34px, 4.2vw, 54px) !important;
  letter-spacing: -.04em !important;
  margin-bottom: 12px !important;
}

html.page-about .dfl-about-intro {
  background:
    linear-gradient(90deg, rgba(7,22,50,.99) 0%, rgba(7,22,50,.95) 54%, rgba(7,22,50,.78) 100%),
    url("../images/sliders/555x320/bg_01.jpg") right center / min(52vw, 720px) auto no-repeat,
    linear-gradient(180deg, #071632, #0d1e3a) !important;
  padding: clamp(74px, 7vw, 104px) 0 !important;
}

html.page-about .dfl-about-intro::after {
  background:
    linear-gradient(90deg, #071632 0%, rgba(7,22,50,.98) 45%, rgba(7,22,50,.72) 72%, rgba(7,22,50,.88) 100%) !important;
}

html.page-about .dfl-about-intro-copy {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  max-width: 980px !important;
}

html.page-about .dfl-about-intro-copy h2 {
  font-size: clamp(38px, 4.7vw, 66px) !important;
  line-height: 1.02 !important;
  max-width: 760px !important;
}

html.page-about .dfl-about-intro-copy .description {
  background: linear-gradient(90deg, rgba(255,255,255,.055), rgba(255,255,255,.018)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-left: 3px solid rgba(223,31,38,.82) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  margin-top: 26px !important;
  max-width: 860px !important;
  padding: 24px 28px !important;
}

html.page-about .dfl-about-intro-copy .description p {
  color: rgba(255,255,255,.82) !important;
  font-size: 16px !important;
  line-height: 1.76 !important;
}

html.page-about .dfl-about-highlights span {
  font-size: 13px !important;
  min-height: 42px !important;
  padding: 0 18px !important;
}

html.page-about .dfl-about-vm {
  padding: clamp(76px, 7vw, 104px) 0 !important;
}

html.page-about .dfl-vm-card {
  min-height: 0 !important;
  padding: clamp(28px, 3vw, 40px) !important;
}

@media (max-width: 900px) {
  html.page-about .dfl-page-hero {
    min-height: 190px !important;
    padding: 54px 0 44px !important;
  }

  html.page-about .dfl-about-intro {
    background:
      linear-gradient(rgba(7,22,50,.92), rgba(7,22,50,.92)),
      url("../images/sliders/555x320/bg_01.jpg") center center / cover no-repeat,
      #071632 !important;
  }

  html.page-about .dfl-about-intro-copy .description {
    padding: 20px !important;
  }
}

/* =========================================================================
   About page final polish: compact hero, editorial intro, balanced values
   ========================================================================= */

body {
  padding-top: 76px !important;
}

html,
body {
  scroll-padding-top: 80px !important;
}

.dfl-navbar.navbar.mega {
  min-height: 76px !important;
}

.dfl-navbar .dfl-nav-container {
  min-height: 76px !important;
  width: min(calc(100% - 48px), 1400px) !important;
}

.dfl-navbar .dfl-brand img {
  width: clamp(76px, 5.4vw, 96px) !important;
}

.dfl-navbar .nav-link,
html.page-home .dfl-navbar .nav-link,
html:not(.page-home) .dfl-navbar .nav-link {
  font-size: clamp(12px, .78vw, 14px) !important;
  padding: 29px 0 !important;
}

.dfl-navbar .dfl-nav-cta,
html.page-home .dfl-navbar .dfl-nav-cta {
  min-height: 46px !important;
  padding: 0 22px !important;
}

html.page-about .dfl-page-hero {
  min-height: 168px !important;
  padding: 44px 0 38px !important;
}

html.page-about .dfl-page-hero h1 {
  font-size: clamp(32px, 3.8vw, 48px) !important;
  margin-bottom: 8px !important;
}

html.page-about .dfl-breadcrumb {
  font-size: 13px !important;
}

html.page-about .dfl-about-intro {
  background:
    linear-gradient(90deg, rgba(7,22,50,.995) 0%, rgba(7,22,50,.97) 50%, rgba(7,22,50,.82) 100%),
    url("../images/sliders/555x320/bg_01.jpg") right center / min(48vw, 680px) auto no-repeat,
    #071632 !important;
  padding: clamp(68px, 6.4vw, 96px) 0 !important;
}

html.page-about .dfl-about-intro::before {
  opacity: .38 !important;
}

html.page-about .dfl-about-intro::after {
  background:
    linear-gradient(90deg, #071632 0%, rgba(7,22,50,.99) 48%, rgba(7,22,50,.78) 74%, rgba(7,22,50,.92) 100%) !important;
}

html.page-about .dfl-about-grid {
  display: block !important;
  max-width: none !important;
}

html.page-about .dfl-about-intro-copy {
  align-items: start !important;
  display: grid !important;
  gap: clamp(32px, 5vw, 72px) !important;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr) !important;
  max-width: 1260px !important;
  min-height: 0 !important;
  padding: 0 !important;
}

html.page-about .dfl-about-intro-copy .custom-heading {
  margin: 0 !important;
  max-width: 560px !important;
}

html.page-about .dfl-about-intro-copy h2 {
  font-size: clamp(36px, 4.4vw, 62px) !important;
  line-height: 1.02 !important;
  margin: 0 !important;
  max-width: 590px !important;
}

html.page-about .dfl-about-intro-copy .description {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 38px 0 0 !important;
  max-width: 720px !important;
  padding: 0 !important;
}

html.page-about .dfl-about-intro-copy .description p {
  color: rgba(239,246,255,.82) !important;
  font-size: clamp(15px, 1.15vw, 17px) !important;
  line-height: 1.82 !important;
  margin: 0 0 18px !important;
  text-align: left !important;
}

html.page-about .dfl-about-intro-copy .description p:first-child {
  color: rgba(255,255,255,.90) !important;
  font-size: clamp(16px, 1.25vw, 18px) !important;
}

html.page-about .dfl-about-highlights {
  align-self: start !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  grid-column: 2 !important;
  margin: 8px 0 0 !important;
}

html.page-about .dfl-about-highlights span {
  background: rgba(255,255,255,.075) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.86) !important;
}

html.page-about .dfl-about-values {
  background:
    radial-gradient(circle at 18% 10%, rgba(223,31,38,.10), transparent 28%),
    linear-gradient(180deg, #10284a 0%, #0d1f3b 100%) !important;
  padding: clamp(72px, 7vw, 104px) 0 !important;
}

html.page-about .dfl-about-values-grid {
  align-items: start !important;
  gap: clamp(28px, 4vw, 52px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

html.page-about .dfl-about-card {
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.18) !important;
  color: #fff !important;
  min-height: 0 !important;
  padding: clamp(30px, 3vw, 44px) !important;
}

html.page-about .dfl-about-card .dfl-section-title {
  color: #fff !important;
  font-size: clamp(34px, 3.3vw, 50px) !important;
  margin-bottom: 22px !important;
}

html.page-about .dfl-about-card p {
  color: rgba(239,246,255,.82) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

html.page-about .dfl-check-list {
  display: grid !important;
  gap: 12px !important;
  grid-template-rows: none !important;
  margin-top: 26px !important;
}

html.page-about .dfl-check-list li {
  align-items: center !important;
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  color: rgba(255,255,255,.88) !important;
  display: flex !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  min-height: 52px !important;
  padding: 14px 16px !important;
}

html.page-about .dfl-core-grid {
  display: grid !important;
  gap: 16px !important;
  grid-template-rows: none !important;
}

html.page-about .dfl-core-card {
  align-items: start !important;
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  display: grid !important;
  gap: 0 18px !important;
  grid-template-columns: 48px minmax(0, 1fr) !important;
  min-height: 0 !important;
  padding: 22px !important;
}

html.page-about .dfl-core-icon {
  grid-row: 1 / span 2 !important;
  height: 44px !important;
  margin: 0 !important;
  width: 44px !important;
}

html.page-about .dfl-core-card h3 {
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  margin: 2px 0 8px !important;
  text-transform: none !important;
}

html.page-about .dfl-core-card p {
  color: rgba(239,246,255,.80) !important;
  font-size: 15px !important;
  grid-column: 2 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

@media (max-width: 1100px) {
  html.page-about .dfl-about-intro-copy,
  html.page-about .dfl-about-values-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-about .dfl-about-intro-copy .custom-heading,
  html.page-about .dfl-about-intro-copy .description {
    max-width: 860px !important;
  }

  html.page-about .dfl-about-highlights {
    grid-column: 1 !important;
  }
}

@media (max-width: 900px) {
  body {
    padding-top: 72px !important;
  }

  html.page-about .dfl-page-hero {
    min-height: 142px !important;
    padding: 34px 0 30px !important;
  }

  html.page-about .dfl-about-intro {
    padding: 58px 0 !important;
  }
}

/* =========================================================================
   About page final spacing cleanup: no imagery, tighter editorial rhythm
   ========================================================================= */

html.page-about .dfl-page-hero {
  background:
    linear-gradient(135deg, #071632 0%, #0d1e3a 72%, #102a4d 100%) !important;
  min-height: 138px !important;
  padding: 34px 0 30px !important;
}

html.page-about .dfl-page-hero::before,
html.page-about .dfl-page-hero::after {
  display: none !important;
}

html.page-about .dfl-page-hero h1 {
  font-size: clamp(30px, 3.4vw, 44px) !important;
  line-height: 1 !important;
}

html.page-about .dfl-about-intro {
  background:
    radial-gradient(circle at 18% 20%, rgba(223,31,38,.10), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0b1b34 100%) !important;
  padding: clamp(58px, 5.5vw, 78px) 0 clamp(54px, 5vw, 72px) !important;
}

html.page-about .dfl-about-intro::before {
  background:
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px) !important;
  background-size: 72px 72px, 72px 72px !important;
  opacity: .45 !important;
}

html.page-about .dfl-about-intro::after,
html.page-about .dfl-about-intro-media,
html.page-about .dfl-about-tech-overlay {
  display: none !important;
}

html.page-about .dfl-about-intro-copy {
  align-items: start !important;
  column-gap: clamp(36px, 5vw, 70px) !important;
  display: grid !important;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr) !important;
  max-width: 1240px !important;
  row-gap: 20px !important;
}

html.page-about .dfl-about-intro-copy .custom-heading {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  max-width: 540px !important;
  padding-top: 4px !important;
}

html.page-about .dfl-about-intro-copy h2 {
  font-size: clamp(38px, 4.2vw, 58px) !important;
  letter-spacing: -.055em !important;
  line-height: 1.04 !important;
  max-width: 560px !important;
}

html.page-about .dfl-about-intro-copy .description {
  grid-column: 2 !important;
  margin: 0 !important;
  max-width: 780px !important;
}

html.page-about .dfl-about-intro-copy .description p,
html.page-about .dfl-about-intro-copy .description p:first-child {
  color: rgba(239,246,255,.82) !important;
  font-size: clamp(15px, 1.05vw, 17px) !important;
  line-height: 1.72 !important;
  margin: 0 0 16px !important;
}

html.page-about .dfl-about-highlights {
  align-items: center !important;
  grid-column: 2 !important;
  margin: 4px 0 0 !important;
}

html.page-about .dfl-about-highlights span {
  min-height: 38px !important;
  padding: 0 16px !important;
}

html.page-about .dfl-about-vm {
  padding: clamp(58px, 5.5vw, 78px) 0 !important;
}

html.page-about .dfl-about-vm .dfl-section-title {
  font-size: clamp(32px, 3vw, 46px) !important;
  margin-bottom: 34px !important;
}

html.page-about .dfl-vm-grid {
  gap: 28px !important;
}

html.page-about .dfl-vm-card {
  min-height: 240px !important;
}

html.page-about .dfl-about-values {
  padding: clamp(58px, 5.5vw, 78px) 0 !important;
}

html.page-about .dfl-about-card {
  padding: clamp(28px, 3vw, 38px) !important;
}

html.page-about .dfl-about-card .dfl-section-title {
  font-size: clamp(32px, 3vw, 44px) !important;
}

html.page-about .dfl-core-card {
  padding: 20px !important;
}

@media (max-width: 1100px) {
  html.page-about .dfl-about-intro-copy {
    grid-template-columns: 1fr !important;
    row-gap: 24px !important;
  }

  html.page-about .dfl-about-intro-copy .custom-heading,
  html.page-about .dfl-about-intro-copy .description,
  html.page-about .dfl-about-highlights {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

@media (max-width: 700px) {
  html.page-about .dfl-page-hero {
    min-height: 112px !important;
    padding: 28px 0 24px !important;
  }

  html.page-about .dfl-about-intro,
  html.page-about .dfl-about-vm,
  html.page-about .dfl-about-values {
    padding: 46px 0 !important;
  }

  html.page-about .dfl-about-intro-copy h2 {
    font-size: clamp(34px, 10vw, 46px) !important;
  }

  html.page-about .dfl-core-card {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }
}

/* =========================================================================
   About page top rhythm + chip alignment refinement
   ========================================================================= */

body {
  padding-top: 68px !important;
}

html,
body {
  scroll-padding-top: 72px !important;
}

.dfl-navbar.navbar.mega {
  min-height: 68px !important;
}

.dfl-navbar .dfl-nav-container {
  min-height: 68px !important;
  width: min(calc(100% - 44px), 1400px) !important;
}

.dfl-navbar .dfl-brand img {
  width: clamp(70px, 4.8vw, 84px) !important;
}

.dfl-navbar .nav-link,
html.page-home .dfl-navbar .nav-link,
html:not(.page-home) .dfl-navbar .nav-link {
  font-size: clamp(12px, .74vw, 13.5px) !important;
  padding: 25px 0 !important;
}

.dfl-navbar .dfl-nav-cta,
html.page-home .dfl-navbar .dfl-nav-cta {
  border-radius: 16px !important;
  min-height: 42px !important;
  padding: 0 20px !important;
}

html.page-about .dfl-page-hero {
  background:
    linear-gradient(180deg, #071632 0%, #0a1930 100%) !important;
  min-height: 116px !important;
  padding: 30px 0 26px !important;
}

html.page-about .dfl-page-hero h1 {
  font-size: clamp(30px, 3vw, 40px) !important;
  margin: 0 0 8px !important;
}

html.page-about .dfl-breadcrumb {
  color: rgba(255,255,255,.64) !important;
}

html.page-about .dfl-about-intro {
  background:
    radial-gradient(circle at 14% 18%, rgba(223,31,38,.10), transparent 28%),
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, #0a1930 0%, #0b1b34 100%) !important;
  background-size: auto, 72px 72px, 72px 72px, auto !important;
  padding: clamp(46px, 4.8vw, 66px) 0 clamp(52px, 5vw, 68px) !important;
}

html.page-about .dfl-about-intro::before {
  display: none !important;
}

html.page-about .dfl-about-intro-copy {
  column-gap: clamp(34px, 4.6vw, 64px) !important;
  grid-template-columns: minmax(320px, .74fr) minmax(0, 1.26fr) !important;
  row-gap: 18px !important;
}

html.page-about .dfl-about-intro-copy .custom-heading {
  max-width: 520px !important;
}

html.page-about .dfl-about-intro-copy h2 {
  font-size: clamp(36px, 3.9vw, 54px) !important;
  line-height: 1.045 !important;
}

html.page-about .dfl-about-intro-copy .description {
  max-width: 760px !important;
}

html.page-about .dfl-about-intro-copy .description p,
html.page-about .dfl-about-intro-copy .description p:first-child {
  font-size: clamp(15px, 1vw, 16.5px) !important;
  line-height: 1.68 !important;
  margin-bottom: 14px !important;
}

html.page-about .dfl-about-highlights {
  gap: 12px !important;
  justify-content: flex-start !important;
  margin-top: 6px !important;
}

html.page-about .dfl-about-highlights span {
  align-items: center !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  height: 42px !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-height: 42px !important;
  padding: 0 22px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

@media (max-width: 1100px) {
  html.page-about .dfl-about-intro-copy {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 700px) {
  body {
    padding-top: 64px !important;
  }

  html.page-about .dfl-page-hero {
    min-height: 96px !important;
    padding: 24px 0 22px !important;
  }

  html.page-about .dfl-about-intro {
    padding: 42px 0 48px !important;
  }

  html.page-about .dfl-about-highlights span {
    width: 100% !important;
  }
}

/* =========================================================================
   About page final lift: premium motion, brand promise, richer rhythm
   ========================================================================= */

html.page-about .dfl-about-intro {
  overflow: hidden !important;
}

html.page-about .dfl-about-intro::before {
  animation: dflAboutGridDrift 24s linear infinite !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(223,31,38,.13), transparent 24%),
    radial-gradient(circle at 78% 22%, rgba(96,160,220,.13), transparent 26%),
    linear-gradient(rgba(126,205,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.04) 1px, transparent 1px) !important;
  background-size: auto, auto, 74px 74px, 74px 74px !important;
  content: "" !important;
  display: block !important;
  inset: -74px 0 0 -74px !important;
  opacity: .65 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 0 !important;
}

html.page-about .dfl-about-intro::after {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.88) 48%, rgba(7,22,50,.72) 100%),
    linear-gradient(180deg, transparent 0%, rgba(223,31,38,.08) 100%) !important;
  content: "" !important;
  display: block !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 1 !important;
}

html.page-about .dfl-about-intro .dfl-container {
  position: relative !important;
  z-index: 2 !important;
}

html.page-about .dfl-about-intro-copy .custom-heading {
  position: relative !important;
}

html.page-about .dfl-about-intro-copy .custom-heading::after {
  background: linear-gradient(90deg, var(--dfl-red), rgba(126,205,255,.72), transparent) !important;
  border-radius: 999px !important;
  content: "" !important;
  display: block !important;
  height: 3px !important;
  margin-top: 28px !important;
  max-width: 220px !important;
  width: 44% !important;
}

html.page-about .dfl-about-intro-copy .description {
  position: relative !important;
}

html.page-about .dfl-about-intro-copy .description::before {
  background: rgba(223,31,38,.82) !important;
  border-radius: 999px !important;
  content: "" !important;
  height: 100% !important;
  left: -28px !important;
  max-height: 148px !important;
  position: absolute !important;
  top: 4px !important;
  width: 3px !important;
}

html.page-about .dfl-about-promise {
  align-items: center !important;
  background:
    linear-gradient(135deg, rgba(223,31,38,.18), rgba(255,255,255,.065) 38%, rgba(126,205,255,.08)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 22px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.18) !important;
  display: grid !important;
  gap: 8px !important;
  grid-column: 2 !important;
  margin-top: 14px !important;
  max-width: 760px !important;
  overflow: hidden !important;
  padding: 24px 28px !important;
  position: relative !important;
}

html.page-about .dfl-about-promise::after {
  animation: dflAboutScan 5.8s ease-in-out infinite !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent) !important;
  content: "" !important;
  height: 100% !important;
  left: -45% !important;
  opacity: .55 !important;
  position: absolute !important;
  top: 0 !important;
  transform: skewX(-18deg) !important;
  width: 38% !important;
}

html.page-about .dfl-about-promise span {
  color: #ff4a50 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

html.page-about .dfl-about-promise strong {
  color: #fff !important;
  display: block !important;
  font-size: clamp(18px, 1.45vw, 24px) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  line-height: 1.25 !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-about .dfl-about-vm {
  background:
    radial-gradient(circle at 84% 20%, rgba(96,160,220,.10), transparent 28%),
    linear-gradient(180deg, #0b1b34, #071632) !important;
}

html.page-about .dfl-vm-card,
html.page-about .dfl-about-card,
html.page-about .dfl-core-card,
html.page-about .dfl-check-list li {
  transition: transform .25s ease, border-color .25s ease, background .25s ease !important;
}

html.page-about .dfl-vm-card:hover,
html.page-about .dfl-about-card:hover,
html.page-about .dfl-core-card:hover,
html.page-about .dfl-check-list li:hover {
  border-color: rgba(223,31,38,.34) !important;
  transform: translateY(-3px) !important;
}

@keyframes dflAboutGridDrift {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(74px, 74px, 0);
  }
}

@keyframes dflAboutScan {
  0%, 46% {
    left: -50%;
  }
  72%, 100% {
    left: 118%;
  }
}

@media (max-width: 1100px) {
  html.page-about .dfl-about-promise {
    grid-column: 1 !important;
  }

  html.page-about .dfl-about-intro-copy .description::before {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.page-about .dfl-about-intro::before,
  html.page-about .dfl-about-promise::after {
    animation: none !important;
  }
}

/* =========================================================================
   About intro blank-space collapse
   ========================================================================= */

html.page-about .dfl-about-intro {
  padding: clamp(46px, 4.6vw, 64px) 0 clamp(28px, 3.2vw, 42px) !important;
}

html.page-about .dfl-about-intro-copy {
  align-items: start !important;
  grid-template-areas:
    "heading text"
    "heading chips"
    "heading promise" !important;
  row-gap: 18px !important;
}

html.page-about .dfl-about-intro-copy .custom-heading {
  grid-area: heading !important;
}

html.page-about .dfl-about-intro-copy .description {
  grid-area: text !important;
}

html.page-about .dfl-about-highlights {
  grid-area: chips !important;
  margin: 0 !important;
}

html.page-about .dfl-about-promise {
  grid-area: promise !important;
  margin-top: 8px !important;
  padding: 22px 26px !important;
}

html.page-about .dfl-about-vm {
  padding-top: clamp(42px, 4vw, 58px) !important;
}

html.page-about .dfl-about-vm .dfl-section-title {
  margin-bottom: 28px !important;
}

@media (max-width: 1100px) {
  html.page-about .dfl-about-intro-copy {
    grid-template-areas:
      "heading"
      "text"
      "chips"
      "promise" !important;
  }
}

@media (max-width: 700px) {
  html.page-about .dfl-about-intro {
    padding: 38px 0 34px !important;
  }

  html.page-about .dfl-about-promise {
    padding: 20px !important;
  }
}

/* =========================================================================
   About intro image reintroduced as balanced editorial visual
   ========================================================================= */

html.page-about .dfl-about-intro {
  padding: clamp(46px, 4.6vw, 64px) 0 clamp(44px, 4.4vw, 60px) !important;
}

html.page-about .dfl-about-intro-copy {
  grid-template-areas:
    "heading text"
    "media chips"
    "media promise" !important;
}

html.page-about .dfl-about-heading-media {
  align-self: start !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 24px !important;
  box-shadow: 0 28px 76px rgba(0,0,0,.20) !important;
  display: block !important;
  grid-area: media !important;
  margin-top: 28px !important;
  max-width: 520px !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-about .dfl-about-heading-media::before {
  background:
    linear-gradient(180deg, rgba(7,22,50,.08), rgba(7,22,50,.86)),
    radial-gradient(circle at 82% 24%, rgba(126,205,255,.16), transparent 30%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 1 !important;
}

html.page-about .dfl-about-heading-media img {
  display: block !important;
  filter: saturate(1.08) contrast(1.08) brightness(.86) !important;
  height: clamp(260px, 22vw, 340px) !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: scale(1.03) !important;
  width: 100% !important;
}

html.page-about .dfl-about-heading-media div {
  bottom: 0 !important;
  left: 0 !important;
  padding: 22px 24px !important;
  position: absolute !important;
  right: 0 !important;
  z-index: 2 !important;
}

html.page-about .dfl-about-heading-media span {
  color: #ff4a50 !important;
  display: block !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}

html.page-about .dfl-about-heading-media strong {
  color: #fff !important;
  display: block !important;
  font-size: clamp(17px, 1.35vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: -.025em !important;
  line-height: 1.22 !important;
}

html.page-about .dfl-about-promise {
  align-self: start !important;
  margin-top: 10px !important;
}

html.page-about .dfl-about-vm {
  padding-top: clamp(46px, 4.6vw, 64px) !important;
}

@media (max-width: 1100px) {
  html.page-about .dfl-about-intro-copy {
    grid-template-areas:
      "heading"
      "media"
      "text"
      "chips"
      "promise" !important;
  }

  html.page-about .dfl-about-heading-media,
  html.page-about .dfl-about-promise {
    max-width: 860px !important;
  }
}

@media (max-width: 700px) {
  html.page-about .dfl-about-heading-media {
    margin-top: 18px !important;
  }

  html.page-about .dfl-about-heading-media img {
    height: 240px !important;
  }
}

/* =========================================================================
   About intro structural balance: no repetition, consistent columns
   ========================================================================= */

html.page-about .dfl-about-intro {
  padding: clamp(48px, 4.8vw, 68px) 0 clamp(38px, 4vw, 54px) !important;
}

html.page-about .dfl-about-intro-copy {
  align-items: start !important;
  display: grid !important;
  gap: clamp(44px, 5vw, 76px) !important;
  grid-template-areas: none !important;
  grid-template-columns: minmax(360px, .84fr) minmax(0, 1.16fr) !important;
  max-width: 1320px !important;
}

html.page-about .dfl-about-left,
html.page-about .dfl-about-right {
  min-width: 0 !important;
}

html.page-about .dfl-about-left {
  display: grid !important;
  gap: 30px !important;
}

html.page-about .dfl-about-right {
  display: grid !important;
  gap: 24px !important;
  padding-top: 6px !important;
}

html.page-about .dfl-about-intro-copy .custom-heading,
html.page-about .dfl-about-intro-copy .description,
html.page-about .dfl-about-highlights,
html.page-about .dfl-about-promise {
  grid-area: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

html.page-about .dfl-about-intro-copy .custom-heading {
  max-width: 600px !important;
  padding-top: 0 !important;
}

html.page-about .dfl-about-intro-copy h2 {
  font-size: clamp(38px, 4vw, 58px) !important;
  max-width: 610px !important;
}

html.page-about .dfl-about-heading-media {
  border-radius: 26px !important;
  margin-top: 0 !important;
  max-width: 610px !important;
}

html.page-about .dfl-about-heading-media img {
  height: clamp(250px, 19vw, 320px) !important;
  object-position: center center !important;
}

html.page-about .dfl-about-heading-media div,
html.page-about .dfl-about-heading-media span,
html.page-about .dfl-about-heading-media strong {
  display: none !important;
}

html.page-about .dfl-about-intro-copy .description {
  max-width: 820px !important;
  position: relative !important;
}

html.page-about .dfl-about-intro-copy .description::before {
  left: -30px !important;
  max-height: 138px !important;
}

html.page-about .dfl-about-intro-copy .description p,
html.page-about .dfl-about-intro-copy .description p:first-child {
  font-size: clamp(15px, 1.02vw, 16.5px) !important;
  line-height: 1.66 !important;
  margin-bottom: 15px !important;
}

html.page-about .dfl-about-highlights {
  display: flex !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  margin-top: 0 !important;
}

html.page-about .dfl-about-highlights span {
  height: 40px !important;
  min-height: 40px !important;
}

html.page-about .dfl-about-promise {
  max-width: 820px !important;
  padding: 22px 26px !important;
}

html.page-about .dfl-about-vm {
  padding-top: clamp(42px, 4vw, 56px) !important;
}

@media (max-width: 1100px) {
  html.page-about .dfl-about-intro-copy {
    grid-template-columns: 1fr !important;
  }

  html.page-about .dfl-about-left,
  html.page-about .dfl-about-right,
  html.page-about .dfl-about-heading-media,
  html.page-about .dfl-about-intro-copy .description,
  html.page-about .dfl-about-promise {
    max-width: 860px !important;
  }
}

@media (max-width: 700px) {
  html.page-about .dfl-about-intro-copy {
    gap: 28px !important;
  }

  html.page-about .dfl-about-left,
  html.page-about .dfl-about-right {
    gap: 20px !important;
  }

  html.page-about .dfl-about-heading-media img {
    height: 220px !important;
  }
}

/* Exact Our Company column alignment requested */
html.page-about .dfl-about-intro-copy {
  align-items: flex-start !important;
}

html.page-about .dfl-about-left {
  align-items: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

html.page-about .dfl-about-left .custom-heading {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

html.page-about .dfl-about-heading-media {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  width: 100% !important;
}

html.page-about .dfl-about-heading-media img {
  width: 100% !important;
}

html.page-about .dfl-about-right {
  align-self: flex-start !important;
}

/* Stretch image to balance the right-side copy height */
html.page-about .dfl-about-intro-copy {
  align-items: stretch !important;
}

html.page-about .dfl-about-left {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  height: 100% !important;
}

html.page-about .dfl-about-left .custom-heading,
html.page-about .dfl-about-left .custom-heading h2,
html.page-about .dfl-about-left .custom-heading p,
html.page-about .dfl-about-left .custom-heading::after {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

html.page-about .dfl-about-left .custom-heading::after {
  margin-top: 18px !important;
}

html.page-about .dfl-about-heading-media {
  flex: 1 1 auto !important;
  margin: 0 !important;
  min-height: 0 !important;
}

html.page-about .dfl-about-heading-media img {
  display: block !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  margin: 0 !important;
  min-height: 0 !important;
  object-fit: cover !important;
  padding: 0 !important;
}

html.page-about .dfl-about-right {
  align-self: stretch !important;
}

/* =========================================================================
   About page final polish: bridge into Vision & Mission
   ========================================================================= */

html.page-about .dfl-about-intro {
  position: relative !important;
}

html.page-about .dfl-about-intro .dfl-container::after {
  background:
    linear-gradient(90deg, rgba(223,31,38,.95), rgba(126,205,255,.70), transparent) !important;
  border-radius: 999px !important;
  bottom: -34px !important;
  content: "" !important;
  height: 2px !important;
  left: 0 !important;
  opacity: .75 !important;
  position: absolute !important;
  width: min(420px, 42vw) !important;
}

html.page-about .dfl-about-heading-media {
  box-shadow:
    0 26px 76px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
}

html.page-about .dfl-about-heading-media::after {
  background:
    linear-gradient(90deg, rgba(223,31,38,.85), rgba(126,205,255,.65)) !important;
  bottom: 0 !important;
  content: "" !important;
  height: 3px !important;
  left: 0 !important;
  position: absolute !important;
  right: 0 !important;
  z-index: 3 !important;
}

html.page-about .dfl-about-promise {
  border-color: rgba(255,255,255,.18) !important;
  box-shadow:
    0 26px 70px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

html.page-about .dfl-about-vm {
  background:
    radial-gradient(circle at 18% 0%, rgba(223,31,38,.11), transparent 28%),
    radial-gradient(circle at 78% 18%, rgba(126,205,255,.10), transparent 30%),
    linear-gradient(180deg, #0b1b34 0%, #071632 100%) !important;
  position: relative !important;
}

html.page-about .dfl-about-vm::before {
  background:
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px) !important;
  background-size: 78px 78px, 78px 78px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .48 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-about .dfl-about-vm .dfl-container {
  position: relative !important;
  z-index: 2 !important;
}

html.page-about .dfl-about-vm .dfl-section-title {
  align-items: center !important;
  display: flex !important;
  gap: 18px !important;
  justify-content: center !important;
  text-align: center !important;
}

html.page-about .dfl-about-vm .dfl-section-title::before,
html.page-about .dfl-about-vm .dfl-section-title::after {
  background: linear-gradient(90deg, transparent, rgba(223,31,38,.78)) !important;
  border-radius: 999px !important;
  content: "" !important;
  display: block !important;
  height: 2px !important;
  max-width: 120px !important;
  width: 10vw !important;
}

html.page-about .dfl-about-vm .dfl-section-title::after {
  background: linear-gradient(90deg, rgba(126,205,255,.66), transparent) !important;
}

html.page-about .dfl-vm-grid {
  align-items: stretch !important;
}

html.page-about .dfl-vm-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.045)) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-about .dfl-vm-card::after {
  background: radial-gradient(circle, rgba(126,205,255,.13), transparent 62%) !important;
  content: "" !important;
  height: 180px !important;
  opacity: .75 !important;
  position: absolute !important;
  right: -70px !important;
  top: -70px !important;
  width: 180px !important;
}

html.page-about .dfl-card-kicker {
  color: #ff4a50 !important;
  font-size: 12px !important;
  letter-spacing: .14em !important;
}

html.page-about .dfl-vm-card p {
  color: rgba(239,246,255,.84) !important;
  font-size: 15.5px !important;
  line-height: 1.72 !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-about .dfl-about-values {
  background:
    radial-gradient(circle at 12% 4%, rgba(223,31,38,.10), transparent 28%),
    radial-gradient(circle at 84% 18%, rgba(126,205,255,.10), transparent 30%),
    linear-gradient(180deg, #10284a 0%, #0b1b34 100%) !important;
}

@media (max-width: 700px) {
  html.page-about .dfl-about-vm .dfl-section-title::before,
  html.page-about .dfl-about-vm .dfl-section-title::after {
    display: none !important;
  }
}

/* =========================================================================
   Leadership & Charities page polish
   ========================================================================= */

html.page-leadership-charities .dfl-page-hero {
  background:
    linear-gradient(180deg, #071632 0%, #0a1930 100%) !important;
  min-height: 136px !important;
  padding: 34px 0 30px !important;
}

html.page-leadership-charities .dfl-page-hero::before,
html.page-leadership-charities .dfl-page-hero::after {
  display: none !important;
}

html.page-leadership-charities .dfl-page-hero h1 {
  font-size: clamp(30px, 3.4vw, 46px) !important;
  line-height: 1 !important;
}

html.page-leadership-charities .dfl-leadership-section {
  background:
    radial-gradient(circle at 18% 18%, rgba(223,31,38,.10), transparent 28%),
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, #0a1930 0%, #0b1b34 100%) !important;
  background-size: auto, 74px 74px, 74px 74px, auto !important;
  color: #fff !important;
  overflow: hidden !important;
  padding: clamp(56px, 5.6vw, 84px) 0 !important;
  position: relative !important;
}

html.page-leadership-charities .dfl-leadership-section::before {
  animation: dflAboutGridDrift 28s linear infinite !important;
  background:
    radial-gradient(circle at 82% 20%, rgba(126,205,255,.13), transparent 28%),
    radial-gradient(circle at 12% 74%, rgba(223,31,38,.11), transparent 28%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-leadership-charities .dfl-leadership-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(36px, 5vw, 72px) !important;
  grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr) !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-leadership-charities .dfl-leadership-section .dfl-image-card {
  align-self: stretch !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 28px !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.10) !important;
  min-height: 520px !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-leadership-charities .dfl-leadership-section .dfl-image-card::before {
  background:
    linear-gradient(180deg, rgba(7,22,50,.02), rgba(7,22,50,.70)),
    radial-gradient(circle at 80% 20%, rgba(126,205,255,.16), transparent 32%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 2 !important;
}

html.page-leadership-charities .dfl-leadership-section .dfl-image-card::after {
  background: linear-gradient(90deg, rgba(223,31,38,.88), rgba(126,205,255,.68)) !important;
  bottom: 0 !important;
  content: "" !important;
  height: 3px !important;
  left: 0 !important;
  position: absolute !important;
  right: 0 !important;
  z-index: 3 !important;
}

html.page-leadership-charities .dfl-leadership-section .dfl-image-card img {
  border: 0 !important;
  border-radius: 0 !important;
  display: block !important;
  filter: saturate(1.06) contrast(1.05) brightness(.94) !important;
  height: 100% !important;
  min-height: 520px !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  transform: scale(1.02) !important;
  width: 100% !important;
}

html.page-leadership-charities .dfl-leadership-copy-card {
  align-self: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  padding: 0 !important;
}

html.page-leadership-charities .dfl-leadership-copy-card .dfl-section-kicker {
  color: #ff4a50 !important;
  margin-bottom: 18px !important;
}

html.page-leadership-charities .dfl-leadership-copy-card .dfl-section-title {
  color: #fff !important;
  font-size: clamp(42px, 4.6vw, 68px) !important;
  letter-spacing: -.055em !important;
  line-height: 1.03 !important;
  margin-bottom: 28px !important;
  max-width: 820px !important;
}

html.page-leadership-charities .dfl-leadership-copy-card .description {
  border-left: 3px solid rgba(223,31,38,.82) !important;
  padding-left: 28px !important;
}

html.page-leadership-charities .dfl-leadership-copy-card p {
  color: rgba(239,246,255,.82) !important;
  font-size: clamp(16px, 1.16vw, 18px) !important;
  line-height: 1.78 !important;
  margin-bottom: 18px !important;
  max-width: 820px !important;
}

html.page-leadership-charities .dfl-leadership-copy-card .dfl-btn {
  margin-top: 12px !important;
}

html.page-leadership-charities .dfl-charities-section {
  background:
    radial-gradient(circle at 76% 18%, rgba(223,31,38,.13), transparent 28%),
    radial-gradient(circle at 18% 76%, rgba(126,205,255,.11), transparent 28%),
    linear-gradient(180deg, #0b1b34 0%, #071632 100%) !important;
  overflow: hidden !important;
  padding: clamp(64px, 6vw, 96px) 0 !important;
  position: relative !important;
}

html.page-leadership-charities .dfl-charities-section::before {
  background:
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px) !important;
  background-size: 78px 78px, 78px 78px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .55 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-leadership-charities .dfl-charity-card {
  background:
    linear-gradient(135deg, rgba(223,31,38,.16), rgba(255,255,255,.065) 34%, rgba(126,205,255,.075)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 28px !important;
  box-shadow:
    0 28px 80px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
  margin-inline: auto !important;
  max-width: 1120px !important;
  overflow: hidden !important;
  padding: clamp(34px, 4vw, 56px) !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-leadership-charities .dfl-charity-card::after {
  animation: dflAboutScan 6.4s ease-in-out infinite !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent) !important;
  content: "" !important;
  height: 100% !important;
  left: -46% !important;
  opacity: .5 !important;
  position: absolute !important;
  top: 0 !important;
  transform: skewX(-18deg) !important;
  width: 34% !important;
}

html.page-leadership-charities .dfl-charity-card .dfl-section-kicker {
  color: #ff4a50 !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-leadership-charities .dfl-charity-card .dfl-section-title {
  color: #fff !important;
  font-size: clamp(38px, 4vw, 62px) !important;
  letter-spacing: -.055em !important;
  line-height: 1.03 !important;
  margin-bottom: 24px !important;
  max-width: 900px !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-leadership-charities .dfl-charity-card p {
  color: rgba(239,246,255,.82) !important;
  font-size: clamp(16px, 1.12vw, 18px) !important;
  line-height: 1.78 !important;
  max-width: 920px !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-leadership-charities .dfl-charity-pill-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 28px !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-leadership-charities .dfl-charity-pill-row span {
  align-items: center !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.88) !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  height: 42px !important;
  justify-content: center !important;
  padding: 0 20px !important;
}

html.page-leadership-charities .advisory {
  background:
    linear-gradient(90deg, rgba(7,22,50,.94), rgba(7,22,50,.72)),
    url("images/footer.png") center center / cover no-repeat !important;
}

@media (max-width: 1000px) {
  html.page-leadership-charities .dfl-leadership-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-leadership-charities .dfl-leadership-section .dfl-image-card,
  html.page-leadership-charities .dfl-leadership-section .dfl-image-card img {
    min-height: 420px !important;
  }
}

@media (max-width: 700px) {
  html.page-leadership-charities .dfl-page-hero {
    min-height: 110px !important;
    padding: 26px 0 22px !important;
  }

  html.page-leadership-charities .dfl-leadership-section,
  html.page-leadership-charities .dfl-charities-section {
    padding: 46px 0 !important;
  }

  html.page-leadership-charities .dfl-leadership-copy-card .description {
    border-left: 0 !important;
    padding-left: 0 !important;
  }

  html.page-leadership-charities .dfl-leadership-section .dfl-image-card,
  html.page-leadership-charities .dfl-leadership-section .dfl-image-card img {
    min-height: 320px !important;
  }

  html.page-leadership-charities .dfl-charity-pill-row span {
    width: 100% !important;
  }
}

/* Leadership & Charities: hard dark-page lock
   Keeps this page from inheriting About-page/off-white section rules. */
html.page-leadership-charities,
html.page-leadership-charities body,
html.page-leadership-charities #page,
html.page-leadership-charities .site {
  background: #071632 !important;
}

html.page-leadership-charities .dfl-light-section,
html.page-leadership-charities .dfl-dark-section,
html.page-leadership-charities .dfl-leadership-section,
html.page-leadership-charities .dfl-charities-section {
  background-color: #071632 !important;
  color: #fff !important;
}

html.page-leadership-charities .dfl-leadership-section {
  background:
    radial-gradient(circle at 82% 18%, rgba(126,205,255,.13), transparent 30%),
    radial-gradient(circle at 8% 72%, rgba(223,31,38,.12), transparent 34%),
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  background-size: auto, auto, 74px 74px, 74px 74px, auto !important;
}

html.page-leadership-charities .dfl-charities-section {
  background:
    radial-gradient(circle at 76% 18%, rgba(223,31,38,.13), transparent 28%),
    radial-gradient(circle at 18% 76%, rgba(126,205,255,.11), transparent 28%),
    linear-gradient(180deg, #0b1b34 0%, #071632 100%) !important;
}

/* Leadership & Charities final polish: calm, no motion, no old-template effects */
html.page-leadership-charities *,
html.page-leadership-charities *::before,
html.page-leadership-charities *::after {
  animation: none !important;
}

html.page-leadership-charities .dfl-page-hero {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.84)),
    url("../images/hero/dfl-hero-port-bg.jpg") center right / cover no-repeat !important;
  min-height: 150px !important;
  padding: 42px 0 36px !important;
}

html.page-leadership-charities .dfl-page-hero h1 {
  font-size: clamp(34px, 3.6vw, 52px) !important;
  letter-spacing: -.045em !important;
}

html.page-leadership-charities .dfl-leadership-section {
  background:
    radial-gradient(circle at 85% 20%, rgba(126,205,255,.10), transparent 30%),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  padding: clamp(68px, 6.5vw, 104px) 0 !important;
}

html.page-leadership-charities .dfl-leadership-section::before,
html.page-leadership-charities .dfl-charities-section::before,
html.page-leadership-charities .dfl-charity-card::after {
  display: none !important;
  content: none !important;
}

html.page-leadership-charities .dfl-leadership-grid {
  gap: clamp(42px, 5vw, 76px) !important;
  grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr) !important;
}

html.page-leadership-charities .dfl-leadership-section .dfl-image-card {
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 30px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.24) !important;
  min-height: 560px !important;
}

html.page-leadership-charities .dfl-leadership-section .dfl-image-card img {
  filter: saturate(1.02) contrast(1.04) brightness(.96) !important;
  min-height: 560px !important;
  transform: none !important;
}

html.page-leadership-charities .dfl-leadership-copy-card .dfl-section-title {
  font-size: clamp(42px, 4.2vw, 66px) !important;
  max-width: 900px !important;
}

html.page-leadership-charities .dfl-leadership-copy-card .description {
  background: linear-gradient(90deg, rgba(255,255,255,.055), rgba(255,255,255,.02)) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-left: 4px solid rgba(223,31,38,.92) !important;
  border-radius: 22px !important;
  padding: clamp(24px, 2.6vw, 34px) !important;
}

html.page-leadership-charities .dfl-leadership-copy-card p {
  color: rgba(239,246,255,.88) !important;
  font-size: clamp(16px, 1.12vw, 18px) !important;
}

html.page-leadership-charities .dfl-charities-section {
  background:
    linear-gradient(180deg, #071632 0%, #0b1b34 48%, #071632 100%) !important;
  padding: clamp(68px, 6.5vw, 104px) 0 !important;
}

html.page-leadership-charities .dfl-charity-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.04)),
    radial-gradient(circle at 8% 0%, rgba(223,31,38,.14), transparent 34%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 28px 84px rgba(0,0,0,.20) !important;
  max-width: 1180px !important;
}

html.page-leadership-charities .dfl-charity-pill-row span {
  background: rgba(223,31,38,.12) !important;
  border-color: rgba(223,31,38,.28) !important;
  color: rgba(255,255,255,.92) !important;
}

html.page-leadership-charities .dfl-leadership-final-cta {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96), rgba(13,30,58,.90)),
    url("../images/footer.png") center center / cover no-repeat !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  padding: clamp(42px, 4.4vw, 64px) 0 !important;
}

html.page-leadership-charities .dfl-leadership-final-cta .row {
  align-items: center !important;
  display: flex !important;
}

html.page-leadership-charities .dfl-leadership-final-cta h2 {
  color: #fff !important;
  font-size: clamp(30px, 3.3vw, 48px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
  margin: 8px 0 0 !important;
}

html.page-leadership-charities .dfl-leadership-final-cta .col-md-5 {
  text-align: right !important;
}

html.page-leadership-charities .dfl-leadership-final-cta .btn {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  font-weight: 800 !important;
  min-height: 56px !important;
  padding: 0 28px !important;
  text-transform: none !important;
}

@media (max-width: 1000px) {
  html.page-leadership-charities .dfl-leadership-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  html.page-leadership-charities .dfl-leadership-final-cta .row {
    display: block !important;
  }

  html.page-leadership-charities .dfl-leadership-final-cta .col-md-5 {
    margin-top: 24px !important;
    text-align: left !important;
  }

  html.page-leadership-charities .dfl-leadership-copy-card .description {
    border-left-width: 3px !important;
  }
}

/* =========================================================================
   Our Team page final polish
   ========================================================================= */

html.page-team,
html.page-team body,
html.page-team #page,
html.page-team .site {
  background: #071632 !important;
}

html.page-team .dfl-page-hero {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.86)),
    url("../images/hero/dfl-hero-port-bg.jpg") center right / cover no-repeat !important;
  min-height: 150px !important;
  padding: 42px 0 36px !important;
}

html.page-team .dfl-page-hero::before,
html.page-team .dfl-page-hero::after {
  display: none !important;
}

html.page-team .dfl-page-hero h1 {
  color: #fff !important;
  font-size: clamp(34px, 3.6vw, 52px) !important;
  letter-spacing: -.045em !important;
  line-height: 1 !important;
}

html.page-team .dfl-breadcrumb {
  color: rgba(255,255,255,.70) !important;
}

html.page-team .dfl-team-leadership {
  background:
    radial-gradient(circle at 86% 18%, rgba(126,205,255,.10), transparent 30%),
    radial-gradient(circle at 10% 72%, rgba(223,31,38,.10), transparent 32%),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  padding: clamp(64px, 6vw, 100px) 0 !important;
}

html.page-team .dfl-director-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 30px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.22) !important;
  color: #fff !important;
  padding: clamp(30px, 4vw, 54px) !important;
}

html.page-team .dfl-director-card > .row {
  align-items: center !important;
  display: grid !important;
  gap: clamp(34px, 5vw, 64px) !important;
  grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr) !important;
  margin: 0 !important;
}

html.page-team .dfl-director-card [class*="col-"] {
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  transform: none !important;
  width: 100% !important;
}

html.page-team .dfl-director-card .dfl-image-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 26px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

html.page-team .dfl-director-card img {
  border: 0 !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 72px rgba(0,0,0,.24) !important;
  display: block !important;
  height: clamp(380px, 38vw, 580px) !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-team .dfl-director-card .dfl-section-kicker {
  color: #ff4a50 !important;
}

html.page-team .dfl-director-card .dfl-section-title {
  color: #fff !important;
  font-size: clamp(36px, 4vw, 58px) !important;
  letter-spacing: -.05em !important;
  line-height: 1.04 !important;
  margin-bottom: 22px !important;
}

html.page-team .dfl-director-card p {
  color: rgba(239,246,255,.84) !important;
  font-size: clamp(15.5px, 1.05vw, 17.5px) !important;
  line-height: 1.76 !important;
}

html.page-team .dfl-director-card cite,
html.page-team .dfl-director-card .author,
html.page-team .dfl-director-card .author span,
html.page-team .dfl-director-card .author .title {
  color: #fff !important;
}

html.page-team .dfl-director-card .author span:first-child {
  display: block !important;
  font-size: 19px !important;
  font-weight: 800 !important;
}

html.page-team .dfl-director-card .author .title {
  color: rgba(239,246,255,.68) !important;
  display: inline-block !important;
  font-size: 14px !important;
  margin-top: 6px !important;
}

html.page-team .our-member {
  background:
    linear-gradient(180deg, #071632 0%, #0b1b34 46%, #071632 100%) !important;
  color: #fff !important;
  padding: clamp(64px, 6vw, 104px) 0 !important;
}

html.page-team .members-grid .dfl-section-title {
  color: #fff !important;
  font-size: clamp(38px, 4vw, 62px) !important;
  letter-spacing: -.052em !important;
  text-align: center !important;
}

html.page-team .members-grid .about-sub-heading {
  color: rgba(239,246,255,.76) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  margin: 0 auto !important;
  max-width: 880px !important;
}

html.page-team .members-grid .row[style*="text-align:center"] {
  display: grid !important;
  gap: 30px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 !important;
  text-align: left !important;
}

html.page-team .members-grid .col-lg-4 {
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 24px !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.20) !important;
  margin: 0 !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-team .members-grid .col-lg-4 img {
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: block !important;
  height: 340px !important;
  object-fit: cover !important;
  object-position: center top !important;
  width: 100% !important;
}

html.page-team .members-grid .content {
  padding: 24px !important;
}

html.page-team .members-grid .content h3 {
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 8px !important;
}

html.page-team .members-grid .content h5 {
  color: rgba(239,246,255,.66) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  margin: 0 0 18px !important;
}

html.page-team .members-grid .btn {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  color: #fff !important;
  font-size: 13px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  text-transform: none !important;
}

html.page-team .members-grid .btn:hover {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
}

html.page-team .dfl-team-fallback,
html.page-team .dfl-member-fallback {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 24px !important;
  color: #fff !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.20) !important;
}

html.page-team .dfl-member-detail-section {
  background:
    radial-gradient(circle at 82% 16%, rgba(126,205,255,.10), transparent 28%),
    linear-gradient(180deg, #0a1930, #071632) !important;
  padding: clamp(64px, 6vw, 104px) 0 !important;
}

html.page-team .dfl-member-detail-card .content h3 {
  color: #fff !important;
  font-family: var(--font-main) !important;
  font-size: clamp(34px, 3.4vw, 52px) !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
}

html.page-team .dfl-member-detail-card .content h5,
html.page-team .dfl-member-detail-card .post-details p,
html.page-team .dfl-member-detail-card p {
  color: rgba(239,246,255,.80) !important;
  font-family: var(--font-main) !important;
}

@media (max-width: 1100px) {
  html.page-team .members-grid .row[style*="text-align:center"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  html.page-team .dfl-director-card > .row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  html.page-team .members-grid .row[style*="text-align:center"] {
    grid-template-columns: 1fr !important;
  }

  html.page-team .members-grid .col-lg-4 img {
    height: 380px !important;
  }
}

/* Our Team final structural lock: bypass old Bootstrap/team template rendering */
html.page-team,
html.page-team body,
html.page-team #page,
html.page-team .site {
  background: #071632 !important;
}

html.page-team .dfl-team-section,
html.page-team .dfl-team-roster-section {
  background:
    radial-gradient(circle at 86% 10%, rgba(126,205,255,.10), transparent 30%),
    radial-gradient(circle at 12% 78%, rgba(223,31,38,.10), transparent 30%),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  color: #fff !important;
  padding: clamp(58px, 6vw, 96px) 0 !important;
  width: 100% !important;
}

html.page-team .dfl-team-roster-section {
  background:
    linear-gradient(180deg, #071632 0%, #0b1b34 50%, #071632 100%) !important;
  padding-top: clamp(66px, 7vw, 112px) !important;
}

html.page-team .dfl-director-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 30px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.22) !important;
  color: #fff !important;
  padding: clamp(28px, 4vw, 50px) !important;
}

html.page-team .dfl-director-layout {
  align-items: center !important;
  display: grid !important;
  gap: clamp(34px, 5vw, 64px) !important;
  grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr) !important;
}

html.page-team .dfl-director-image {
  border-radius: 26px !important;
  overflow: hidden !important;
}

html.page-team .dfl-director-image img {
  border: 0 !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 72px rgba(0,0,0,.24) !important;
  display: block !important;
  height: clamp(390px, 38vw, 570px) !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-team .dfl-director-copy {
  text-align: left !important;
}

html.page-team .dfl-director-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(36px, 4vw, 58px) !important;
  letter-spacing: -.05em !important;
  line-height: 1.04 !important;
  margin-bottom: 22px !important;
}

html.page-team .dfl-director-copy p {
  color: rgba(239,246,255,.84) !important;
  font-size: clamp(15.5px, 1.05vw, 17.5px) !important;
  line-height: 1.76 !important;
  margin-bottom: 16px !important;
}

html.page-team .dfl-director-copy .author,
html.page-team .dfl-director-copy .author span,
html.page-team .dfl-director-copy .author .title {
  color: #fff !important;
}

html.page-team .dfl-team-roster-heading {
  margin: 0 auto clamp(34px, 4vw, 54px) !important;
  max-width: 940px !important;
  text-align: center !important;
}

html.page-team .dfl-team-roster-heading .dfl-section-kicker {
  color: #ff4a50 !important;
}

html.page-team .dfl-team-roster-heading .dfl-section-title {
  color: #fff !important;
  font-size: clamp(40px, 4.6vw, 68px) !important;
  letter-spacing: -.055em !important;
  line-height: 1.02 !important;
  margin: 0 0 18px !important;
}

html.page-team .dfl-team-roster-heading p {
  color: rgba(239,246,255,.76) !important;
  font-size: clamp(16px, 1.1vw, 18px) !important;
  line-height: 1.7 !important;
  margin: 0 auto !important;
  max-width: 840px !important;
}

html.page-team .members-grid,
html.page-team .dfl-team-roster-grid {
  background: transparent !important;
}

html.page-team .dfl-team-roster-grid {
  display: grid !important;
  gap: 28px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

html.page-team .dfl-team-member-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.082), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 24px !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.20) !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

html.page-team .dfl-team-member-card img {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  display: block !important;
  height: clamp(260px, 21vw, 340px) !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-team .dfl-team-member-card .content {
  background: transparent !important;
  min-height: 150px !important;
  padding: 22px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card {
  background: rgba(255,255,255,.055) !important;
  min-height: 0 !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card img {
  height: clamp(280px, 21vw, 340px) !important;
  filter: saturate(1.03) contrast(1.02) !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .content {
  background:
    linear-gradient(180deg, rgba(10,25,48,.96), rgba(7,22,50,.98)) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  display: block !important;
  min-height: 142px !important;
  padding: 20px 22px 22px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h3,
html.page-team .dfl-team-member-card.dfl-static-team-card h5 {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card:hover {
  border-color: rgba(223,31,38,.38) !important;
  transform: translateY(-4px) !important;
}

html.page-team .dfl-team-member-card h3 {
  color: #fff !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  line-height: 1.18 !important;
  margin: 0 0 8px !important;
}

html.page-team .dfl-team-member-card h5 {
  color: rgba(239,246,255,.68) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  margin: 0 0 18px !important;
}

html.page-team .dfl-team-member-card .btn {
  align-items: center !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  gap: 8px !important;
  min-height: 42px !important;
  padding: 0 15px !important;
  text-transform: none !important;
}

html.page-team .dfl-team-member-card .btn:hover {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
}

html.page-team .advisory {
  background:
    linear-gradient(90deg, rgba(7,22,50,.95), rgba(7,22,50,.74)),
    url("../images/footer.png") center center / cover no-repeat !important;
}

@media (max-width: 1200px) {
  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  html.page-team .dfl-director-layout {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  html.page-team .dfl-team-roster-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-member-card img {
    height: 390px !important;
  }
}

/* Our Team last-word cleanup: remove remaining white/old-template bleed */
html.page-team section.dfl-team-section,
html.page-team section.dfl-team-roster-section,
html.page-team section.dfl-member-detail-section {
  background:
    radial-gradient(circle at 84% 12%, rgba(126,205,255,.09), transparent 30%),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  color: #fff !important;
}

html.page-team section.dfl-team-section .dfl-container#director > .dfl-director-card,
html.page-team .dfl-member-detail-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
  color: #fff !important;
}

html.page-team section.dfl-team-section .dfl-director-card,
html.page-team section.dfl-team-section .dfl-director-card *,
html.page-team .dfl-member-detail-card,
html.page-team .dfl-member-detail-card * {
  font-family: var(--font-main) !important;
}

html.page-team section.dfl-team-section .dfl-director-copy,
html.page-team section.dfl-team-section .dfl-director-copy p,
html.page-team section.dfl-team-section .dfl-director-copy cite,
html.page-team section.dfl-team-section .dfl-director-copy span,
html.page-team section.dfl-team-section .dfl-director-copy .title {
  color: rgba(239,246,255,.84) !important;
}

html.page-team section.dfl-team-section .dfl-director-copy .dfl-section-title,
html.page-team section.dfl-team-section .dfl-director-copy .author span:first-child {
  color: #fff !important;
}

html.page-team section.dfl-team-section .dfl-director-copy .title {
  color: rgba(239,246,255,.64) !important;
}

html.page-team section.dfl-team-roster-section {
  background:
    radial-gradient(circle at 12% 6%, rgba(223,31,38,.10), transparent 28%),
    linear-gradient(180deg, #071632 0%, #0b1b34 45%, #071632 100%) !important;
}

html.page-team .dfl-team-final-cta {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96), rgba(7,22,50,.74)),
    url("../images/footer.png") center center / cover no-repeat !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  padding: clamp(42px, 4.4vw, 64px) 0 !important;
}

html.page-team .dfl-team-final-cta .row {
  align-items: center !important;
  display: flex !important;
}

html.page-team .dfl-team-final-cta h2 {
  color: #fff !important;
  font-size: clamp(30px, 3.3vw, 48px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
  margin: 8px 0 0 !important;
}

html.page-team .dfl-team-final-cta .col-md-5 {
  text-align: right !important;
}

html.page-team .dfl-team-final-cta .btn {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  font-weight: 800 !important;
  min-height: 56px !important;
  padding: 0 28px !important;
  text-transform: none !important;
}

html.page-team .dfl-team-final-cta .btn:hover {
  background: var(--dfl-red-dark) !important;
}

html.page-team .dfl-team-final-cta,
.dfl-service-page .advisory,
html:not(.page-home) .advisory {
  background:
    linear-gradient(90deg, rgba(7,22,50,.97), rgba(7,22,50,.72)),
    url("../images/footer.png") center center / cover no-repeat !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  color: #fff !important;
}

html:not(.page-home) .advisory h2 {
  color: #fff !important;
  font-size: clamp(28px, 3vw, 46px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
}

html:not(.page-home) .advisory .btn {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  font-weight: 800 !important;
  min-height: 54px !important;
  padding: 0 26px !important;
  text-transform: none !important;
}

@media (max-width: 767px) {
  html.page-team .dfl-team-final-cta .row {
    display: block !important;
  }

  html.page-team .dfl-team-final-cta .col-md-5 {
    margin-top: 24px !important;
    text-align: left !important;
  }
}

/* Our Team readability and nav final fix */
html.page-team section.dfl-team-section .dfl-container#director > .dfl-director-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.05)) !important;
  border-color: rgba(255,255,255,.18) !important;
}

html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy,
html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy *,
html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy p,
html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy cite,
html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy span {
  color: rgba(244,248,255,.90) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy .dfl-section-kicker {
  color: #ff5a60 !important;
}

html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy .dfl-section-title,
html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy .author span:first-child {
  color: #fff !important;
}

html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy p {
  color: rgba(244,248,255,.86) !important;
  font-size: clamp(16px, 1.08vw, 18px) !important;
  line-height: 1.78 !important;
  text-align: left !important;
}

html.page-team section.dfl-team-section .dfl-director-card .dfl-director-copy .author .title {
  color: rgba(244,248,255,.66) !important;
}

/* Founder/team and Services final polish */
html.page-team .dfl-founder-message,
html.page-team .dfl-founder-message *,
html.page-team .dfl-founder-message .dfl-founder-copy {
  color: rgba(246,249,255,.90) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-team .dfl-founder-message .dfl-section-kicker {
  color: #ff5a60 !important;
}

html.page-team .dfl-founder-message .dfl-section-title,
html.page-team .dfl-founder-message .author span:first-child {
  color: #fff !important;
}

html.page-team .dfl-founder-message .dfl-founder-copy {
  background: transparent !important;
  color: rgba(246,249,255,.90) !important;
  display: block !important;
  font-size: clamp(16px, 1.08vw, 18px) !important;
  font-weight: 500 !important;
  line-height: 1.78 !important;
  margin: 0 0 16px !important;
  max-width: 860px !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.18) !important;
}

html.page-team .dfl-founder-message,
html.page-team .dfl-founder-message p,
html.page-team .dfl-founder-message .dfl-founder-copy,
html.page-team .dfl-founder-message cite,
html.page-team .dfl-founder-message cite span {
  color: rgba(246,249,255,.90) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-team .dfl-founder-message .author .title {
  color: rgba(246,249,255,.68) !important;
}

html.page-services,
html.page-services body,
html.page-services #page,
html.page-services .site {
  background: #071632 !important;
}

html.page-services .dfl-page-hero {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.84)),
    url("../images/hero/dfl-hero-port-bg.jpg") center right / cover no-repeat !important;
  min-height: 150px !important;
  padding: 42px 0 36px !important;
}

html.page-services .dfl-page-hero::before,
html.page-services .dfl-page-hero::after {
  display: none !important;
}

html.page-services .dfl-page-hero h1 {
  color: #fff !important;
  font-size: clamp(34px, 3.6vw, 52px) !important;
  letter-spacing: -.045em !important;
  line-height: 1 !important;
}

html.page-services .dfl-services-page-section {
  background:
    radial-gradient(circle at 86% 12%, rgba(126,205,255,.11), transparent 30%),
    radial-gradient(circle at 14% 68%, rgba(223,31,38,.10), transparent 30%),
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  background-size: auto, auto, 76px 76px, 76px 76px, auto !important;
  color: #fff !important;
  padding: clamp(66px, 7vw, 112px) 0 !important;
}

html.page-services .dfl-services-page-heading {
  margin: 0 auto clamp(34px, 4.4vw, 60px) !important;
  max-width: 1060px !important;
  text-align: center !important;
}

html.page-services .dfl-services-page-heading h2 {
  color: #fff !important;
  font-size: clamp(42px, 4.8vw, 74px) !important;
  font-weight: 800 !important;
  letter-spacing: -.06em !important;
  line-height: 1.02 !important;
  margin: 0 0 20px !important;
}

html.page-services .dfl-services-page-heading p {
  color: rgba(239,246,255,.78) !important;
  font-size: clamp(16px, 1.15vw, 19px) !important;
  line-height: 1.7 !important;
  margin: 0 auto !important;
  max-width: 860px !important;
}

html.page-services .dfl-services-page-grid {
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

html.page-services .dfl-services-page-grid .dfl-service-card {
  min-height: 280px !important;
}

html.page-services .dfl-services-page-grid .dfl-service-card:hover {
  background:
    linear-gradient(145deg, rgba(223,31,38,.20), rgba(255,255,255,.07)) !important;
  border-color: rgba(223,31,38,.44) !important;
  transform: translateY(-6px) !important;
}

html.page-services .dfl-services-final-cta {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96), rgba(7,22,50,.74)),
    url("../images/footer.png") center center / cover no-repeat !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  padding: clamp(42px, 4.4vw, 64px) 0 !important;
}

html.page-services .dfl-services-final-cta .row {
  align-items: center !important;
  display: flex !important;
}

html.page-services .dfl-services-final-cta h2 {
  color: #fff !important;
  font-size: clamp(30px, 3.3vw, 48px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
  margin: 8px 0 0 !important;
}

html.page-services .dfl-services-final-cta .col-md-5 {
  text-align: right !important;
}

html.page-services .dfl-services-final-cta .btn {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  font-weight: 800 !important;
  min-height: 56px !important;
  padding: 0 28px !important;
  text-transform: none !important;
}

@media (max-width: 1200px) {
  html.page-services .dfl-services-page-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  html.page-services .dfl-services-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  html.page-services .dfl-services-page-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-services .dfl-services-final-cta .row {
    display: block !important;
  }

html.page-services .dfl-services-final-cta .col-md-5 {
    margin-top: 22px !important;
    text-align: left !important;
  }
}

/* Final visible blend for homepage reliable section image */
html.page-home .dfl-why-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(223,31,38,.12), transparent 30%),
    linear-gradient(180deg, #0b1d38 0%, #071632 100%) !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-home .dfl-why-section::after {
  content: none !important;
  display: none !important;
}

html.page-home .dfl-why-section > .container {
  position: relative !important;
  z-index: 4 !important;
}

html.page-home .dfl-why-layout {
  display: block !important;
  min-height: clamp(640px, 56vw, 820px) !important;
  position: relative !important;
}

html.page-home .dfl-why-copy {
  max-width: min(760px, 56vw) !important;
  position: relative !important;
  z-index: 6 !important;
}

html.page-home .dfl-why-visual {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  bottom: -10% !important;
  box-shadow: none !important;
  display: block !important;
  left: 30% !important;
  min-height: 0 !important;
  overflow: visible !important;
  pointer-events: none !important;
  position: absolute !important;
  right: -14% !important;
  top: -10% !important;
  z-index: 1 !important;
}

html.page-home .dfl-why-visual img {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  filter: saturate(1.1) contrast(1.08) brightness(.95) !important;
  height: 100% !important;
  inset: 0 !important;
  object-fit: cover !important;
  object-position: center right !important;
  opacity: .92 !important;
  position: absolute !important;
  transform: scale(1.08) !important;
  width: 100% !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 7%, rgba(0,0,0,.78) 24%, #000 58%, rgba(0,0,0,.80) 84%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.80) 12%, #000 42%, rgba(0,0,0,.82) 82%, transparent 100%) !important;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.08) 7%, rgba(0,0,0,.78) 24%, #000 58%, rgba(0,0,0,.80) 84%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.80) 12%, #000 42%, rgba(0,0,0,.82) 82%, transparent 100%) !important;
  -webkit-mask-composite: source-in !important;
  mask-composite: intersect !important;
}

html.page-home .dfl-why-visual::before {
  background:
    linear-gradient(90deg, rgba(7,22,50,1) 0%, rgba(7,22,50,.78) 20%, rgba(7,22,50,.20) 48%, rgba(7,22,50,.24) 74%, rgba(7,22,50,.84) 100%),
    linear-gradient(180deg, rgba(7,22,50,.90), rgba(7,22,50,.06) 42%, rgba(7,22,50,.92)) !important;
  border: 0 !important;
  content: "" !important;
  inset: -1px !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 2 !important;
}

html.page-home .dfl-why-visual::after {
  background:
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 64% 48%, rgba(126,205,255,.16), transparent 24%),
    radial-gradient(circle at 48% 70%, rgba(223,31,38,.10), transparent 24%) !important;
  background-size: 84px 84px, 84px 84px, auto, auto !important;
  border: 0 !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .72 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 3 !important;
}

html.page-home .dfl-why-visual .dfl-visual-hud {
  display: none !important;
}

@media (max-width: 900px) {
  html.page-home .dfl-why-layout {
    min-height: 0 !important;
  }

  html.page-home .dfl-why-copy {
    max-width: none !important;
  }

  html.page-home .dfl-why-visual {
    bottom: 0 !important;
    left: 0 !important;
    opacity: .42 !important;
    right: -42% !important;
    top: 0 !important;
  }

  html.page-home .dfl-why-visual img {
    transform: scale(1.04) !important;
  }
}

/* Final restore: homepage reliable-section image stays in the background, visible, zoomed, and edge-blended */
html.page-home .dfl-why-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(223,31,38,.10), transparent 30%),
    linear-gradient(180deg, #0b1d38 0%, #071632 100%) !important;
  isolation: isolate !important;
}

html.page-home .dfl-why-section::after {
  background:
    linear-gradient(90deg, rgba(7,22,50,1) 0%, rgba(7,22,50,.92) 32%, rgba(7,22,50,.46) 54%, rgba(7,22,50,.30) 74%, rgba(7,22,50,.80) 100%),
    linear-gradient(180deg, rgba(7,22,50,.92) 0%, rgba(7,22,50,.12) 30%, rgba(7,22,50,.14) 64%, rgba(7,22,50,.96) 100%),
    url("../dfl-homepage.png") center right / auto 122% no-repeat !important;
  content: "" !important;
  inset: -7% -8% -7% 18% !important;
  opacity: 1 !important;
  pointer-events: none !important;
  position: absolute !important;
  transform: scale(1.04) !important;
  transform-origin: center right !important;
  z-index: 0 !important;
}

html.page-home .dfl-why-section::before {
  background:
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 70% 44%, rgba(126,205,255,.15), transparent 25%),
    radial-gradient(circle at 56% 70%, rgba(223,31,38,.08), transparent 26%) !important;
  background-size: 84px 84px, 84px 84px, auto, auto !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .64 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 1 !important;
}

html.page-home .dfl-why-section > .container {
  position: relative !important;
  z-index: 4 !important;
}

html.page-home .dfl-why-copy {
  max-width: min(760px, 55vw) !important;
}

html.page-home .dfl-why-visual {
  display: none !important;
}

@media (max-width: 900px) {
  html.page-home .dfl-why-section::after {
    background:
      linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.86) 58%, rgba(7,22,50,.68) 100%),
      linear-gradient(180deg, rgba(7,22,50,.92) 0%, rgba(7,22,50,.34) 44%, rgba(7,22,50,.96) 100%),
      url("../dfl-homepage.png") center right / cover no-repeat !important;
    inset: 0 -34% 0 0 !important;
    opacity: .78 !important;
    transform: none !important;
  }

  html.page-home .dfl-why-copy {
    max-width: none !important;
  }
}

/* Final mobile spacing reset: remove inherited template gaps and prevent hero/trust overflow */
@media (max-width: 991px) {
  html,
  body,
  body.home,
  html.page-home body {
    margin: 0 !important;
    padding: 0 !important;
    scroll-padding-top: 66px !important;
  }

  #page,
  .site,
  .site-wrapper,
  .page-wrapper,
  .main-wrapper,
  .wrapper {
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    width: 100% !important;
  }

  .dfl-navbar.navbar.mega,
  html.page-home .dfl-navbar.navbar.mega,
  html:not(.page-home) .dfl-navbar.navbar.mega {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .site-header.style-1 {
    background: rgba(7, 22, 50, .98) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    display: block !important;
    height: 66px !important;
    left: 0 !important;
    margin: 0 !important;
    min-height: 66px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: sticky !important;
    right: 0 !important;
    top: 0 !important;
    width: 100% !important;
    z-index: 99999 !important;
  }

  .site-header.style-1 .hidden-md-down,
  .site-header.style-1 .site-info,
  .site-header.style-1 .top-menu-bar,
  .site-header.style-1 .contact-bar,
  .site-header.style-1 .social-menu {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
  }

  .site-header.style-1 > .container,
  .site-header.style-1 > .container > .row {
    align-items: center !important;
    display: flex !important;
    height: 66px !important;
    margin: 0 auto !important;
    min-height: 66px !important;
    padding: 0 !important;
  }

  .site-header.style-1 .site-branding {
    align-items: center !important;
    display: flex !important;
    height: 66px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header.style-1 .site-branding img {
    display: block !important;
    height: 42px !important;
    margin: 0 !important;
    max-height: 42px !important;
    width: auto !important;
  }

  .site-header.style-1 .hidden-lg-up {
    align-items: center !important;
    display: flex !important;
    height: 66px !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    padding: 0 !important;
  }

  .site-header.style-1 .trigger-menu {
    align-items: center !important;
    display: flex !important;
    height: 42px !important;
    justify-content: center !important;
    margin: 0 !important;
    width: 42px !important;
  }

  html.page-home .dfl-hero {
    margin: 0 !important;
    min-height: 0 !important;
    padding: clamp(42px, 11vw, 72px) 0 clamp(42px, 10vw, 64px) !important;
  }

  html.page-home .dfl-hero-content,
  html.page-home .dfl-hero-main,
  html.page-home .dfl-hero-copy {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html.page-home .dfl-hero-route-card,
  html.page-home .dfl-route-card,
  html.page-home .dfl-hero > .dfl-route-layer {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  html.page-home .dfl-hero h1 {
    font-size: clamp(40px, 12vw, 60px) !important;
    max-width: 10ch !important;
  }

  html.page-home .dfl-trust-strip {
    border: 0 !important;
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin: 28px 0 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  html.page-home .dfl-trust-item {
    background: rgba(255,255,255,.075) !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 18px !important;
    margin: 0 !important;
    min-height: 96px !important;
    min-width: 0 !important;
    padding: 15px !important;
  }
}

@media (max-width: 520px) {
  html.page-home .dfl-trust-strip {
    grid-template-columns: 1fr !important;
  }

  html.page-home .dfl-trust-item {
    min-height: 78px !important;
  }
}

/* Contact + member detail final conversion polish */
html.page-team .dfl-founder-message,
html.page-team .dfl-founder-message p.dfl-founder-copy,
html.page-team .dfl-founder-message p,
html.page-team .dfl-founder-message cite,
html.page-team .dfl-founder-message span {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-team .dfl-founder-message p.dfl-founder-copy,
html.page-team .dfl-founder-message p {
  color: rgba(255,255,255,.90) !important;
  font-size: clamp(16.5px, 1.1vw, 18.5px) !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
}

html.page-team .dfl-founder-message .dfl-section-title {
  color: #fff !important;
}

html.page-team .dfl-member-static-copy,
html.page-team .dfl-member-static-copy * {
  color: rgba(246,249,255,.88) !important;
  opacity: 1 !important;
}

html.page-team .dfl-member-static-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(34px, 3.6vw, 56px) !important;
}

html.page-team .dfl-member-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 22px !important;
}

html.page-team .dfl-member-actions .btn {
  border-radius: 12px !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  text-transform: none !important;
}

html.page-contact,
html.page-contact body,
html.page-contact #page,
html.page-contact .site {
  background: #071632 !important;
}

html.page-contact .dfl-page-hero {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.84)),
    url("../images/hero/dfl-hero-port-bg.jpg") center right / cover no-repeat !important;
  min-height: 150px !important;
  padding: 42px 0 36px !important;
}

html.page-contact .dfl-page-hero::before,
html.page-contact .dfl-page-hero::after {
  display: none !important;
}

html.page-contact .dfl-page-hero h1 {
  color: #fff !important;
  font-size: clamp(34px, 3.6vw, 52px) !important;
  letter-spacing: -.045em !important;
}

html.page-contact .dfl-contact-section {
  background:
    radial-gradient(circle at 86% 10%, rgba(126,205,255,.10), transparent 30%),
    radial-gradient(circle at 10% 74%, rgba(223,31,38,.10), transparent 30%),
    linear-gradient(rgba(126,205,255,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.032) 1px, transparent 1px),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  background-size: auto, auto, 76px 76px, 76px 76px, auto !important;
  color: #fff !important;
  padding: clamp(58px, 6vw, 96px) 0 !important;
}

html.page-contact .dfl-map-card {
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.24) !important;
  height: clamp(300px, 32vw, 420px) !important;
  margin-bottom: clamp(34px, 4vw, 54px) !important;
  overflow: hidden !important;
}

html.page-contact .dfl-map-card iframe {
  height: 100% !important;
  width: 100% !important;
}

html.page-contact .dfl-contact-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: 30px !important;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr) !important;
}

html.page-contact .dfl-contact-card,
html.page-contact .dfl-form-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.082), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 78px rgba(0,0,0,.22) !important;
  color: #fff !important;
  padding: clamp(28px, 3vw, 42px) !important;
}

html.page-contact .dfl-contact-card .dfl-section-title,
html.page-contact .dfl-form-card .dfl-section-title {
  color: #fff !important;
  font-size: clamp(32px, 3.4vw, 52px) !important;
  letter-spacing: -.05em !important;
}

html.page-contact .office p,
html.page-contact .contact p {
  color: rgba(239,246,255,.78) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

html.page-contact .office i {
  color: var(--dfl-red) !important;
  margin-right: 10px !important;
}

html.page-contact .contact form {
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 24px !important;
}

html.page-contact .contact .form-group {
  margin: 0 !important;
}

html.page-contact .contact .form-message,
html.page-contact .contact .form-submit,
html.page-contact .contact .messages {
  grid-column: 1 / -1 !important;
}

html.page-contact .contact input,
html.page-contact .contact textarea {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 14px !important;
  color: #fff !important;
  font-size: 15px !important;
  min-height: 54px !important;
  padding: 15px 16px !important;
  width: 100% !important;
}

html.page-contact .contact input::placeholder,
html.page-contact .contact textarea::placeholder {
  color: rgba(239,246,255,.58) !important;
}

html.page-contact .contact textarea {
  min-height: 160px !important;
}

html.page-contact .contact input[type="submit"] {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
  color: #fff !important;
  cursor: pointer !important;
  font-weight: 800 !important;
  width: auto !important;
}

html.page-contact .dfl-contact-final-cta {
  background:
    linear-gradient(90deg, rgba(7,22,50,.96), rgba(7,22,50,.74)),
    url("../images/footer.png") center center / cover no-repeat !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  padding: clamp(42px, 4.4vw, 64px) 0 !important;
}

html.page-contact .dfl-contact-final-cta .row {
  align-items: center !important;
  display: flex !important;
}

html.page-contact .dfl-contact-final-cta h2 {
  color: #fff !important;
  font-size: clamp(30px, 3.3vw, 48px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.05 !important;
  margin: 8px 0 0 !important;
}

html.page-contact .dfl-contact-final-cta .col-md-5 {
  text-align: right !important;
}

html.page-contact .dfl-contact-final-cta .btn {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  font-weight: 800 !important;
  min-height: 56px !important;
  padding: 0 28px !important;
  text-transform: none !important;
}

@media (max-width: 900px) {
  html.page-contact .dfl-contact-grid,
  html.page-contact .contact form {
    grid-template-columns: 1fr !important;
  }

  html.page-contact .dfl-contact-final-cta .row {
    display: block !important;
  }

  html.page-contact .dfl-contact-final-cta .col-md-5 {
    margin-top: 22px !important;
    text-align: left !important;
  }
}

/* Final hard overrides: team detail + contact form must never inherit old white cards */
html.page-team .dfl-member-detail-section,
html.page-team .dfl-member-detail-section.dfl-light-section {
  background:
    radial-gradient(circle at 82% 10%, rgba(126,205,255,.10), transparent 30%),
    radial-gradient(circle at 8% 78%, rgba(223,31,38,.10), transparent 28%),
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  background-size: auto, auto, 76px 76px, 76px 76px, auto !important;
  color: #fff !important;
  padding: clamp(56px, 6vw, 92px) 0 !important;
}

html.page-team .dfl-member-detail-section .dfl-director-card.dfl-member-detail-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.082), rgba(255,255,255,.042)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 30px !important;
  box-shadow: 0 28px 90px rgba(0,0,0,.28) !important;
  color: #fff !important;
  min-height: auto !important;
  padding: clamp(28px, 4vw, 56px) !important;
}

html.page-team .dfl-member-detail-section .dfl-member-detail-card .row {
  align-items: center !important;
  display: grid !important;
  gap: clamp(28px, 4vw, 56px) !important;
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1fr) !important;
  margin: 0 !important;
}

html.page-team .dfl-member-detail-section .dfl-member-detail-card [class*="col-"] {
  float: none !important;
  left: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  right: auto !important;
  width: auto !important;
}

html.page-team .dfl-member-detail-section .dfl-image-card {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.24) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

html.page-team .dfl-member-detail-section .dfl-image-card img {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  height: clamp(420px, 44vw, 640px) !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-team .dfl-member-detail-section .dfl-member-static-copy,
html.page-team .dfl-member-detail-section .dfl-member-static-copy * {
  color: rgba(240,246,255,.86) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-team .dfl-member-detail-section .dfl-member-static-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(34px, 4vw, 60px) !important;
  letter-spacing: -.055em !important;
  line-height: 1 !important;
}

html.page-team .dfl-member-detail-section .dfl-member-static-copy p {
  color: rgba(240,246,255,.78) !important;
  font-size: clamp(16px, 1.2vw, 19px) !important;
  line-height: 1.75 !important;
  max-width: 620px !important;
}

html.page-contact .dfl-contact-section .dfl-card.dfl-contact-card,
html.page-contact .dfl-contact-section .dfl-card.dfl-form-card,
html.page-contact .dfl-contact-section .contact-info-card,
html.page-contact .dfl-contact-section .contact-content {
  background:
    linear-gradient(145deg, rgba(255,255,255,.086), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 28px 86px rgba(0,0,0,.24) !important;
  color: #fff !important;
}

html.page-contact .dfl-contact-section .contact,
html.page-contact .dfl-contact-section .contact * {
  color: rgba(240,246,255,.86) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-contact .dfl-contact-section .contact .dfl-section-title,
html.page-contact .dfl-contact-section .contact h2 {
  color: #fff !important;
}

html.page-contact .dfl-contact-section .contact input:not([type="submit"]),
html.page-contact .dfl-contact-section .contact textarea {
  background: rgba(7,22,50,.62) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
  color: #fff !important;
}

html.page-contact .dfl-contact-section .contact input:not([type="submit"])::placeholder,
html.page-contact .dfl-contact-section .contact textarea::placeholder {
  color: rgba(240,246,255,.54) !important;
}

/* Contact page final structure: avoid old .contact-content white-card inheritance */
html.page-contact .dfl-contact-form-panel {
  background:
    radial-gradient(circle at 100% 0%, rgba(126,205,255,.11), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 30px !important;
  box-shadow: 0 28px 86px rgba(0,0,0,.24) !important;
  color: #fff !important;
  padding: clamp(32px, 4vw, 56px) !important;
}

html.page-contact .dfl-contact-form,
html.page-contact .dfl-contact-form * {
  color: rgba(240,246,255,.86) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-contact .dfl-contact-form .dfl-section-title,
html.page-contact .dfl-contact-form h2 {
  color: #fff !important;
}

html.page-contact .dfl-contact-form form {
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 24px !important;
}

html.page-contact .dfl-contact-form .form-group {
  margin: 0 !important;
}

html.page-contact .dfl-contact-form .form-message,
html.page-contact .dfl-contact-form .form-submit,
html.page-contact .dfl-contact-form .messages {
  grid-column: 1 / -1 !important;
}

html.page-contact .dfl-contact-form input:not([type="submit"]),
html.page-contact .dfl-contact-form textarea {
  background: rgba(7,22,50,.58) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  color: #fff !important;
  font-size: 15px !important;
  min-height: 56px !important;
  padding: 15px 16px !important;
  width: 100% !important;
}

html.page-contact .dfl-contact-form textarea {
  min-height: 170px !important;
}

html.page-contact .dfl-contact-form input:not([type="submit"])::placeholder,
html.page-contact .dfl-contact-form textarea::placeholder {
  color: rgba(240,246,255,.58) !important;
}

html.page-contact .dfl-contact-form input[type="submit"] {
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 14px !important;
  color: #fff !important;
  cursor: pointer !important;
  font-weight: 800 !important;
  min-height: 56px !important;
  padding: 0 28px !important;
  width: auto !important;
}

/* Services hub final: distinct page treatment, not a homepage duplicate */
html.page-services .dfl-services-hub {
  align-items: stretch !important;
  display: grid !important;
  gap: clamp(28px, 4vw, 52px) !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .62fr) !important;
  margin-bottom: clamp(34px, 4.8vw, 70px) !important;
}

html.page-services .dfl-services-page-heading {
  margin: 0 !important;
  max-width: none !important;
  text-align: left !important;
}

html.page-services .dfl-services-hub-panel {
  align-self: end !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(223,31,38,.16), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 76px rgba(0,0,0,.22) !important;
  padding: clamp(26px, 3vw, 38px) !important;
}

html.page-services .dfl-services-hub-panel span,
html.page-services .dfl-services-directory-heading .dfl-section-kicker {
  color: #ff5a60 !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

html.page-services .dfl-services-hub-panel strong {
  color: #fff !important;
  display: block !important;
  font-size: clamp(26px, 2.6vw, 38px) !important;
  letter-spacing: -.045em !important;
  line-height: 1.04 !important;
}

html.page-services .dfl-services-hub-panel p {
  color: rgba(239,246,255,.74) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  margin: 16px 0 22px !important;
}

html.page-services .dfl-services-hub-panel a {
  align-items: center !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  gap: 10px !important;
  text-decoration: none !important;
}

html.page-services .dfl-service-lanes {
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-bottom: clamp(42px, 5vw, 78px) !important;
}

html.page-services .dfl-service-lanes article {
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 22px !important;
  padding: 26px !important;
}

html.page-services .dfl-service-lanes i {
  color: var(--dfl-red) !important;
  font-size: 28px !important;
  margin-bottom: 18px !important;
}

html.page-services .dfl-service-lanes h3 {
  color: #fff !important;
  font-size: 22px !important;
  letter-spacing: -.03em !important;
  margin: 0 0 10px !important;
}

html.page-services .dfl-service-lanes p {
  color: rgba(239,246,255,.72) !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

html.page-services .dfl-services-directory-heading {
  margin-bottom: 22px !important;
}

html.page-services .dfl-services-directory-heading h2 {
  color: #fff !important;
  font-size: clamp(34px, 3.4vw, 54px) !important;
  letter-spacing: -.055em !important;
  line-height: 1 !important;
  margin: 0 !important;
}

html.page-services .dfl-services-page-grid.dfl-services-directory {
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.page-services .dfl-services-directory .dfl-service-card {
  align-items: center !important;
  display: grid !important;
  gap: 18px !important;
  grid-template-columns: 46px minmax(0, 1fr) 38px !important;
  min-height: 132px !important;
  padding: 22px !important;
}

html.page-services .dfl-services-directory .dfl-service-card > i {
  align-items: center !important;
  background: rgba(223,31,38,.12) !important;
  border: 1px solid rgba(223,31,38,.28) !important;
  border-radius: 14px !important;
  display: flex !important;
  height: 46px !important;
  justify-content: center !important;
  margin: 0 !important;
  width: 46px !important;
}

html.page-services .dfl-services-directory .dfl-service-card h3 {
  margin: 0 0 6px !important;
}

html.page-services .dfl-services-directory .dfl-service-card p {
  margin: 0 !important;
}

@media (max-width: 980px) {
  html.page-services .dfl-services-hub,
  html.page-services .dfl-service-lanes,
  html.page-services .dfl-services-page-grid.dfl-services-directory {
    grid-template-columns: 1fr !important;
  }

  html.page-contact .dfl-contact-form form {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  html.page-team .dfl-member-detail-section .dfl-member-detail-card .row {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-member-detail-section .dfl-image-card img {
    height: auto !important;
    max-height: none !important;
  }
}

/* Member detail final source-of-truth component: no legacy white card bleed */
html.page-team .dfl-member-detail-section {
  background:
    radial-gradient(circle at 82% 10%, rgba(126,205,255,.11), transparent 30%),
    radial-gradient(circle at 8% 82%, rgba(223,31,38,.11), transparent 28%),
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  background-size: auto, auto, 76px 76px, 76px 76px, auto !important;
  color: #fff !important;
  padding: clamp(64px, 7vw, 112px) 0 !important;
}

html.page-team .dfl-member-profile-shell {
  background:
    radial-gradient(circle at 100% 0%, rgba(126,205,255,.10), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.042)) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 34px !important;
  box-shadow: 0 30px 96px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  color: #fff !important;
  overflow: hidden !important;
  padding: clamp(30px, 4.2vw, 64px) !important;
}

html.page-team .dfl-member-profile-grid {
  align-items: center !important;
  display: grid !important;
  gap: clamp(34px, 5.2vw, 76px) !important;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr) !important;
  margin: 0 !important;
}

html.page-team .dfl-member-profile-photo {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 72px rgba(0,0,0,.24) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

html.page-team .dfl-member-profile-photo img {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  height: clamp(430px, 42vw, 680px) !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-team .dfl-member-profile-copy,
html.page-team .dfl-member-profile-copy p {
  color: rgba(241,247,255,.86) !important;
  font-family: var(--font-main) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.page-team .dfl-member-profile-copy h2 {
  color: #fff !important;
  font-family: var(--font-main) !important;
  font-size: clamp(40px, 4.6vw, 78px) !important;
  font-weight: 850 !important;
  letter-spacing: -.06em !important;
  line-height: .98 !important;
  margin: 0 0 18px !important;
}

html.page-team .dfl-member-profile-copy .dfl-section-kicker {
  color: #ff5a60 !important;
  font-size: 13px !important;
  letter-spacing: .16em !important;
  margin-bottom: 18px !important;
}

html.page-team .dfl-member-role {
  color: rgba(241,247,255,.70) !important;
  font-size: clamp(19px, 1.4vw, 24px) !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  margin: 0 0 28px !important;
}

html.page-team .dfl-member-static-copy p {
  color: rgba(241,247,255,.82) !important;
  font-size: clamp(17px, 1.25vw, 21px) !important;
  line-height: 1.75 !important;
  max-width: 680px !important;
}

html.page-team .dfl-member-detail-list {
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 30px 0 0 !important;
}

html.page-team .dfl-member-detail-list p {
  align-items: center !important;
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 16px !important;
  color: #fff !important;
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 28px minmax(78px,.6fr) minmax(0,1fr) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  min-height: 58px !important;
  padding: 14px 16px !important;
}

html.page-team .dfl-member-detail-list i {
  color: var(--dfl-red) !important;
  font-size: 18px !important;
  text-align: center !important;
}

html.page-team .dfl-member-detail-list span {
  color: rgba(241,247,255,.58) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase !important;
}

html.page-team .dfl-member-detail-list strong {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere !important;
}

html.page-team .dfl-member-detail-list strong a {
  color: #fff !important;
  text-decoration: none !important;
}

html.page-team .dfl-member-detail-list strong a:hover {
  color: #ff5a60 !important;
}

html.page-team .dfl-member-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 30px !important;
}

html.page-team .dfl-member-actions .btn {
  align-items: center !important;
  background: var(--dfl-red) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 0 24px !important;
  text-decoration: none !important;
  text-transform: none !important;
}

html.page-team .dfl-member-actions .btn:hover,
html.page-team .dfl-member-actions .btn:focus {
  background: var(--dfl-red-dark) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

html.page-team .dfl-member-fallback {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 24px !important;
  color: #fff !important;
  padding: 34px !important;
}

html.page-team .dfl-member-fallback h3 {
  color: #fff !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  letter-spacing: -.04em !important;
}

html.page-team .dfl-member-fallback p {
  color: rgba(241,247,255,.78) !important;
}

@media (max-width: 980px) {
  html.page-team .dfl-member-profile-grid,
  html.page-team .dfl-member-detail-list {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-member-profile-photo img {
    height: auto !important;
    max-height: none !important;
  }
}

/* Final nav + services directory polish */
.dfl-navbar.navbar.mega {
  -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
  background:
    linear-gradient(180deg, rgba(7,22,50,.96), rgba(7,22,50,.88)) !important;
  border-bottom: 1px solid rgba(255,255,255,.11) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.22) !important;
  min-height: 86px !important;
  padding: 0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}

.dfl-navbar .dfl-nav-container {
  align-items: center !important;
  display: flex !important;
  gap: clamp(18px, 2vw, 34px) !important;
  min-height: 86px !important;
  width: min(calc(100% - 80px), 1480px) !important;
}

.dfl-navbar .dfl-brand {
  align-items: center !important;
  display: flex !important;
  flex: 0 0 auto !important;
}

.dfl-navbar .dfl-brand img {
  background: #fff !important;
  border-radius: 2px !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.18) !important;
  height: 58px !important;
  max-height: 58px !important;
  padding: 4px !important;
  width: auto !important;
}

.dfl-navbar .dfl-main-nav {
  align-items: center !important;
  display: flex !important;
  flex: 1 1 auto !important;
  gap: clamp(16px, 1.7vw, 28px) !important;
  justify-content: center !important;
  margin: 0 !important;
  min-width: 0 !important;
}

.dfl-navbar .nav-item {
  align-items: center !important;
  display: flex !important;
  margin: 0 !important;
}

.dfl-navbar .nav-link,
html.page-home .dfl-navbar .nav-link,
html:not(.page-home) .dfl-navbar .nav-link {
  color: rgba(246,249,255,.84) !important;
  font-size: clamp(13px, .78vw, 15px) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  line-height: 1 !important;
  padding: 34px 0 31px !important;
  position: relative !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.dfl-navbar .nav-link::after {
  background: var(--dfl-red) !important;
  border-radius: 999px !important;
  bottom: 23px !important;
  content: "" !important;
  height: 2px !important;
  left: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  transform: scaleX(.42) !important;
  transform-origin: left center !important;
  transition: opacity .22s ease, transform .22s ease !important;
  width: 100% !important;
}

.dfl-navbar .nav-item.active > .nav-link,
.dfl-navbar .nav-link:hover,
.dfl-navbar .nav-link:focus {
  color: #fff !important;
}

.dfl-navbar .nav-item.active > .nav-link::after,
.dfl-navbar .nav-link:hover::after,
.dfl-navbar .nav-link:focus::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.dfl-navbar .dfl-nav-cta,
html.page-home .dfl-navbar .dfl-nav-cta {
  align-items: center !important;
  background: linear-gradient(135deg, var(--dfl-red), var(--dfl-red-dark)) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 38px rgba(223,31,38,.28) !important;
  color: #fff !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  gap: 10px !important;
  min-height: 54px !important;
  padding: 0 24px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.dfl-navbar .dfl-nav-cta:hover {
  transform: translateY(-1px) !important;
}

html.page-services .dfl-service-flow {
  align-items: center !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.075), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 22px !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: 1fr 28px 1fr 28px 1fr !important;
  margin: 0 0 clamp(30px, 4vw, 56px) !important;
  padding: 18px !important;
}

html.page-services .dfl-service-flow div {
  align-items: center !important;
  background: rgba(7,22,50,.34) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  display: flex !important;
  gap: 14px !important;
  min-height: 64px !important;
  padding: 0 18px !important;
}

html.page-services .dfl-service-flow span {
  color: #ff5a60 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
}

html.page-services .dfl-service-flow strong {
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 850 !important;
}

html.page-services .dfl-service-flow > i {
  color: rgba(126,205,255,.58) !important;
  font-size: 20px !important;
  justify-self: center !important;
}

html.page-services .dfl-services-page-grid.dfl-services-directory {
  gap: 18px !important;
}

html.page-services .dfl-services-directory .dfl-service-card {
  align-items: center !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.035)) !important;
  border-color: rgba(255,255,255,.15) !important;
  grid-template-columns: 54px minmax(0, 1fr) 42px !important;
  min-height: 146px !important;
  padding: 24px !important;
}

html.page-services .dfl-services-directory .dfl-service-card > i {
  align-self: center !important;
  font-size: 26px !important;
  height: 54px !important;
  width: 54px !important;
}

html.page-services .dfl-services-directory .dfl-service-card h3 {
  color: #fff !important;
  font-size: clamp(22px, 1.55vw, 28px) !important;
  line-height: 1.08 !important;
  margin: 0 0 10px !important;
  max-width: 560px !important;
}

html.page-services .dfl-services-directory .dfl-service-card p {
  color: rgba(240,246,255,.78) !important;
  font-size: clamp(15.5px, 1vw, 18px) !important;
  line-height: 1.5 !important;
  max-width: 620px !important;
}

html.page-services .dfl-services-directory .dfl-service-card span {
  align-self: center !important;
  justify-self: end !important;
  margin: 0 !important;
}

html.page-services .dfl-services-directory .dfl-service-card:hover {
  background:
    radial-gradient(circle at 0% 50%, rgba(223,31,38,.16), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.092), rgba(255,255,255,.044)) !important;
  border-color: rgba(223,31,38,.34) !important;
}

@media (max-width: 1180px) {
  .dfl-navbar .dfl-nav-container {
    width: min(calc(100% - 40px), 1480px) !important;
    gap: 16px !important;
  }

  .dfl-navbar .dfl-main-nav {
    gap: 14px !important;
  }

  .dfl-navbar .nav-link,
  html.page-home .dfl-navbar .nav-link,
  html:not(.page-home) .dfl-navbar .nav-link {
    font-size: 13px !important;
  }

  .dfl-navbar .dfl-nav-cta {
    min-height: 48px !important;
    padding: 0 18px !important;
  }
}

@media (max-width: 980px) {
  html.page-services .dfl-service-flow {
    grid-template-columns: 1fr !important;
  }

  html.page-services .dfl-service-flow > i {
    display: none !important;
  }

  html.page-services .dfl-services-directory .dfl-service-card {
    grid-template-columns: 50px minmax(0, 1fr) !important;
  }

  html.page-services .dfl-services-directory .dfl-service-card span {
    display: none !important;
  }
}

/* Final navbar normalization: remove old offset gap and make one premium nav system */
html,
body {
  padding-top: 0 !important;
  scroll-padding-top: 96px !important;
}

#page,
.site,
.site-wrapper,
.page-wrapper,
.main-wrapper,
.wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (min-width: 992px) {
  .site-header.style-1 {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    visibility: hidden !important;
  }
}

.dfl-navbar.navbar.mega,
html.page-home .dfl-navbar.navbar.mega,
html:not(.page-home) .dfl-navbar.navbar.mega {
  -webkit-backdrop-filter: blur(22px) saturate(1.25) !important;
  backdrop-filter: blur(22px) saturate(1.25) !important;
  background:
    radial-gradient(circle at 82% 0%, rgba(223,31,38,.13), transparent 32%),
    linear-gradient(180deg, rgba(8,24,52,.98), rgba(7,22,50,.93)) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(143,166,193,.18) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.24) !important;
  display: block !important;
  left: auto !important;
  margin: 0 !important;
  min-height: 94px !important;
  padding: 0 !important;
  position: sticky !important;
  right: auto !important;
  top: 0 !important;
  transform: none !important;
  width: 100% !important;
  z-index: 99999 !important;
}

.dfl-navbar.navbar.mega::before,
.dfl-navbar.navbar.mega::after,
.dfl-navbar .dfl-nav-container::before,
.dfl-navbar .dfl-nav-container::after {
  content: none !important;
  display: none !important;
}

.dfl-navbar .dfl-nav-container {
  align-items: center !important;
  display: flex !important;
  gap: clamp(22px, 2.2vw, 40px) !important;
  justify-content: space-between !important;
  min-height: 94px !important;
  width: min(calc(100% - 88px), 1520px) !important;
}

.dfl-navbar .dfl-brand img {
  background: #fff !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 4px !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
  display: block !important;
  height: 64px !important;
  max-height: 64px !important;
  padding: 5px !important;
  width: auto !important;
}

.dfl-navbar .dfl-main-nav {
  align-items: center !important;
  display: flex !important;
  flex: 1 1 auto !important;
  gap: clamp(18px, 1.65vw, 30px) !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dfl-navbar .nav-item {
  align-items: center !important;
  display: flex !important;
  height: 94px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.dfl-navbar .nav-link,
html.page-home .dfl-navbar .nav-link,
html:not(.page-home) .dfl-navbar .nav-link {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  color: rgba(246,249,255,.86) !important;
  display: inline-flex !important;
  font-size: clamp(15px, .84vw, 17px) !important;
  font-weight: 850 !important;
  height: 94px !important;
  letter-spacing: -.015em !important;
  line-height: 1 !important;
  padding: 0 !important;
  position: relative !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.dfl-navbar .nav-link::before {
  content: none !important;
  display: none !important;
}

.dfl-navbar .nav-link::after {
  background: linear-gradient(90deg, var(--dfl-red), #ff6d72) !important;
  border-radius: 999px !important;
  bottom: 24px !important;
  box-shadow: 0 0 16px rgba(223,31,38,.45) !important;
  content: "" !important;
  height: 3px !important;
  left: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  right: auto !important;
  transform: scaleX(.34) !important;
  transform-origin: left center !important;
  transition: opacity .22s ease, transform .22s ease !important;
  width: 100% !important;
}

.dfl-navbar .nav-item.active > .nav-link,
.dfl-navbar .nav-link:hover,
.dfl-navbar .nav-link:focus {
  color: #fff !important;
}

.dfl-navbar .nav-item.active > .nav-link::after,
.dfl-navbar .nav-link:hover::after,
.dfl-navbar .nav-link:focus::after {
  opacity: 1 !important;
  transform: scaleX(1) !important;
}

.dfl-navbar .dfl-nav-cta,
html.page-home .dfl-navbar .dfl-nav-cta {
  align-items: center !important;
  background:
    linear-gradient(135deg, #ef3a3f 0%, var(--dfl-red) 52%, var(--dfl-red-dark) 100%) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 44px rgba(223,31,38,.33), inset 0 1px 0 rgba(255,255,255,.18) !important;
  color: #fff !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  font-size: clamp(15px, .86vw, 17px) !important;
  font-weight: 900 !important;
  gap: 12px !important;
  justify-content: center !important;
  min-height: 58px !important;
  padding: 0 clamp(24px, 2vw, 34px) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.dfl-navbar .dfl-nav-cta:hover,
.dfl-navbar .dfl-nav-cta:focus {
  box-shadow: 0 22px 52px rgba(223,31,38,.42), inset 0 1px 0 rgba(255,255,255,.22) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.dfl-navbar .dfl-dropdown,
.dfl-navbar .dropdown-menu.dfl-dropdown {
  top: calc(100% - 10px) !important;
}

@media (max-width: 1320px) {
  .dfl-navbar .dfl-nav-container {
    gap: 18px !important;
    width: min(calc(100% - 44px), 1520px) !important;
  }

  .dfl-navbar .dfl-main-nav {
    gap: 16px !important;
  }

  .dfl-navbar .nav-link,
  html.page-home .dfl-navbar .nav-link,
  html:not(.page-home) .dfl-navbar .nav-link {
    font-size: 14px !important;
  }

  .dfl-navbar .dfl-nav-cta,
  html.page-home .dfl-navbar .dfl-nav-cta {
    min-height: 52px !important;
    padding: 0 22px !important;
  }
}

@media (max-width: 991px) {
  html,
  body {
    padding-top: 72px !important;
    scroll-padding-top: 76px !important;
  }

  .dfl-navbar.navbar.mega,
  html.page-home .dfl-navbar.navbar.mega,
  html:not(.page-home) .dfl-navbar.navbar.mega {
    display: none !important;
  }

  .site-header.style-1 {
    -webkit-backdrop-filter: blur(18px) saturate(1.18) !important;
    backdrop-filter: blur(18px) saturate(1.18) !important;
    background: rgba(7,22,50,.96) !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    display: block !important;
    height: 72px !important;
    left: 0 !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 72px !important;
    overflow: visible !important;
    padding: 0 !important;
    position: fixed !important;
    right: 0 !important;
    top: 0 !important;
    visibility: visible !important;
    width: 100% !important;
    z-index: 99999 !important;
  }

  .site-header.style-1 > .container,
  .site-header.style-1 > .container > .row {
    align-items: center !important;
    display: flex !important;
    height: 72px !important;
  }

  .site-header.style-1 .site-branding img {
    background: #fff !important;
    border-radius: 3px !important;
    height: 48px !important;
    padding: 3px !important;
    width: auto !important;
  }
}

/* Contact details card polish */
html.page-contact .contact-info-card.dfl-contact-card {
  align-content: start !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(223,31,38,.12), transparent 32%),
    radial-gradient(circle at 100% 100%, rgba(126,205,255,.10), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 30px !important;
  box-shadow: 0 28px 88px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.07) !important;
  display: grid !important;
  min-height: 0 !important;
  padding: clamp(32px, 3.4vw, 52px) !important;
}

html.page-contact .contact-info-card .dfl-section-title {
  color: #fff !important;
  font-size: clamp(38px, 3.8vw, 64px) !important;
  letter-spacing: -.06em !important;
  line-height: .98 !important;
  margin: 0 0 18px !important;
}

html.page-contact .dfl-contact-intro {
  color: rgba(239,246,255,.76) !important;
  font-size: clamp(15.5px, 1.05vw, 18px) !important;
  line-height: 1.65 !important;
  margin: 0 0 28px !important;
  max-width: 560px !important;
}

html.page-contact .dfl-contact-list {
  display: grid !important;
  gap: 14px !important;
  margin: 0 !important;
}

html.page-contact .dfl-contact-list p {
  align-items: center !important;
  background: rgba(7,22,50,.38) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  border-radius: 18px !important;
  color: rgba(239,246,255,.84) !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  min-height: 74px !important;
  padding: 16px 18px !important;
}

html.page-contact .dfl-contact-list p:hover {
  background: rgba(255,255,255,.075) !important;
  border-color: rgba(223,31,38,.34) !important;
}

html.page-contact .dfl-contact-list i {
  align-items: center !important;
  background: rgba(223,31,38,.14) !important;
  border: 1px solid rgba(223,31,38,.28) !important;
  border-radius: 14px !important;
  color: #ff4b51 !important;
  display: flex !important;
  font-size: 18px !important;
  height: 44px !important;
  justify-content: center !important;
  margin: 0 !important;
  width: 44px !important;
}

html.page-contact .dfl-contact-list span {
  color: rgba(239,246,255,.78) !important;
  display: grid !important;
  gap: 3px !important;
  font-size: clamp(15px, 1vw, 17px) !important;
}

html.page-contact .dfl-contact-list strong {
  color: #fff !important;
  display: block !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .13em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

html.page-contact .dfl-contact-direct-cta {
  align-items: center !important;
  align-self: end !important;
  background: linear-gradient(135deg, #ef3a3f, var(--dfl-red-dark)) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 46px rgba(223,31,38,.26) !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  gap: 10px !important;
  justify-content: center !important;
  margin-top: 28px !important;
  min-height: 56px !important;
  padding: 0 24px !important;
  text-decoration: none !important;
  width: fit-content !important;
}

html.page-contact .dfl-contact-direct-cta:hover {
  background: var(--dfl-red) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}

.dfl-tel-link,
.dfl-footer a.dfl-tel-link,
.office a.dfl-tel-link,
h3 a.dfl-tel-link {
  color: inherit !important;
  font: inherit !important;
  text-decoration: none !important;
}

.dfl-tel-link:hover,
.dfl-footer a.dfl-tel-link:hover,
.office a.dfl-tel-link:hover,
h3 a.dfl-tel-link:hover {
  color: var(--dfl-red) !important;
  text-decoration: none !important;
}

@media (max-width: 620px) {
  html.page-contact .dfl-contact-list p {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    padding: 14px !important;
  }

  html.page-contact .dfl-contact-list i {
    height: 40px !important;
    width: 40px !important;
  }
}

/* Approved roster card normalization */
html.page-team .dfl-team-roster-grid {
  align-items: stretch !important;
  gap: clamp(22px, 2.2vw, 30px) !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.038)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 26px !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card img {
  aspect-ratio: 4 / 4.4 !important;
  display: block !important;
  filter: saturate(1.02) contrast(1.02) !important;
  height: auto !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center top !important;
  width: 100% !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .content {
  align-content: start !important;
  background:
    linear-gradient(180deg, rgba(10,25,48,.98), rgba(7,22,50,.99)) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  min-height: 176px !important;
  padding: 22px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h3 {
  color: #fff !important;
  font-size: clamp(18px, 1.15vw, 21px) !important;
  line-height: 1.16 !important;
  margin: 0 0 8px !important;
  min-height: 48px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h5 {
  color: rgba(239,246,255,.72) !important;
  font-size: 13.5px !important;
  line-height: 1.42 !important;
  margin: 0 0 18px !important;
  min-height: 58px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .post-details {
  align-self: end !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .btn {
  justify-content: center !important;
  width: 100% !important;
}

/* Individual service pages: final dark system normalization */
html.page-ground,
html.page-ground body {
  background: var(--dfl-navy) !important;
}

html.page-ground .dfl-light-section,
html.page-ground .dfl-service-detail-section {
  background:
    radial-gradient(circle at 86% 6%, rgba(126, 205, 255, .11), transparent 30%),
    radial-gradient(circle at 8% 82%, rgba(223, 31, 38, .10), transparent 28%),
    linear-gradient(rgba(126, 205, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 205, 255, .035) 1px, transparent 1px),
    linear-gradient(180deg, #0a1930 0%, #071632 100%) !important;
  background-size: auto, auto, 76px 76px, 76px 76px, auto !important;
  color: #fff !important;
  padding: clamp(72px, 7vw, 112px) 0 !important;
}

html.page-ground .dfl-service-layout {
  align-items: start !important;
  display: grid !important;
  gap: clamp(30px, 4vw, 54px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important;
}

html.page-ground .dfl-service-main,
html.page-ground .dfl-service-main.dfl-card,
html.page-ground .dfl-service-main > section,
html.page-ground .dfl-service-main .service-brochure {
  background:
    radial-gradient(circle at 100% 0%, rgba(126, 205, 255, .11), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,.088), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 30px !important;
  box-shadow: 0 28px 86px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.07) !important;
  color: #fff !important;
}

html.page-ground .dfl-service-main,
html.page-ground .dfl-service-main.dfl-card {
  padding: clamp(26px, 3vw, 42px) !important;
}

html.page-ground .dfl-service-main > section {
  box-shadow: none !important;
  margin: 0 0 30px !important;
  padding: 0 !important;
}

html.page-ground .dfl-service-main > section:last-child {
  margin-bottom: 0 !important;
}

html.page-ground .dfl-service-main img,
html.page-ground main.dfl-service-main img.img-fluid {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 72px rgba(0,0,0,.24) !important;
  display: block !important;
  height: clamp(330px, 34vw, 500px) !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
}

html.page-ground .dfl-service-main h1,
html.page-ground .dfl-service-main h2,
html.page-ground .dfl-service-main h3,
html.page-ground .dfl-service-main h4,
html.page-ground .dfl-service-main h5,
html.page-ground .dfl-service-main h6 {
  color: #fff !important;
  font-family: var(--font-main) !important;
}

html.page-ground .dfl-service-main .custom-heading h2,
html.page-ground .dfl-service-main h2 {
  font-size: clamp(32px, 3vw, 48px) !important;
  font-weight: 850 !important;
  letter-spacing: -.04em !important;
  line-height: 1.02 !important;
  margin: 0 0 22px !important;
}

html.page-ground .dfl-service-main p,
html.page-ground .dfl-service-main li {
  color: rgba(239,246,255,.84) !important;
  font-size: clamp(15.5px, 1vw, 17px) !important;
  line-height: 1.78 !important;
}

html.page-ground .dfl-service-main ul {
  display: grid !important;
  gap: 12px !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
}

html.page-ground .dfl-service-main li {
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  list-style: none !important;
  padding: 13px 16px !important;
}

html.page-ground .dfl-service-main .service-brochure,
html.page-ground .dfl-service-main .highlight-part {
  background:
    linear-gradient(135deg, rgba(223,31,38,.18), rgba(126,205,255,.08)) !important;
  border-color: rgba(223,31,38,.28) !important;
  padding: clamp(22px, 2.4vw, 32px) !important;
}

html.page-ground .dfl-service-main .service-brochure p,
html.page-ground .dfl-service-main .highlight-part p {
  color: #fff !important;
  font-size: clamp(17px, 1.25vw, 20px) !important;
  font-weight: 750 !important;
  line-height: 1.48 !important;
  margin: 0 !important;
}

html.page-ground .dfl-service-sidebar {
  display: grid !important;
  gap: 22px !important;
  position: sticky !important;
  top: 116px !important;
}

html.page-ground .dfl-service-nav,
html.page-ground .dfl-sidebar-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(126,205,255,.09), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.088), rgba(255,255,255,.042)) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 76px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.07) !important;
  color: #fff !important;
  padding: 22px !important;
}

html.page-ground .dfl-service-nav {
  display: grid !important;
  gap: 12px !important;
}

html.page-ground .dfl-service-nav > div {
  margin: 0 !important;
}

html.page-ground .dfl-service-nav > div .content {
  background: rgba(7,22,50,.42) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 18px !important;
  box-shadow: none !important;
  padding: 14px !important;
  transition: background .22s ease, border-color .22s ease, transform .22s ease !important;
}

html.page-ground .dfl-service-nav > div.active .content,
html.page-ground .dfl-service-nav > div:hover .content {
  background: linear-gradient(135deg, rgba(223,31,38,.96), rgba(185,24,30,.94)) !important;
  border-color: rgba(255,255,255,.20) !important;
  transform: translateY(-1px) !important;
}

html.page-ground .dfl-service-nav .row {
  align-items: center !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  margin: 0 !important;
}

html.page-ground .dfl-service-nav [class*="col-"] {
  float: none !important;
  max-width: none !important;
  padding: 0 !important;
  width: auto !important;
}

html.page-ground .dfl-service-nav .type {
  align-items: center !important;
  background: rgba(223,31,38,.16) !important;
  border: 1px solid rgba(223,31,38,.28) !important;
  border-radius: 14px !important;
  color: var(--dfl-red) !important;
  display: flex !important;
  height: 44px !important;
  justify-content: center !important;
  margin: 0 !important;
  width: 44px !important;
}

html.page-ground .dfl-service-nav .type i {
  color: currentColor !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

html.page-ground .dfl-service-nav h3 {
  font-family: var(--font-main) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  line-height: 1.24 !important;
  margin: 0 !important;
}

html.page-ground .dfl-service-nav h3 a {
  color: #fff !important;
  text-decoration: none !important;
}

html.page-ground .dfl-service-nav > div.active .type,
html.page-ground .dfl-service-nav > div:hover .type {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.20) !important;
  color: #fff !important;
}

html.page-ground .dfl-sidebar-card h2,
html.page-ground .dfl-sidebar-card .custom-heading h2 {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  letter-spacing: .14em !important;
  margin: 0 0 18px !important;
  text-transform: uppercase !important;
}

html.page-ground .dfl-sidebar-card .office {
  display: grid !important;
  gap: 12px !important;
}

html.page-ground .dfl-sidebar-card .office p {
  align-items: start !important;
  background: rgba(7,22,50,.38) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px !important;
  color: rgba(239,246,255,.82) !important;
  display: grid !important;
  font-size: 14px !important;
  gap: 12px !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  line-height: 1.48 !important;
  margin: 0 !important;
  padding: 14px !important;
}

html.page-ground .dfl-sidebar-card .office i {
  align-items: center !important;
  color: var(--dfl-red) !important;
  display: flex !important;
  font-size: 15px !important;
  justify-content: center !important;
  margin-top: 2px !important;
}

html.page-ground .dfl-sidebar-card a {
  color: #fff !important;
  text-decoration: none !important;
}

html.page-ground .dfl-sidebar-card .btn-download,
html.page-ground .dfl-sidebar-card button.btn-download {
  align-items: center !important;
  background: var(--dfl-red) !important;
  border: 0 !important;
  border-radius: 16px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  gap: 10px !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 0 20px !important;
  text-transform: none !important;
  width: 100% !important;
}

html.page-ground .dfl-sidebar-card .btn-download:hover,
html.page-ground .dfl-sidebar-card button.btn-download:hover {
  background: var(--dfl-red-dark) !important;
}

html.page-ground .advisory {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98), rgba(7,22,50,.82)),
    url("../images/footer.png") center / cover no-repeat !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}

@media (max-width: 1000px) {
  html.page-ground .dfl-service-layout {
    grid-template-columns: 1fr !important;
  }

  html.page-ground .dfl-service-sidebar {
    position: static !important;
  }
}

@media (max-width: 640px) {
  html.page-ground .dfl-service-main,
  html.page-ground .dfl-service-main.dfl-card,
  html.page-ground .dfl-service-nav,
  html.page-ground .dfl-sidebar-card {
    border-radius: 22px !important;
    padding: 20px !important;
  }

  html.page-ground .dfl-service-main img,
  html.page-ground main.dfl-service-main img.img-fluid {
    height: 260px !important;
  }
}

/* Individual service pages: kill remaining old white Bootstrap widgets */
html.page-ground .dfl-service-main .accordion,
html.page-ground .dfl-service-main .panel-group,
html.page-ground .dfl-service-main #accordion {
  display: grid !important;
  gap: 16px !important;
  margin: 26px 0 0 !important;
}

html.page-ground .dfl-service-main .panel,
html.page-ground .dfl-service-main .panel-default,
html.page-ground .dfl-service-main .panel-heading,
html.page-ground .dfl-service-main .panel-collapse,
html.page-ground .dfl-service-main .panel-content,
html.page-ground .dfl-service-main .service-icon-list .content,
html.page-ground .dfl-service-main .service-menu .content,
html.page-ground .dfl-service-main .content,
html.page-ground .dfl-service-main .feature-list-item,
html.page-ground .dfl-service-main .single-service,
html.page-ground .dfl-service-main .single-item,
html.page-ground .dfl-service-main .item,
html.page-ground .dfl-service-main .box,
html.page-ground .dfl-service-main .card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.086), rgba(255,255,255,.042)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  box-shadow: none !important;
  color: rgba(239,246,255,.86) !important;
  transform: none !important;
}

html.page-ground .dfl-service-main .panel,
html.page-ground .dfl-service-main .panel-default {
  border-radius: 22px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

html.page-ground .dfl-service-main .panel-heading {
  align-items: center !important;
  border-radius: 0 !important;
  border-width: 0 0 1px !important;
  display: flex !important;
  min-height: 64px !important;
  padding: 0 !important;
}

html.page-ground .dfl-service-main .panel-title {
  font-family: var(--font-main) !important;
  font-size: clamp(18px, 1.3vw, 22px) !important;
  font-weight: 850 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  width: 100% !important;
}

html.page-ground .dfl-service-main .panel-title a {
  align-items: center !important;
  color: #fff !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  min-height: 64px !important;
  padding: 16px 20px !important;
  text-decoration: none !important;
}

html.page-ground .dfl-service-main .panel-title a i {
  align-items: center !important;
  background: rgba(223,31,38,.16) !important;
  border: 1px solid rgba(223,31,38,.28) !important;
  border-radius: 14px !important;
  color: var(--dfl-red) !important;
  display: flex !important;
  font-size: 15px !important;
  height: 42px !important;
  justify-content: center !important;
  width: 42px !important;
}

html.page-ground .dfl-service-main .panel-title a[aria-expanded="true"],
html.page-ground .dfl-service-main .panel-title a:hover {
  background:
    linear-gradient(90deg, rgba(223,31,38,.18), rgba(126,205,255,.06)) !important;
}

html.page-ground .dfl-service-main .panel-collapse,
html.page-ground .dfl-service-main .panel-content {
  border: 0 !important;
  border-radius: 0 !important;
}

html.page-ground .dfl-service-main .panel-content {
  color: rgba(239,246,255,.82) !important;
  font-family: var(--font-main) !important;
  font-size: clamp(15.5px, 1vw, 17px) !important;
  line-height: 1.7 !important;
  padding: 20px 24px 24px 76px !important;
}

html.page-ground .dfl-service-main .collapse:not(.in) {
  display: none !important;
}

html.page-ground .dfl-service-main .collapse.in {
  display: block !important;
}

html.page-ground .dfl-service-main .panel::before,
html.page-ground .dfl-service-main .panel::after,
html.page-ground .dfl-service-main .panel-heading::before,
html.page-ground .dfl-service-main .panel-heading::after,
html.page-ground .dfl-service-main .panel-title a::before,
html.page-ground .dfl-service-main .panel-title a::after {
  content: none !important;
  display: none !important;
}

html.page-ground .dfl-service-main table,
html.page-ground .dfl-service-main tbody,
html.page-ground .dfl-service-main tr,
html.page-ground .dfl-service-main td,
html.page-ground .dfl-service-main th {
  background: transparent !important;
  color: rgba(239,246,255,.84) !important;
}

html.page-ground .dfl-service-main .table,
html.page-ground .dfl-service-main table {
  border-color: rgba(255,255,255,.12) !important;
}

html.page-ground .dfl-service-main .table td,
html.page-ground .dfl-service-main .table th,
html.page-ground .dfl-service-main table td,
html.page-ground .dfl-service-main table th {
  border-color: rgba(255,255,255,.12) !important;
}

html.page-ground .dfl-service-main [style*="background:#fff"],
html.page-ground .dfl-service-main [style*="background: #fff"],
html.page-ground .dfl-service-main [style*="background-color:#fff"],
html.page-ground .dfl-service-main [style*="background-color: #fff"],
html.page-ground .dfl-service-main [style*="background:white"],
html.page-ground .dfl-service-main [style*="background: white"] {
  background:
    linear-gradient(145deg, rgba(255,255,255,.086), rgba(255,255,255,.042)) !important;
  color: rgba(239,246,255,.86) !important;
}

@media (max-width: 640px) {
  html.page-ground .dfl-service-main .panel-title a {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    padding: 14px !important;
  }

  html.page-ground .dfl-service-main .panel-title a i {
    height: 36px !important;
    width: 36px !important;
  }

  html.page-ground .dfl-service-main .panel-content {
    padding: 16px !important;
  }
}

/* Service pages final layout rescue: stop old Bootstrap columns from squeezing content */
html.page-ground .dfl-service-main > .row,
html.page-ground .dfl-service-main > [class*="col-"],
html.page-ground .dfl-service-main > .row > [class*="col-"] {
  display: block !important;
  float: none !important;
  margin: 0 0 30px !important;
  max-width: none !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-ground .dfl-service-main .custom-heading.part-heading,
html.page-ground .dfl-service-main .custom-heading.section-heading {
  margin: clamp(28px, 3vw, 42px) 0 20px !important;
  padding: 0 !important;
}

html.page-ground .dfl-service-main > section:nth-child(2) {
  background:
    linear-gradient(145deg, rgba(255,255,255,.072), rgba(255,255,255,.035)) !important;
  padding: clamp(24px, 2.6vw, 34px) !important;
}

html.page-ground .dfl-service-main > section:nth-child(2) p {
  max-width: 78ch !important;
}

html.page-ground .dfl-service-main .highlight-part:has(.accordion),
html.page-ground .dfl-service-main section.highlight-part:has(.accordion) {
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 26px !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.18) !important;
  padding: clamp(22px, 2.4vw, 32px) !important;
  width: 100% !important;
}

html.page-ground .dfl-service-main .accordion,
html.page-ground .dfl-service-main #accordion {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

html.page-ground .dfl-service-main .panel,
html.page-ground .dfl-service-main .panel-default {
  min-height: 100% !important;
}

html.page-ground .dfl-service-main .panel-heading {
  background:
    linear-gradient(135deg, rgba(223,31,38,.14), rgba(126,205,255,.045)) !important;
}

html.page-ground .dfl-service-main .panel-title a {
  grid-template-columns: 40px minmax(0, 1fr) !important;
}

html.page-ground .dfl-service-main .panel-title a span {
  color: #fff !important;
  display: block !important;
  font-size: clamp(17px, 1.15vw, 20px) !important;
  line-height: 1.22 !important;
}

html.page-ground .dfl-service-main .collapse,
html.page-ground .dfl-service-main .collapse.in,
html.page-ground .dfl-service-main .collapsing {
  display: block !important;
  height: auto !important;
  opacity: 1 !important;
  overflow: visible !important;
  transition: none !important;
  visibility: visible !important;
}

html.page-ground .dfl-service-main .panel-content {
  color: rgba(239,246,255,.86) !important;
  padding: 18px 20px 22px !important;
}

html.page-ground .dfl-service-main .service-brochure:has(img),
html.page-ground .dfl-service-main .highlight-part:has(img) {
  align-items: center !important;
  background:
    radial-gradient(circle at 12% 10%, rgba(223,31,38,.18), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.034)) !important;
  display: flex !important;
  justify-content: center !important;
  min-height: 320px !important;
  padding: clamp(20px, 2.2vw, 30px) !important;
}

html.page-ground .dfl-service-main .service-brochure img,
html.page-ground .dfl-service-main .highlight-part img {
  background: transparent !important;
  border: 0 !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  display: block !important;
  height: auto !important;
  max-height: 360px !important;
  max-width: min(100%, 620px) !important;
  object-fit: contain !important;
  width: auto !important;
}

html.page-ground .dfl-service-main p,
html.page-ground .dfl-service-main .panel-content,
html.page-ground .dfl-sidebar-card .office p,
html.page-ground .dfl-service-nav h3 a {
  text-shadow: none !important;
}

html.page-ground .dfl-service-nav h3 {
  font-size: 15px !important;
}

html.page-ground .dfl-sidebar-card .office p {
  color: rgba(239,246,255,.88) !important;
}

@media (max-width: 1180px) {
  html.page-ground .dfl-service-layout {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 350px) !important;
  }
}

@media (max-width: 1000px) {
  html.page-ground .dfl-service-layout {
    grid-template-columns: 1fr !important;
  }

  html.page-ground .dfl-service-main .accordion,
  html.page-ground .dfl-service-main #accordion {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  html.page-ground .dfl-service-main > section:nth-child(2),
  html.page-ground .dfl-service-main .highlight-part:has(.accordion),
  html.page-ground .dfl-service-main section.highlight-part:has(.accordion) {
    padding: 18px !important;
  }

  html.page-ground .dfl-service-main .service-brochure:has(img),
  html.page-ground .dfl-service-main .highlight-part:has(img) {
    min-height: 220px !important;
  }
}

/* Service pages: polished secondary feature lists and closing callouts */
html.page-ground .dfl-service-main > section:has(ul.list-unstyled),
html.page-ground .dfl-service-main > section:has(.list-item-icon) {
  background:
    radial-gradient(circle at 100% 0%, rgba(126,205,255,.08), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.18) !important;
  margin: 0 0 30px !important;
  padding: clamp(26px, 3vw, 40px) !important;
}

html.page-ground .dfl-service-main > section:has(ul.list-unstyled) .custom-heading,
html.page-ground .dfl-service-main > section:has(.list-item-icon) .custom-heading {
  margin: 0 0 22px !important;
}

html.page-ground .dfl-service-main > section:has(ul.list-unstyled) h2,
html.page-ground .dfl-service-main > section:has(.list-item-icon) h2 {
  font-size: clamp(32px, 3.2vw, 50px) !important;
  margin: 0 !important;
}

html.page-ground .dfl-service-main ul.list-unstyled,
html.page-ground .dfl-service-main ul:has(.list-item-icon) {
  display: grid !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.page-ground .dfl-service-main li.list-item-icon {
  align-items: center !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.072), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 18px !important;
  color: rgba(248,251,255,.90) !important;
  display: grid !important;
  font-size: clamp(16px, 1.1vw, 18px) !important;
  font-weight: 650 !important;
  gap: 14px !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  line-height: 1.42 !important;
  min-height: 64px !important;
  padding: 14px 18px !important;
}

html.page-ground .dfl-service-main li.list-item-icon i {
  align-items: center !important;
  background: rgba(223,31,38,.16) !important;
  border: 1px solid rgba(223,31,38,.28) !important;
  border-radius: 13px !important;
  color: var(--dfl-red) !important;
  display: flex !important;
  font-size: 14px !important;
  height: 38px !important;
  justify-content: center !important;
  line-height: 1 !important;
  margin: 0 !important;
  width: 38px !important;
}

html.page-ground .dfl-service-main > section:has(.service-brochure.highlight-part) {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.page-ground .dfl-service-main .service-brochure.highlight-part:not(:has(img)) {
  background:
    radial-gradient(circle at 6% 20%, rgba(223,31,38,.22), transparent 34%),
    linear-gradient(135deg, rgba(223,31,38,.16), rgba(126,205,255,.075)) !important;
  border: 1px solid rgba(223,31,38,.30) !important;
  border-radius: 28px !important;
  box-shadow: 0 22px 72px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.08) !important;
  margin: clamp(28px, 3vw, 44px) 0 0 !important;
  padding: clamp(26px, 3vw, 40px) !important;
}

html.page-ground .dfl-service-main .service-brochure.highlight-part:not(:has(img)) p {
  color: #fff !important;
  font-size: clamp(20px, 1.8vw, 30px) !important;
  font-weight: 850 !important;
  letter-spacing: -.03em !important;
  line-height: 1.28 !important;
  max-width: 34ch !important;
}

@media (max-width: 640px) {
  html.page-ground .dfl-service-main > section:has(ul.list-unstyled),
  html.page-ground .dfl-service-main > section:has(.list-item-icon) {
    padding: 20px !important;
  }

  html.page-ground .dfl-service-main li.list-item-icon {
    grid-template-columns: 34px minmax(0, 1fr) !important;
    min-height: 56px !important;
    padding: 12px !important;
  }

  html.page-ground .dfl-service-main li.list-item-icon i {
    height: 34px !important;
    width: 34px !important;
  }
}

/* Homepage why section: image belongs to the section background, not a separate card */
html.page-home .dfl-why-section {
  overflow: hidden !important;
  position: relative !important;
}

html.page-home .dfl-why-section > .container {
  position: relative !important;
  z-index: 4 !important;
}

html.page-home .dfl-why-layout {
  display: block !important;
  min-height: clamp(650px, 58vw, 860px) !important;
  position: relative !important;
}

html.page-home .dfl-why-copy {
  max-width: min(680px, 52vw) !important;
  position: relative !important;
  z-index: 5 !important;
}

html.page-home .dfl-why-visual {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  bottom: -8% !important;
  box-shadow: none !important;
  left: 35% !important;
  min-height: 0 !important;
  overflow: visible !important;
  position: absolute !important;
  right: -10% !important;
  top: -8% !important;
  z-index: 1 !important;
}

html.page-home .dfl-why-visual img {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: saturate(1.04) contrast(1.08) brightness(.82) !important;
  height: 100% !important;
  inset: 0 !important;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 8%, rgba(0,0,0,.82) 26%, #000 58%, rgba(0,0,0,.76) 82%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.75) 13%, #000 42%, rgba(0,0,0,.76) 82%, transparent 100%) !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 8%, rgba(0,0,0,.82) 26%, #000 58%, rgba(0,0,0,.76) 82%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.75) 13%, #000 42%, rgba(0,0,0,.76) 82%, transparent 100%) !important;
  mask-composite: intersect !important;
  -webkit-mask-composite: source-in !important;
  object-fit: cover !important;
  object-position: center right !important;
  opacity: .86 !important;
  position: absolute !important;
  transform: none !important;
  width: 100% !important;
}

html.page-home .dfl-why-visual::before {
  background:
    linear-gradient(90deg, rgba(7,22,50,1) 0%, rgba(7,22,50,.82) 18%, rgba(7,22,50,.34) 42%, rgba(7,22,50,.16) 70%, rgba(7,22,50,.68) 100%),
    linear-gradient(180deg, rgba(7,22,50,.86), rgba(7,22,50,.06) 38%, rgba(7,22,50,.90)) !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
  content: "" !important;
  inset: -2px !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 2 !important;
}

html.page-home .dfl-why-visual::after {
  background:
    radial-gradient(circle at 68% 42%, rgba(126,205,255,.16), transparent 24%),
    radial-gradient(circle at 44% 68%, rgba(223,31,38,.08), transparent 22%) !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 3 !important;
}

html.page-home .dfl-why-visual .dfl-visual-hud {
  display: none !important;
}

@media (max-width: 900px) {
  html.page-home .dfl-why-layout {
    min-height: 0 !important;
  }

  html.page-home .dfl-why-copy {
    max-width: none !important;
  }

  html.page-home .dfl-why-visual {
    bottom: 0 !important;
    left: 0 !important;
    min-height: 0 !important;
    opacity: .42 !important;
    right: -35% !important;
    top: 0 !important;
  }

  html.page-home .dfl-why-visual img {
    mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.66) 20%, #000 74%, transparent 100%),
      linear-gradient(180deg, transparent 0%, #000 16%, #000 82%, transparent 100%) !important;
    -webkit-mask-image:
      linear-gradient(90deg, transparent 0%, rgba(0,0,0,.66) 20%, #000 74%, transparent 100%),
      linear-gradient(180deg, transparent 0%, #000 16%, #000 82%, transparent 100%) !important;
  }
}

/* Final homepage why-section treatment: the image is part of the atmosphere, not a visible card/layer */
html.page-home .dfl-why-section {
  background:
    radial-gradient(circle at 14% 18%, rgba(223, 31, 38, .10), transparent 30%),
    radial-gradient(circle at 74% 45%, rgba(126, 205, 255, .12), transparent 34%),
    linear-gradient(180deg, #0c1d38 0%, #071632 100%) !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-home .dfl-why-section::after {
  background:
    linear-gradient(90deg, rgba(7, 22, 50, 1) 0%, rgba(7, 22, 50, .94) 36%, rgba(7, 22, 50, .48) 62%, rgba(7, 22, 50, .86) 100%),
    linear-gradient(180deg, rgba(7, 22, 50, .96) 0%, rgba(7, 22, 50, .16) 38%, rgba(7, 22, 50, .96) 100%),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .92 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 0 !important;
}

html.page-home .dfl-why-section::before {
  background:
    linear-gradient(rgba(126, 205, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126, 205, 255, .035) 1px, transparent 1px),
    radial-gradient(circle at 58% 36%, rgba(126, 205, 255, .14), transparent 24%) !important;
  background-size: 84px 84px, 84px 84px, auto !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .52 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: 1 !important;
}

html.page-home .dfl-why-section > .container {
  position: relative !important;
  z-index: 3 !important;
}

html.page-home .dfl-why-layout {
  display: block !important;
  min-height: auto !important;
}

html.page-home .dfl-why-copy {
  max-width: min(760px, 58vw) !important;
  position: relative !important;
  z-index: 4 !important;
}

html.page-home .dfl-why-visual {
  display: none !important;
}

.dfl-footer .dfl-footer-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 20px !important;
}

.dfl-footer .dfl-footer-social a {
  align-items: center !important;
  background: rgba(255, 255, 255, .07) !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: 14px !important;
  color: rgba(255, 255, 255, .88) !important;
  display: inline-flex !important;
  height: 40px !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
  width: 40px !important;
}

.dfl-footer .dfl-footer-social a:hover {
  background: var(--dfl-red) !important;
  border-color: var(--dfl-red) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}

.dfl-footer .dfl-footer-social i {
  font-size: 16px !important;
  line-height: 1 !important;
}

@media (max-width: 900px) {
  html.page-home .dfl-why-section::after {
    background:
      linear-gradient(90deg, rgba(7, 22, 50, .98) 0%, rgba(7, 22, 50, .84) 58%, rgba(7, 22, 50, .74) 100%),
      linear-gradient(180deg, rgba(7, 22, 50, .92) 0%, rgba(7, 22, 50, .34) 48%, rgba(7, 22, 50, .96) 100%),
      url("../dfl-homepage.png") center right / cover no-repeat !important;
    opacity: .58 !important;
  }

  html.page-home .dfl-why-copy {
    max-width: none !important;
  }
}

/* Team page feature image, using the approved homepage team photo as a premium culture band */
html.page-team .dfl-team-culture-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(223,31,38,.11), transparent 30%),
    radial-gradient(circle at 78% 30%, rgba(126,205,255,.12), transparent 32%),
    linear-gradient(180deg, #071632 0%, #0a1930 100%) !important;
  color: #fff !important;
  overflow: hidden !important;
  padding: clamp(76px, 7vw, 116px) 0 !important;
  position: relative !important;
}

html.page-team .dfl-team-culture-section::before {
  background:
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px) !important;
  background-size: 82px 82px !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-team .dfl-team-culture-panel {
  align-items: stretch !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 32px !important;
  box-shadow: 0 34px 96px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr) !important;
  min-height: 430px !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-team .dfl-team-culture-image {
  min-height: 430px !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-team .dfl-team-culture-image::after {
  background:
    linear-gradient(90deg, transparent 0%, rgba(7,22,50,.18) 58%, rgba(7,22,50,.94) 100%),
    linear-gradient(180deg, rgba(7,22,50,.18), rgba(7,22,50,.40)) !important;
  content: "" !important;
  inset: 0 !important;
  position: absolute !important;
}

html.page-team .dfl-team-culture-image img {
  display: block !important;
  filter: saturate(1.04) contrast(1.04) brightness(.88) !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.02) !important;
  width: 100% !important;
}

html.page-team .dfl-team-culture-copy {
  align-content: center !important;
  display: grid !important;
  padding: clamp(34px, 4vw, 58px) !important;
  position: relative !important;
  z-index: 2 !important;
}

html.page-team .dfl-team-culture-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(38px, 4vw, 64px) !important;
  margin-bottom: 18px !important;
}

html.page-team .dfl-team-culture-copy p {
  color: rgba(239,246,255,.82) !important;
  font-size: clamp(16px, 1.15vw, 19px) !important;
  line-height: 1.72 !important;
  margin: 0 0 28px !important;
  max-width: 62ch !important;
}

html.page-team .dfl-team-culture-points {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

html.page-team .dfl-team-culture-points span {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.90) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 10px 14px !important;
}

/* Site-wide responsive hardening */
@media (max-width: 991px) {
  html,
  body {
    padding-top: 0 !important;
  }

  .site-header.style-1 {
    position: sticky !important;
    top: 0 !important;
  }

  .dfl-page-hero {
    min-height: 220px !important;
    padding: 70px 0 46px !important;
  }

  .dfl-page-hero h1 {
    font-size: clamp(34px, 10vw, 54px) !important;
  }

  html.page-home .dfl-hero {
    min-height: auto !important;
    padding: clamp(70px, 14vw, 96px) 0 clamp(46px, 10vw, 72px) !important;
  }

  html.page-home .dfl-hero-content {
    padding-top: 0 !important;
  }

  html.page-home .dfl-hero-main {
    display: block !important;
  }

  html.page-home .dfl-hero-copy {
    max-width: none !important;
    padding: 0 !important;
  }

  html.page-home .dfl-hero h1 {
    font-size: clamp(43px, 12.5vw, 66px) !important;
    line-height: .96 !important;
  }

  html.page-home .dfl-hero-text {
    font-size: 16px !important;
    max-width: 34rem !important;
  }

  html.page-home .dfl-trust-strip {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: 32px !important;
    padding: 0 !important;
  }

  html.page-home .dfl-trust-item {
    align-items: center !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 18px !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    min-height: 92px !important;
    padding: 16px !important;
  }

  html.page-home .dfl-trust-item i {
    font-size: 24px !important;
    grid-row: span 2 !important;
  }

  html.page-home .dfl-trust-item strong {
    font-size: clamp(22px, 5.2vw, 30px) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }

  html.page-home .dfl-trust-item span {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .dfl-section,
  .dfl-light-section,
  .dfl-dark-section,
  .dfl-service-detail-section,
  .dfl-team-roster-section,
  .dfl-team-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .dfl-container,
  .container {
    width: min(calc(100% - 32px), var(--dfl-container)) !important;
  }

  html.page-team .dfl-team-culture-panel {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  html.page-team .dfl-team-culture-image {
    min-height: clamp(260px, 58vw, 420px) !important;
  }

  html.page-team .dfl-team-culture-image::after {
    background: linear-gradient(180deg, transparent 0%, rgba(7,22,50,.88) 100%) !important;
  }
}

@media (max-width: 620px) {
  .site-header.style-1 {
    height: 66px !important;
    min-height: 66px !important;
  }

  .site-header.style-1 > .container,
  .site-header.style-1 > .container > .row {
    height: 66px !important;
  }

  .site-header.style-1 .site-branding img {
    height: 42px !important;
  }

  .site-header.style-1 .trigger-menu {
    height: 42px !important;
    width: 42px !important;
  }

  html.page-home .dfl-trust-strip {
    grid-template-columns: 1fr !important;
  }

  html.page-home .dfl-hero-actions,
  .dfl-final-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  html.page-home .dfl-hero-actions .dfl-btn,
  .dfl-final-actions .dfl-btn {
    width: 100% !important;
  }

  .dfl-service-grid,
  html.page-team .dfl-team-roster-grid,
  .dfl-capability-row,
  .dfl-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .dfl-card,
  .dfl-dark-card,
  .dfl-service-main,
  .dfl-form-card,
  .dfl-contact-card {
    border-radius: 22px !important;
    padding: 22px !important;
  }
}
/* FINAL MOBILE NAV, SERVICES DROPDOWN, HOMEPAGE WHY IMAGE, AND FORM STABILITY PASS */
html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body.dfl-mobile-nav-open {
  overflow: hidden !important;
}

#mobile-menu {
  position: fixed !important;
  top: 76px !important;
  left: 16px !important;
  right: 16px !important;
  z-index: 100000 !important;
  display: block !important;
  max-height: calc(100vh - 96px) !important;
  overflow: auto !important;
  padding: 10px !important;
  margin: 0 !important;
  background:
    linear-gradient(145deg, rgba(13, 30, 58, 0.98), rgba(7, 22, 50, 0.98)),
    radial-gradient(circle at 100% 0%, rgba(223, 31, 38, 0.14), transparent 38%) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 24px !important;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.46) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-14px) scale(0.98) !important;
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease !important;
}

body.dfl-mobile-nav-open #mobile-menu,
#mobile-menu.dfl-mobile-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

#mobile-menu ul,
#mobile-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#mobile-menu > ul {
  display: grid !important;
  gap: 5px !important;
}

#mobile-menu a {
  display: flex !important;
  align-items: center !important;
  min-height: 46px !important;
  padding: 11px 14px !important;
  color: rgba(255, 255, 255, 0.92) !important;
  border-radius: 14px !important;
  text-decoration: none !important;
  font-family: var(--font-main) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}

#mobile-menu a:hover,
#mobile-menu a:focus {
  color: #fff !important;
  background: rgba(223, 31, 38, 0.18) !important;
}

#mobile-menu li ul {
  margin: 4px 0 8px 14px !important;
  padding-left: 12px !important;
  border-left: 1px solid rgba(255, 255, 255, 0.12) !important;
}

#mobile-menu li ul a {
  min-height: 38px !important;
  padding: 8px 10px !important;
  color: rgba(226, 236, 248, 0.76) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.site-header.style-1,
.dfl-mobile-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  background: rgba(7, 22, 50, 0.96) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(18px) !important;
}

.site-header.style-1 .site-branding img,
.dfl-mobile-site-header .site-branding img {
  max-height: 56px !important;
  width: auto !important;
  display: block !important;
  border-radius: 8px !important;
}

.site-header.style-1 .trigger-menu {
  float: right !important;
  position: relative !important;
  display: inline-flex !important;
  width: 48px !important;
  height: 48px !important;
  margin-top: 6px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 15px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  box-shadow: none !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

.site-header.style-1 .trigger-menu::before,
.site-header.style-1 .trigger-menu::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  width: 20px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: #fff !important;
  transform: translateX(-50%) !important;
  transition: transform 0.2s ease, top 0.2s ease, box-shadow 0.2s ease !important;
}

.site-header.style-1 .trigger-menu::before {
  top: 17px !important;
  box-shadow: 0 7px 0 #fff !important;
}

.site-header.style-1 .trigger-menu::after {
  top: 31px !important;
}

body.dfl-mobile-nav-open .site-header.style-1 .trigger-menu::before {
  top: 24px !important;
  transform: translateX(-50%) rotate(45deg) !important;
  box-shadow: none !important;
}

body.dfl-mobile-nav-open .site-header.style-1 .trigger-menu::after {
  top: 24px !important;
  transform: translateX(-50%) rotate(-45deg) !important;
}

@media (min-width: 992px) {
  #mobile-menu,
  .site-header.style-1 {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .dfl-navbar {
    display: none !important;
  }

  .site-header.style-1,
  .dfl-mobile-site-header {
    display: block !important;
    padding: 8px 0 !important;
  }
}

.dfl-navbar .dfl-services-dropdown {
  width: min(520px, calc(100vw - 32px)) !important;
  padding: 18px !important;
  gap: 8px !important;
  background:
    linear-gradient(150deg, rgba(9, 25, 52, 0.98), rgba(7, 22, 50, 0.98)),
    radial-gradient(circle at 90% 5%, rgba(223, 31, 38, 0.14), transparent 35%) !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 22px !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.35) !important;
}

.dfl-navbar .dfl-services-dropdown a {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 50px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
  color: rgba(244, 248, 255, 0.86) !important;
  text-decoration: none !important;
}

.dfl-navbar .dfl-services-dropdown a:hover,
.dfl-navbar .dfl-services-dropdown a:focus {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.07) !important;
}

.dfl-navbar .dfl-services-dropdown i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  color: #ff555b !important;
  font-size: 15px !important;
  line-height: 1 !important;
  border-radius: 12px !important;
  background: rgba(223, 31, 38, 0.13) !important;
  border: 1px solid rgba(223, 31, 38, 0.3) !important;
}

.dfl-navbar .dfl-services-dropdown span {
  display: block !important;
  min-width: 0 !important;
  color: inherit !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  white-space: normal !important;
}

html.page-home .dfl-service-grid .dfl-service-card,
html.page-home .dfl-service-grid .dfl-service-card:nth-child(1),
html.page-home .dfl-service-grid .dfl-service-card:nth-child(7),
html.page-services .dfl-services-directory .dfl-service-card,
html.page-services .dfl-services-directory .dfl-service-card:nth-child(1),
html.page-services .dfl-services-directory .dfl-service-card:nth-child(7) {
  background:
    linear-gradient(145deg, rgba(22, 44, 78, 0.88), rgba(13, 30, 58, 0.94)),
    radial-gradient(circle at 100% 0%, rgba(223, 31, 38, 0.14), transparent 40%) !important;
  border: 1px solid rgba(142, 177, 220, 0.22) !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18) !important;
}

html.page-home .dfl-service-grid .dfl-service-card:hover,
html.page-home .dfl-service-grid .dfl-service-card:focus,
html.page-services .dfl-services-directory .dfl-service-card:hover,
html.page-services .dfl-services-directory .dfl-service-card:focus {
  background:
    linear-gradient(145deg, rgba(31, 57, 96, 0.96), rgba(13, 30, 58, 0.98)),
    radial-gradient(circle at 100% 0%, rgba(223, 31, 38, 0.22), transparent 44%) !important;
  border-color: rgba(223, 31, 38, 0.44) !important;
  transform: translateY(-3px) !important;
}

html.page-home .dfl-why-section {
  position: relative !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(10, 30, 58, 1), rgba(7, 22, 50, 1)) !important;
}

html.page-home .dfl-why-section > .container {
  position: relative !important;
  z-index: 4 !important;
}

html.page-home .dfl-why-layout {
  position: relative !important;
  display: block !important;
  min-height: clamp(640px, 58vw, 840px) !important;
}

html.page-home .dfl-why-copy {
  position: relative !important;
  z-index: 6 !important;
  max-width: min(760px, 56vw) !important;
}

html.page-home .dfl-why-visual {
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  top: -4% !important;
  bottom: -6% !important;
  left: 34% !important;
  right: -11% !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

html.page-home .dfl-why-visual img {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center right !important;
  opacity: 0.88 !important;
  filter: saturate(1.15) contrast(1.08) brightness(1.06) !important;
  transform: scale(1.12) !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.12) 9%, rgba(0, 0, 0, 0.9) 33%, #000 78%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 12%, #000 86%, transparent 100%) !important;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.12) 9%, rgba(0, 0, 0, 0.9) 33%, #000 78%, transparent 100%),
    linear-gradient(180deg, transparent 0%, #000 12%, #000 86%, transparent 100%) !important;
  -webkit-mask-composite: source-in !important;
  mask-composite: intersect !important;
}

html.page-home .dfl-why-visual::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background:
    linear-gradient(90deg, rgba(7, 22, 50, 0.98) 0%, rgba(7, 22, 50, 0.72) 24%, rgba(7, 22, 50, 0.12) 58%, rgba(7, 22, 50, 0.76) 100%),
    linear-gradient(180deg, rgba(7, 22, 50, 0.95) 0%, transparent 30%, transparent 68%, rgba(7, 22, 50, 0.95) 100%) !important;
  pointer-events: none !important;
}

html.page-home .dfl-why-visual::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  opacity: 0.16 !important;
  background-image:
    linear-gradient(rgba(120, 180, 245, 0.26) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 180, 245, 0.26) 1px, transparent 1px) !important;
  background-size: 76px 76px !important;
  pointer-events: none !important;
}

html.page-home .dfl-why-visual .dfl-visual-hud {
  display: none !important;
}

@media (max-width: 991px) {
  html.page-home .dfl-hero {
    padding-top: 0 !important;
  }

  html.page-home .dfl-why-layout {
    min-height: auto !important;
    padding-bottom: 260px !important;
  }

  html.page-home .dfl-why-copy {
    max-width: 100% !important;
  }

  html.page-home .dfl-why-visual {
    top: auto !important;
    left: -20px !important;
    right: -20px !important;
    bottom: 0 !important;
    height: 340px !important;
    opacity: 0.72 !important;
  }

  html.page-home .dfl-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }
}

@media (max-width: 575px) {
  #mobile-menu {
    top: 72px !important;
    left: 12px !important;
    right: 12px !important;
    border-radius: 20px !important;
  }

  html.page-home .dfl-trust-strip {
    grid-template-columns: 1fr !important;
  }

  html.page-home .dfl-why-layout {
    padding-bottom: 220px !important;
  }

  html.page-home .dfl-why-visual {
    height: 280px !important;
  }
}

/* ABSOLUTE FINAL RESPONSIVE OVERRIDES - kept at EOF so old accumulated rules cannot win */
html,
body,
#page,
.site {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  overflow-x: hidden !important;
}

#mobile-menu {
  display: block !important;
  position: fixed !important;
  top: 76px !important;
  left: 16px !important;
  right: 16px !important;
  width: auto !important;
  max-width: none !important;
  max-height: calc(100dvh - 96px) !important;
  overflow-y: auto !important;
  z-index: 2147483000 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-10px) scale(0.98) !important;
}

body.dfl-mobile-nav-open #mobile-menu,
#mobile-menu.dfl-mobile-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}

@media (max-width: 991px) {
  .dfl-navbar {
    display: none !important;
  }

  .site-header.style-1,
  .dfl-mobile-site-header {
    display: block !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 2147482000 !important;
    width: 100% !important;
    min-height: 72px !important;
    padding: 8px 0 !important;
  }

  .site-header.style-1 > .container,
  .dfl-mobile-site-header > .container {
    width: calc(100% - 28px) !important;
  }

  .site-header.style-1 .row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 58px !important;
  }

  .site-header.style-1 .site-branding {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: calc(100% - 68px) !important;
  }

  .site-header.style-1 .site-branding img {
    height: 48px !important;
    max-height: 48px !important;
    width: auto !important;
  }

  html.page-home .dfl-hero {
    min-height: 780px !important;
    padding: 76px 0 44px !important;
    overflow: hidden !important;
  }

  html.page-home .dfl-hero-main {
    display: block !important;
    position: relative !important;
    min-height: 520px !important;
  }

  html.page-home .dfl-hero-copy {
    position: relative !important;
    z-index: 6 !important;
    max-width: min(560px, 92vw) !important;
    padding: 0 !important;
  }

  html.page-home .dfl-hero-copy::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    inset: -26px -18px -28px -18px !important;
    background: radial-gradient(circle at 0% 30%, rgba(7,22,50,.96), rgba(7,22,50,.74) 58%, transparent 100%) !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html.page-home .dfl-hero-route-card {
    display: block !important;
    position: absolute !important;
    z-index: 2 !important;
    top: 54px !important;
    right: -64vw !important;
    width: 148vw !important;
    height: 520px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: .54 !important;
    pointer-events: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: scale(1.28) translateX(-6%) !important;
    transform-origin: 70% 48% !important;
  }

  html.page-home .dfl-route-card .dfl-route-labels {
    display: none !important;
  }
}

@media (max-width: 575px) {
  #mobile-menu {
    top: 72px !important;
    left: 12px !important;
    right: 12px !important;
  }

  html.page-home .dfl-hero {
    min-height: 780px !important;
    padding-top: 58px !important;
  }

  html.page-home .dfl-hero h1 {
    font-size: clamp(40px, 13vw, 58px) !important;
  }

  html.page-home .dfl-hero-route-card {
    top: 120px !important;
    right: -94vw !important;
    width: 190vw !important;
    height: 480px !important;
    opacity: .50 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    transform: scale(1.45) translateX(-8%) !important;
  }
}

html.page-home .dfl-why-section {
  isolation: isolate !important;
}

html.page-home .dfl-why-section::after,
html.page-home .dfl-why-visual::after {
  display: none !important;
  content: none !important;
}

html.page-home .dfl-why-visual {
  left: 24% !important;
  right: -14% !important;
  top: -9% !important;
  bottom: -10% !important;
  opacity: 1 !important;
}

html.page-home .dfl-why-visual img {
  opacity: .86 !important;
  transform: scale(1.18) !important;
  object-position: 72% center !important;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.04) 8%, rgba(0,0,0,.28) 20%, rgba(0,0,0,.82) 41%, #000 76%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.72) 9%, #000 26%, #000 78%, transparent 100%) !important;
  mask-image:
    linear-gradient(90deg, transparent 0%, rgba(0,0,0,.04) 8%, rgba(0,0,0,.28) 20%, rgba(0,0,0,.82) 41%, #000 76%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.72) 9%, #000 26%, #000 78%, transparent 100%) !important;
}

html.page-home .dfl-why-visual::before {
  background:
    linear-gradient(90deg, rgba(7,22,50,.99) 0%, rgba(7,22,50,.88) 20%, rgba(7,22,50,.28) 52%, rgba(7,22,50,.70) 100%),
    linear-gradient(180deg, rgba(7,22,50,.96) 0%, transparent 34%, transparent 66%, rgba(7,22,50,.98) 100%) !important;
}

/* FINAL CLIENT POLISH PASS: mobile nav, hero/map balance, team clarity */
.dfl-menu-toggle {
  display: none;
}

body.dfl-menu-open,
body.dfl-mobile-nav-open {
  overflow: hidden !important;
}

html.page-home .dfl-hero {
  min-height: clamp(720px, 92vh, 980px) !important;
  overflow: hidden !important;
}

html.page-home .dfl-hero-bg {
  background-size: cover !important;
  background-position: center right !important;
}

.dfl-route-layer,
.dfl-route-map,
#dflRouteMap,
html.page-home .dfl-hero-route-card {
  pointer-events: none !important;
}

html.page-home .dfl-team-feature img,
html.page-home .dfl-team-section img,
html.page-home .dfl-people-section img,
html.page-home .dfl-home-team img,
html.page-team .dfl-team-culture-image img {
  filter: brightness(1.14) contrast(1.04) saturate(1.04) !important;
}

html.page-home .dfl-team-image::after,
html.page-home .dfl-team-section .dfl-image-card::after,
html.page-home .dfl-people-section .dfl-image-card::after,
html.page-home .dfl-home-team .dfl-image-card::after,
html.page-team .dfl-team-culture-image::after {
  background: linear-gradient(90deg, rgba(7,22,50,0.08), rgba(7,22,50,0.18)) !important;
  opacity: 0.35 !important;
}

html.page-team .members-grid,
html.page-team .dfl-team-roster-grid,
.dfl-team-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 34px !important;
}

html.page-team .team-member,
html.page-team .member-card,
html.page-team .dfl-team-member-card {
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 28px 90px rgba(0,0,0,0.26) !important;
  transition: transform 0.25s ease, border-color 0.25s ease !important;
}

html.page-team .team-member img,
html.page-team .member-card img,
html.page-team .dfl-team-member-card img,
html.page-team .members-grid img {
  width: 100% !important;
  height: 420px !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}

html.page-team .team-member h3,
html.page-team .member-card h3,
html.page-team .dfl-team-member-card h3,
html.page-team .members-grid h3 {
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.05 !important;
  font-weight: 850 !important;
  color: #fff !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.04em !important;
}

html.page-team .team-member h5,
html.page-team .member-card h5,
html.page-team .dfl-team-member-card h5,
html.page-team .members-grid h5,
html.page-team .team-member .designation,
html.page-team .member-card .designation,
html.page-team .dfl-team-member-card .designation {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: rgba(223,31,38,0.12) !important;
  border: 1px solid rgba(223,31,38,0.26) !important;
  color: rgba(255,255,255,0.86) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
  font-style: normal !important;
  margin: 0 0 28px !important;
}

html.page-team .team-member .content,
html.page-team .member-card .content,
html.page-team .dfl-team-member-card .content,
html.page-team .members-grid .content {
  padding: 30px !important;
}

html.page-team .team-member .btn,
html.page-team .member-card .btn,
html.page-team .dfl-team-member-card .btn,
html.page-team .members-grid .btn {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 14px !important;
  font-weight: 850 !important;
}

html.page-team .team-member:hover,
html.page-team .member-card:hover,
html.page-team .dfl-team-member-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(223,31,38,0.42) !important;
}

@media (min-width: 992px) {
  .dfl-menu-toggle {
    display: none !important;
  }

  .dfl-navbar {
    display: block !important;
  }

  .dfl-navbar .dfl-main-nav {
    display: flex !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 1200px) {
  html.page-team .members-grid,
  html.page-team .dfl-team-roster-grid,
  .dfl-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  .dfl-menu-toggle {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(255,255,255,0.16) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.06) !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    cursor: pointer !important;
    z-index: 2147483001 !important;
    text-indent: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header.style-1 .contact-bar .dfl-menu-toggle {
    display: none !important;
  }

  .site-header.style-1 .dfl-menu-toggle.trigger-menu {
    float: none !important;
    position: relative !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    box-shadow: none !important;
    text-indent: 0 !important;
  }

  .site-header.style-1 .dfl-menu-toggle::before,
  .site-header.style-1 .dfl-menu-toggle::after {
    content: none !important;
    display: none !important;
  }

  .dfl-menu-toggle span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 999px !important;
    transition: transform 0.25s ease, opacity 0.25s ease !important;
  }

  .dfl-menu-toggle.is-open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .dfl-menu-toggle.is-open span:nth-child(2) {
    opacity: 0 !important;
  }

  .dfl-menu-toggle.is-open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  #mobile-menu.dfl-nav {
    position: fixed !important;
    top: 72px !important;
    left: 16px !important;
    right: 16px !important;
    max-height: calc(100dvh - 96px) !important;
    overflow-y: auto !important;
    display: none !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 18px !important;
    border-radius: 20px !important;
    background: rgba(7,22,50,0.98) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,0.38) !important;
    z-index: 2147483000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  #mobile-menu.dfl-nav.is-open,
  #mobile-menu.dfl-nav.dfl-mobile-open,
  body.dfl-mobile-nav-open #mobile-menu.dfl-nav {
    display: flex !important;
    pointer-events: auto !important;
  }

  #mobile-menu.dfl-nav:not(.is-open):not(.dfl-mobile-open) {
    display: none !important;
    pointer-events: none !important;
  }

  #mobile-menu.dfl-nav ul,
  #mobile-menu.dfl-nav li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #mobile-menu.dfl-nav a {
    display: flex !important;
    min-height: 46px !important;
    align-items: center !important;
    padding: 12px 14px !important;
    border-radius: 12px !important;
    color: rgba(255,255,255,0.88) !important;
    text-decoration: none !important;
  }

  #mobile-menu.dfl-nav a:hover,
  #mobile-menu.dfl-nav a.active {
    background: rgba(223,31,38,0.14) !important;
    color: #fff !important;
  }

  #mobile-menu.dfl-nav .dropdown-menu,
  #mobile-menu.dfl-nav .sub-menu,
  #mobile-menu.dfl-nav li ul {
    position: static !important;
    display: block !important;
    width: 100% !important;
    background: rgba(255,255,255,0.04) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: none !important;
    margin: 6px 0 10px !important;
    padding: 8px !important;
    border-radius: 14px !important;
  }

  html.page-home .dfl-hero {
    min-height: 860px !important;
  }

  html.page-home .dfl-hero-bg {
    background-position: 62% center !important;
  }

  html.page-home .dfl-hero-route-card,
  html.page-home .dfl-route-layer {
    opacity: 0.55 !important;
    transform: scale(1.05) !important;
    transform-origin: center right !important;
  }

  html.page-home .dfl-hero-content {
    position: relative !important;
    z-index: 5 !important;
  }
}

@media (max-width: 900px) {
  html.page-team .members-grid,
  html.page-team .dfl-team-roster-grid,
  .dfl-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.page-team .team-member img,
  html.page-team .member-card img,
  html.page-team .dfl-team-member-card img,
  html.page-team .members-grid img {
    height: 360px !important;
  }
}

@media (max-width: 767px) {
  .dfl-section,
  .dfl-light-section,
  .dfl-dark-section {
    padding: 72px 0 !important;
  }

  .dfl-container,
  .container {
    width: min(100% - 28px, 100%) !important;
  }

  .dfl-section-title,
  .dfl-dark-section h2,
  .dfl-light-section h2 {
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.02 !important;
  }

  .dfl-card,
  .dfl-dark-card {
    padding: 24px !important;
    border-radius: 20px !important;
  }

  .dfl-service-card,
  .dfl-strength-card,
  .dfl-operation-card {
    min-height: auto !important;
  }

  html.page-home .dfl-hero {
    min-height: auto !important;
    padding: 112px 0 56px !important;
  }

  html.page-home .dfl-hero-bg {
    background-position: 64% top !important;
  }

  html.page-home .dfl-hero-bg::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
      linear-gradient(180deg, rgba(7,22,50,0.92) 0%, rgba(7,22,50,0.82) 42%, rgba(7,22,50,0.96) 100%),
      linear-gradient(90deg, rgba(7,22,50,0.94) 0%, rgba(7,22,50,0.68) 100%) !important;
    pointer-events: none !important;
  }

  html.page-home .dfl-hero-route-card,
  html.page-home .dfl-route-layer {
    opacity: 0.38 !important;
    width: 150vw !important;
    right: -58vw !important;
    top: 82px !important;
    transform: scale(1.05) !important;
  }

  html.page-home .dfl-hero h1 {
    font-size: clamp(42px, 13vw, 62px) !important;
    line-height: 0.96 !important;
  }

  html.page-home .dfl-hero p,
  html.page-home .dfl-hero-text {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  html.page-home .dfl-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  html.page-home .dfl-hero-actions a,
  html.page-home .dfl-hero-actions button {
    width: 100% !important;
    justify-content: center !important;
  }

  html.page-home .dfl-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1px !important;
    margin-top: 34px !important;
  }

  html.page-home .dfl-trust-item {
    min-height: 96px !important;
    padding: 18px !important;
  }

  .dfl-footer {
    padding: 56px 0 24px !important;
  }

  .dfl-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
}

@media (max-width: 560px) {
  html.page-team .members-grid,
  html.page-team .dfl-team-roster-grid,
  .dfl-team-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-team .team-member img,
  html.page-team .member-card img,
  html.page-team .dfl-team-member-card img,
  html.page-team .members-grid img {
    height: 420px !important;
  }
}

@media (max-width: 420px) {
  html.page-home .dfl-hero-route-card,
  html.page-home .dfl-route-layer {
    opacity: 0.32 !important;
    right: -72vw !important;
  }

  html.page-home .dfl-trust-strip {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* URGENT VISUAL CORRECTION PASS: hold desktop longer, repair team cards, blend reliable image edge */
html.page-team .members-grid {
  display: block !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: 100% !important;
}

html.page-team .members-grid > .dfl-container {
  display: block !important;
  width: min(100% - 48px, 1320px) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
}

html.page-team .dfl-team-roster-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 30px !important;
  width: 100% !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: 100% !important;
  border-radius: 24px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card img {
  height: clamp(300px, 22vw, 370px) !important;
  flex: 0 0 auto !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .content {
  flex: 1 1 auto !important;
  min-height: 176px !important;
  padding: 24px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h3 {
  font-size: clamp(22px, 1.65vw, 28px) !important;
  line-height: 1.08 !important;
  margin-bottom: 12px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h5 {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: rgba(223,31,38,0.12) !important;
  border: 1px solid rgba(223,31,38,0.26) !important;
  color: rgba(255,255,255,0.88) !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  margin: 0 0 22px !important;
  white-space: normal !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .btn {
  width: 100% !important;
  min-height: 48px !important;
  justify-content: center !important;
}

html.page-home .dfl-why-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

html.page-home .dfl-why-section::after {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: -9% !important;
  right: -13% !important;
  bottom: -9% !important;
  left: 35% !important;
  display: block !important;
  background:
    linear-gradient(90deg, rgba(7,22,50,0.98) 0%, rgba(7,22,50,0.50) 24%, rgba(7,22,50,0.08) 54%, rgba(7,22,50,0.82) 100%),
    linear-gradient(180deg, rgba(7,22,50,0.98) 0%, transparent 22%, transparent 76%, rgba(7,22,50,0.98) 100%),
    url("../dfl-homepage.png") center right / cover no-repeat !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.18) 10%, rgba(0,0,0,0.90) 34%, #000 78%, transparent 100%) !important;
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.18) 10%, rgba(0,0,0,0.90) 34%, #000 78%, transparent 100%) !important;
  pointer-events: none !important;
}

html.page-home .dfl-why-section > .container,
html.page-home .dfl-why-copy {
  position: relative !important;
  z-index: 3 !important;
}

html.page-home .dfl-why-visual {
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (min-width: 768px) and (max-width: 991px) {
  .site-header.style-1,
  .dfl-mobile-site-header,
  #mobile-menu.dfl-nav {
    display: none !important;
  }

  .dfl-navbar,
  .dfl-navbar.navbar.mega,
  .dfl-navbar.hidden-lg-down,
  html.page-home .dfl-navbar.navbar.mega,
  html:not(.page-home) .dfl-navbar.navbar.mega {
    display: block !important;
  }

  .dfl-navbar .dfl-nav-container {
    display: flex !important;
    gap: 14px !important;
    width: min(100% - 28px, 1280px) !important;
  }

  .dfl-navbar .dfl-brand img {
    max-height: 52px !important;
  }

  .dfl-navbar .dfl-main-nav {
    display: flex !important;
    gap: 2px !important;
  }

  .dfl-navbar .nav-link,
  html.page-home .dfl-navbar .nav-link,
  html:not(.page-home) .dfl-navbar .nav-link {
    font-size: 11px !important;
    padding: 9px 5px !important;
  }

  .dfl-navbar .dfl-nav-cta {
    min-height: 38px !important;
    padding: 0 10px !important;
    font-size: 10.5px !important;
  }

  html.page-home .dfl-hero {
    min-height: clamp(690px, 86vh, 840px) !important;
    padding: 124px 0 54px !important;
  }

  html.page-home .dfl-hero-main {
    display: grid !important;
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr) !important;
    align-items: center !important;
    gap: 22px !important;
    min-height: 0 !important;
  }

  html.page-home .dfl-hero-copy {
    max-width: 520px !important;
  }

  html.page-home .dfl-hero-copy::before {
    inset: -22px -14px !important;
    background: radial-gradient(circle at 0% 32%, rgba(7,22,50,0.94), rgba(7,22,50,0.58) 60%, transparent 100%) !important;
  }

  html.page-home .dfl-hero-route-card {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: 430px !important;
    opacity: 0.78 !important;
    transform: none !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    transform: scale(1.08) translateX(2%) !important;
    transform-origin: center center !important;
  }
}

@media (min-width: 992px) {
  html.page-home .dfl-hero-main {
    display: grid !important;
    grid-template-columns: minmax(0, 0.92fr) minmax(520px, 1.08fr) !important;
    align-items: center !important;
    gap: clamp(30px, 4vw, 70px) !important;
  }

  html.page-home .dfl-hero-route-card {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-height: 500px !important;
    opacity: 0.92 !important;
    transform: none !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    transform: scale(1.04) translateX(1%) !important;
    transform-origin: center center !important;
  }
}

@media (max-width: 1200px) {
  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  html.page-home .dfl-why-section::after {
    top: auto !important;
    left: -18% !important;
    right: -24% !important;
    bottom: 0 !important;
    height: 280px !important;
    opacity: 0.56 !important;
    background:
      linear-gradient(180deg, transparent 0%, rgba(7,22,50,0.20) 45%, rgba(7,22,50,0.98) 100%),
      linear-gradient(90deg, rgba(7,22,50,0.98) 0%, rgba(7,22,50,0.10) 50%, rgba(7,22,50,0.98) 100%),
      url("../dfl-homepage.png") center right / cover no-repeat !important;
  }

  html.page-home .dfl-why-layout {
    padding-bottom: 230px !important;
  }

  html.page-home .dfl-hero-route-card {
    top: 132px !important;
    right: -76vw !important;
    width: 172vw !important;
    height: 430px !important;
    opacity: 0.34 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    transform: scale(1.30) translateX(-4%) !important;
  }
}

@media (max-width: 560px) {
  html.page-team .members-grid > .dfl-container {
    width: min(100% - 28px, 100%) !important;
  }

  html.page-team .dfl-team-roster-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    height: 400px !important;
  }
}

/* HERO MAP FOCAL FIX: full-bleed map, no top gap, Sri Lanka stays central */
html.page-home .dfl-hero {
  position: relative !important;
  min-height: clamp(720px, 92vh, 980px) !important;
  overflow: hidden !important;
}

html.page-home .dfl-hero-content {
  position: relative !important;
  z-index: 5 !important;
}

html.page-home .dfl-hero-main {
  position: relative !important;
  display: block !important;
  min-height: clamp(500px, 62vh, 650px) !important;
}

html.page-home .dfl-hero-copy {
  position: relative !important;
  z-index: 7 !important;
  max-width: min(760px, 48vw) !important;
  padding-top: clamp(52px, 7vh, 92px) !important;
}

html.page-home .dfl-hero-route-card {
  position: absolute !important;
  z-index: 2 !important;
  inset: -92px -10vw -92px 22vw !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  opacity: 0.92 !important;
  overflow: visible !important;
  transform: none !important;
  pointer-events: none !important;
}

html.page-home .dfl-hero-route-card .dfl-map-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

html.page-home .dfl-hero-route-card .dfl-route-map {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  opacity: 0.98 !important;
  filter: drop-shadow(0 0 44px rgba(84,171,255,0.22)) !important;
  transform: translate(-8%, -1%) scale(1.34) !important;
  transform-origin: 70% 55% !important;
}

html.page-home .dfl-hero-copy::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: -46px -120px -52px -80px !important;
  background:
    radial-gradient(circle at 12% 40%, rgba(7,22,50,0.98) 0%, rgba(7,22,50,0.88) 42%, rgba(7,22,50,0.34) 72%, transparent 100%),
    linear-gradient(90deg, rgba(7,22,50,0.98) 0%, rgba(7,22,50,0.72) 58%, transparent 100%) !important;
  pointer-events: none !important;
}

html.page-home .dfl-trust-strip {
  position: relative !important;
  z-index: 8 !important;
}

@media (min-width: 1400px) {
  html.page-home .dfl-hero-route-card {
    inset: -100px -8vw -96px 18vw !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    transform: translate(-7%, -1%) scale(1.28) !important;
    transform-origin: 69% 55% !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  html.page-home .dfl-hero-main {
    display: block !important;
    min-height: 560px !important;
  }

  html.page-home .dfl-hero-copy {
    max-width: min(620px, 62vw) !important;
    padding-top: 58px !important;
  }

  html.page-home .dfl-hero-route-card {
    position: absolute !important;
    inset: -80px -20vw -76px 18vw !important;
    height: auto !important;
    opacity: 0.72 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    transform: none !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    transform: translate(-10%, 0) scale(1.42) !important;
    transform-origin: 70% 56% !important;
  }
}

@media (max-width: 767px) {
  html.page-home .dfl-hero {
    min-height: auto !important;
    padding: 104px 0 54px !important;
  }

  html.page-home .dfl-hero-main {
    min-height: 560px !important;
  }

  html.page-home .dfl-hero-copy {
    max-width: 100% !important;
    padding-top: 0 !important;
  }

  html.page-home .dfl-hero-route-card {
    inset: 4px -86vw auto 2vw !important;
    height: 610px !important;
    opacity: 0.36 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    transform: translate(-18%, -2%) scale(1.58) !important;
    transform-origin: 70% 57% !important;
  }
}

@media (max-width: 420px) {
  html.page-home .dfl-hero-route-card {
    inset: 20px -104vw auto -8vw !important;
    height: 580px !important;
    opacity: 0.32 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    transform: translate(-22%, -1%) scale(1.64) !important;
  }
}

/* TEAM ROSTER PREMIUM POLISH: cleaner, brighter, more intentional cards */
html.page-team .dfl-team-roster-section {
  background:
    radial-gradient(circle at 14% 16%, rgba(223,31,38,0.11), transparent 28%),
    radial-gradient(circle at 86% 20%, rgba(126,205,255,0.11), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0b1b34 48%, #071632 100%) !important;
}

html.page-team .dfl-team-roster-grid {
  gap: 32px !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card {
  position: relative !important;
  isolation: isolate !important;
  background:
    linear-gradient(160deg, rgba(255,255,255,0.12), rgba(255,255,255,0.045) 52%, rgba(223,31,38,0.055)) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 26px !important;
  box-shadow:
    0 28px 90px rgba(0,0,0,0.30),
    inset 0 1px 0 rgba(255,255,255,0.12) !important;
  overflow: hidden !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background:
    linear-gradient(180deg, transparent 42%, rgba(7,22,50,0.16) 62%, rgba(7,22,50,0.44) 100%),
    radial-gradient(circle at 86% 5%, rgba(223,31,38,0.22), transparent 30%) !important;
  opacity: 0.72 !important;
  pointer-events: none !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card::after {
  content: "" !important;
  position: absolute !important;
  left: 24px !important;
  right: 24px !important;
  top: 0 !important;
  height: 3px !important;
  z-index: 3 !important;
  border-radius: 0 0 999px 999px !important;
  background: linear-gradient(90deg, transparent, #df1f26, #ff6b70, transparent) !important;
  opacity: 0.72 !important;
  pointer-events: none !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card img {
  height: clamp(330px, 24vw, 410px) !important;
  filter: brightness(1.06) contrast(1.05) saturate(1.06) !important;
  transform: scale(1.01) !important;
  transition: transform 0.45s ease, filter 0.45s ease !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .content {
  position: relative !important;
  z-index: 4 !important;
  min-height: 190px !important;
  padding: 26px !important;
  background:
    linear-gradient(180deg, rgba(10,25,48,0.74), rgba(7,22,50,0.98)) !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h3 {
  font-size: clamp(24px, 1.75vw, 31px) !important;
  line-height: 1.03 !important;
  font-weight: 900 !important;
  letter-spacing: -0.045em !important;
  color: #fff !important;
  text-shadow: 0 10px 28px rgba(0,0,0,0.32) !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h5 {
  background:
    linear-gradient(135deg, rgba(223,31,38,0.22), rgba(223,31,38,0.09)) !important;
  border: 1px solid rgba(255,92,98,0.34) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.10) !important;
  color: rgba(255,255,255,0.92) !important;
  font-size: 13px !important;
  letter-spacing: 0.01em !important;
  text-transform: uppercase !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .post-details {
  margin-top: auto !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .btn {
  position: relative !important;
  overflow: hidden !important;
  min-height: 52px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  border-radius: 16px !important;
  background:
    linear-gradient(135deg, rgba(223,31,38,0.98), rgba(183,27,33,0.98)) !important;
  color: #fff !important;
  box-shadow: 0 16px 36px rgba(223,31,38,0.20) !important;
  letter-spacing: -0.01em !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .btn::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent) !important;
  transform: translateX(-120%) !important;
  transition: transform 0.55s ease !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(255,91,97,0.52) !important;
  box-shadow:
    0 34px 100px rgba(0,0,0,0.36),
    0 0 0 1px rgba(223,31,38,0.12),
    0 0 44px rgba(223,31,38,0.13) !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card:hover img {
  filter: brightness(1.12) contrast(1.07) saturate(1.10) !important;
  transform: scale(1.055) !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card:hover .btn::after {
  transform: translateX(120%) !important;
}

@media (max-width: 900px) {
  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    height: 390px !important;
  }
}

@media (max-width: 560px) {
  html.page-team .dfl-team-member-card.dfl-static-team-card {
    border-radius: 24px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    height: 430px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card .content {
    min-height: 176px !important;
    padding: 24px !important;
  }
}

/* RESPONSIVE STABILITY PASS: reduce jumpiness from tiny viewport changes */
html.page-home .dfl-hero,
html.page-home .dfl-hero-main,
html.page-home .dfl-hero-route-card,
html.page-home .dfl-hero-route-card .dfl-map-stage,
html.page-home .dfl-hero-route-card .dfl-route-map,
html.page-team .dfl-team-roster-grid,
html.page-team .dfl-team-member-card {
  transition: none !important;
}

@media (min-width: 992px) {
  html.page-home .dfl-hero {
    min-height: 820px !important;
    padding-top: 0 !important;
  }

  html.page-home .dfl-hero-main {
    min-height: 590px !important;
  }

  html.page-home .dfl-hero-copy {
    max-width: 720px !important;
    padding-top: 74px !important;
  }

  html.page-home .dfl-hero-route-card {
    inset: -96px -12% -96px 20% !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    transform: translate(-8%, -1%) scale(1.34) !important;
    transform-origin: 70% 55% !important;
  }
}

@media (min-width: 1200px) {
  html.page-home .dfl-hero {
    min-height: 880px !important;
  }

  html.page-home .dfl-hero-main {
    min-height: 640px !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  html.page-home .dfl-hero {
    min-height: 780px !important;
    padding: 118px 0 52px !important;
  }

  html.page-home .dfl-hero-main {
    min-height: 560px !important;
  }

  html.page-home .dfl-hero-copy {
    max-width: 600px !important;
    padding-top: 54px !important;
  }

  html.page-home .dfl-hero-route-card {
    inset: -82px -24% -78px 18% !important;
  }
}

html.page-team .dfl-team-roster-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1080px) {
  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 820px) {
  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 580px) {
  html.page-team .dfl-team-roster-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  html.page-home .dfl-hero {
    min-height: auto !important;
    padding-top: 104px !important;
  }

  html.page-home .dfl-hero-main {
    min-height: 560px !important;
  }
}

/* SECTION FLOW SMOOTHING: remove hard separator lines between content bands */
.dfl-section,
.dfl-dark-section,
.dfl-light-section,
.dfl-services-section,
.dfl-why-section,
.dfl-team-feature,
.dfl-logo-strip,
.dfl-team-section,
.dfl-team-roster-section,
.dfl-team-culture-section,
.dfl-contact-section,
.dfl-service-detail-section,
.dfl-services-page-section,
html.page-ground .dfl-service-main > section,
html.page-team section,
html.page-contact .dfl-contact-section,
html.page-leadership-charities .dfl-leadership-section,
html.page-leadership-charities .dfl-charities-section {
  position: relative !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
}

.dfl-section::before,
.dfl-dark-section::before,
.dfl-light-section::before,
.dfl-services-section::before,
.dfl-why-section::before,
.dfl-team-feature::before,
.dfl-logo-strip::before,
.dfl-team-section::before,
.dfl-team-roster-section::before,
.dfl-team-culture-section::before,
.dfl-contact-section::before,
.dfl-service-detail-section::before,
.dfl-services-page-section::before {
  box-shadow: none !important;
}

.dfl-services-section::after,
.dfl-why-section::before,
.dfl-team-feature::before,
.dfl-logo-strip::before,
.dfl-team-roster-section::before,
.dfl-team-culture-section::before,
.dfl-contact-section::before,
.dfl-service-detail-section::before,
.dfl-services-page-section::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -1px !important;
  height: 78px !important;
  z-index: 0 !important;
  background: linear-gradient(180deg, rgba(7,22,50,0.36), rgba(7,22,50,0)) !important;
  pointer-events: none !important;
}

.dfl-section > *,
.dfl-dark-section > *,
.dfl-light-section > *,
.dfl-services-section > *,
.dfl-why-section > *,
.dfl-team-feature > *,
.dfl-logo-strip > *,
.dfl-team-section > *,
.dfl-team-roster-section > *,
.dfl-team-culture-section > *,
.dfl-contact-section > *,
.dfl-service-detail-section > *,
.dfl-services-page-section > * {
  position: relative !important;
  z-index: 1 !important;
}

html.page-home .dfl-hero + .dfl-section,
html.page-home .dfl-services-section {
  border-top: 0 !important;
}

html.page-home .dfl-hero + .dfl-section::before,
html.page-home .dfl-services-section::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: -72px !important;
  height: 120px !important;
  background: linear-gradient(180deg, rgba(7,22,50,0), rgba(7,22,50,0.92) 74%, rgba(7,22,50,0)) !important;
  pointer-events: none !important;
}

/* SERVICE DETAIL CLEANUP: consistent accordions, feature boxes, and brochure buttons */
html.page-ground .dfl-service-main #accordion,
html.page-ground .dfl-service-main .accordion {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
}

html.page-ground .dfl-service-main .accordion .panel,
html.page-ground .dfl-service-main #accordion .panel {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.082), rgba(255,255,255,0.038)) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,0.16) !important;
}

html.page-ground .dfl-service-main .accordion .panel-heading,
html.page-ground .dfl-service-main #accordion .panel-heading {
  border: 0 !important;
  background:
    linear-gradient(135deg, rgba(223,31,38,0.14), rgba(255,255,255,0.035)) !important;
  padding: 0 !important;
}

html.page-ground .dfl-service-main .accordion .panel-title,
html.page-ground .dfl-service-main #accordion .panel-title {
  margin: 0 !important;
}

html.page-ground .dfl-service-main .accordion .panel-title a,
html.page-ground .dfl-service-main #accordion .panel-title a {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 76px !important;
  padding: 18px 22px !important;
  color: #fff !important;
  text-decoration: none !important;
}

html.page-ground .dfl-service-main .accordion .panel-title i,
html.page-ground .dfl-service-main #accordion .panel-title i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  background: rgba(223,31,38,0.16) !important;
  border: 1px solid rgba(223,31,38,0.34) !important;
  color: #ff4f55 !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

html.page-ground .dfl-service-main .accordion .panel-title span,
html.page-ground .dfl-service-main #accordion .panel-title span {
  display: block !important;
  color: #fff !important;
  font-size: clamp(18px, 1.3vw, 24px) !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
}

html.page-ground .dfl-service-main .accordion .panel-collapse,
html.page-ground .dfl-service-main #accordion .panel-collapse {
  border: 0 !important;
  background: transparent !important;
}

html.page-ground .dfl-service-main .accordion .panel-collapse.collapse:not(.in),
html.page-ground .dfl-service-main #accordion .panel-collapse.collapse:not(.in) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html.page-ground .dfl-service-main .accordion .panel-content,
html.page-ground .dfl-service-main #accordion .panel-content {
  padding: 22px 24px 26px !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  color: rgba(239,246,255,0.78) !important;
  font-size: clamp(15.5px, 1.08vw, 18px) !important;
  line-height: 1.72 !important;
  background: rgba(7,22,50,0.20) !important;
}

html.page-ground .dfl-service-main > section:has(.accordion) {
  background:
    radial-gradient(circle at 100% 0%, rgba(126,205,255,0.08), transparent 36%),
    linear-gradient(145deg, rgba(255,255,255,0.07), rgba(255,255,255,0.032)) !important;
  border: 1px solid rgba(255,255,255,0.13) !important;
  border-radius: 28px !important;
  box-shadow: 0 24px 72px rgba(0,0,0,0.20) !important;
  padding: clamp(26px, 3vw, 40px) !important;
}

html.page-ground .dfl-service-main > section:has(.accordion) h2 {
  margin-bottom: 0 !important;
}

html.page-ground .dfl-service-sidebar .btn-download,
html.page-ground .btn-download {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 58px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #df1f26, #bd1b21) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  box-shadow: 0 18px 42px rgba(223,31,38,0.22) !important;
}

html.page-ground .dfl-service-sidebar .btn-download i,
html.page-ground .btn-download i {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  color: #fff !important;
  font-size: 17px !important;
  opacity: 1 !important;
}

html.page-ground .dfl-service-sidebar .btn-download:hover,
html.page-ground .btn-download:hover {
  background: linear-gradient(135deg, #f0444a, #c91f26) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 860px) {
  html.page-ground .dfl-service-main #accordion,
  html.page-ground .dfl-service-main .accordion {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  html.page-ground .dfl-service-main > section:has(.accordion) {
    padding: 20px !important;
  }

  html.page-ground .dfl-service-main .accordion .panel-title a,
  html.page-ground .dfl-service-main #accordion .panel-title a {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    min-height: 66px !important;
    padding: 14px !important;
  }

  html.page-ground .dfl-service-main .accordion .panel-title i,
  html.page-ground .dfl-service-main #accordion .panel-title i {
    width: 38px !important;
    height: 38px !important;
  }
}

/* ACCORDION EMPTY-BOX FIX: collapsed service cards should stay compact */
html.page-ground .dfl-service-main #accordion,
html.page-ground .dfl-service-main .accordion {
  align-items: start !important;
}

html.page-ground .dfl-service-main .accordion .panel,
html.page-ground .dfl-service-main #accordion .panel {
  align-self: start !important;
  height: auto !important;
}

html.page-ground .dfl-service-main .accordion .panel:has(.panel-collapse.collapse:not(.in)),
html.page-ground .dfl-service-main #accordion .panel:has(.panel-collapse.collapse:not(.in)) {
  min-height: 0 !important;
}

html.page-ground .dfl-service-main .accordion .panel:has(.panel-collapse.collapse:not(.in)) .panel-heading,
html.page-ground .dfl-service-main #accordion .panel:has(.panel-collapse.collapse:not(.in)) .panel-heading {
  border-radius: 20px !important;
}

html.page-ground .dfl-service-main .accordion .panel:has(.panel-collapse.collapse:not(.in)) .panel-title a,
html.page-ground .dfl-service-main #accordion .panel:has(.panel-collapse.collapse:not(.in)) .panel-title a {
  min-height: 74px !important;
}

/* LAST ROW CENTERING: two-card final rows should sit centered on wide grids */
@media (min-width: 1081px) {
  html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-last-child(2):nth-child(4n + 1) {
    grid-column: 2 !important;
  }

  html.page-team .dfl-team-roster-grid > .dfl-team-member-card:last-child:nth-child(4n + 2) {
    grid-column: 3 !important;
  }

  html.page-home .dfl-service-grid > .dfl-service-card:nth-last-child(2):nth-child(4n + 1) {
    grid-column: 2 !important;
  }

  html.page-home .dfl-service-grid > .dfl-service-card:last-child:nth-child(4n + 2) {
    grid-column: 3 !important;
  }
}

@media (min-width: 992px) {
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card:nth-last-child(2):nth-child(4n + 1) {
    grid-column: 2 !important;
  }

  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card:last-child:nth-child(4n + 2) {
    grid-column: 3 !important;
  }
}

/* VERCEL MOBILE EXPERIENCE SYSTEM: intentional phone layout across every page */
@media (max-width: 767px) {
  :root {
    --dfl-mobile-gutter: 18px;
    --dfl-mobile-radius: 20px;
    --dfl-mobile-section: 58px;
  }

  html,
  body {
    background: #071632 !important;
    overflow-x: hidden !important;
  }

  body {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  .container,
  .dfl-container,
  .dfl-footer .container,
  .dfl-page-hero .container {
    width: calc(100% - (var(--dfl-mobile-gutter) * 2)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .site-header.style-1,
  .dfl-mobile-site-header {
    min-height: 68px !important;
    padding: 8px 0 !important;
    background: rgba(7,22,50,0.98) !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.24) !important;
  }

  .site-header.style-1 > .container > .row {
    min-height: 52px !important;
  }

  .site-header.style-1 .site-branding img {
    height: 44px !important;
    max-height: 44px !important;
    border-radius: 8px !important;
  }

  #mobile-menu.dfl-nav,
  #mobile-menu {
    top: 72px !important;
    left: var(--dfl-mobile-gutter) !important;
    right: var(--dfl-mobile-gutter) !important;
    max-height: calc(100dvh - 94px) !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  #mobile-menu a,
  #mobile-menu.dfl-nav a {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
  }

  .dfl-page-hero,
  html.page-about .dfl-page-hero,
  html.page-team .dfl-page-hero,
  html.page-services .dfl-page-hero,
  html.page-contact .dfl-page-hero,
  html.page-leadership-charities .dfl-page-hero {
    min-height: 280px !important;
    padding: 112px 0 46px !important;
    display: flex !important;
    align-items: flex-end !important;
    overflow: hidden !important;
    background-position: 58% center !important;
  }

  .dfl-page-hero::before,
  .dfl-page-hero::after {
    opacity: 0.75 !important;
  }

  .dfl-page-hero h1,
  html.page-about .dfl-page-hero h1,
  html.page-team .dfl-page-hero h1,
  html.page-services .dfl-page-hero h1,
  html.page-contact .dfl-page-hero h1,
  html.page-leadership-charities .dfl-page-hero h1 {
    max-width: 12ch !important;
    margin: 0 0 10px !important;
    font-size: clamp(36px, 11vw, 48px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
  }

  .dfl-breadcrumb {
    font-size: 12px !important;
    line-height: 1.35 !important;
    opacity: 0.72 !important;
  }

  html.page-home .dfl-hero {
    min-height: auto !important;
    padding: 98px 0 48px !important;
    background: #071632 !important;
  }

  html.page-home .dfl-hero-main {
    min-height: auto !important;
    display: block !important;
  }

  html.page-home .dfl-hero-copy {
    max-width: 100% !important;
    padding: 0 !important;
  }

  html.page-home .dfl-hero-copy::before {
    inset: -18px -14px -26px -14px !important;
    border-radius: 22px !important;
    background:
      linear-gradient(180deg, rgba(7,22,50,0.92), rgba(7,22,50,0.72)),
      radial-gradient(circle at 100% 0%, rgba(223,31,38,0.18), transparent 46%) !important;
  }

  html.page-home .dfl-hero .dfl-kicker {
    margin-bottom: 14px !important;
    font-size: 11px !important;
    letter-spacing: 0.22em !important;
  }

  html.page-home .dfl-hero h1 {
    max-width: 8.6ch !important;
    font-size: clamp(44px, 14.5vw, 62px) !important;
    line-height: 0.94 !important;
    letter-spacing: -0.065em !important;
  }

  html.page-home .dfl-hero-text {
    max-width: 34ch !important;
    margin-top: 18px !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  html.page-home .dfl-hero-route-card {
    inset: 14px -92vw auto -10vw !important;
    height: 520px !important;
    opacity: 0.24 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    transform: translate(-20%, -3%) scale(1.56) !important;
  }

  html.page-home .dfl-hero-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 26px !important;
  }

  html.page-home .dfl-hero-actions .dfl-btn,
  html.page-home .dfl-hero-actions a,
  html.page-home .dfl-hero-actions button {
    width: 100% !important;
    min-height: 52px !important;
    justify-content: center !important;
  }

  html.page-home .dfl-trust-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 34px !important;
    background: transparent !important;
    border: 0 !important;
  }

  html.page-home .dfl-trust-item {
    min-height: 104px !important;
    padding: 16px 12px !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,0.055) !important;
  }

  html.page-home .dfl-trust-item strong {
    font-size: 24px !important;
    line-height: 1.05 !important;
  }

  .dfl-section,
  .dfl-dark-section,
  .dfl-light-section,
  .dfl-services-section,
  .dfl-why-section,
  .dfl-team-feature,
  .dfl-logo-strip,
  .dfl-team-section,
  .dfl-team-roster-section,
  .dfl-team-culture-section,
  .dfl-contact-section,
  .dfl-service-detail-section,
  .dfl-services-page-section,
  html.page-ground .dfl-service-main > section {
    padding-top: var(--dfl-mobile-section) !important;
    padding-bottom: var(--dfl-mobile-section) !important;
  }

  .dfl-section-heading,
  .dfl-section-heading-left,
  .dfl-team-roster-heading,
  .dfl-services-directory-heading {
    max-width: 100% !important;
    margin-bottom: 28px !important;
    text-align: left !important;
  }

  .dfl-section-title,
  .dfl-section-heading h2,
  .dfl-dark-section h2,
  .dfl-light-section h2,
  html.page-team .dfl-team-roster-heading .dfl-section-title,
  html.page-contact .dfl-contact-form .dfl-section-title,
  html.page-contact .dfl-contact-card .dfl-section-title {
    font-size: clamp(30px, 9vw, 40px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.05em !important;
    text-align: left !important;
  }

  .dfl-kicker,
  .dfl-section-kicker {
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
  }

  .dfl-card,
  .dfl-dark-card,
  .dfl-service-card,
  .dfl-strength-card,
  .dfl-operation-card,
  html.page-services .dfl-services-directory .dfl-service-card,
  html.page-contact .dfl-contact-section .dfl-card.dfl-contact-card,
  html.page-contact .dfl-contact-section .dfl-card.dfl-form-card,
  html.page-contact .dfl-contact-section .contact-info-card,
  html.page-contact .dfl-contact-form,
  html.page-ground .dfl-service-main > section,
  html.page-ground .dfl-service-sidebar > section {
    border-radius: var(--dfl-mobile-radius) !important;
    padding: 22px !important;
    box-shadow: 0 18px 50px rgba(0,0,0,0.18) !important;
  }

  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory,
  html.page-team .dfl-team-roster-grid,
  .dfl-value-grid,
  .dfl-capability-row,
  .dfl-footer-grid,
  html.page-contact .dfl-contact-grid,
  html.page-ground .dfl-service-layout,
  html.page-team .dfl-team-culture-panel,
  html.page-home .dfl-team-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  html.page-home .dfl-service-grid > *,
  html.page-services .dfl-services-page-grid.dfl-services-directory > *,
  html.page-team .dfl-team-roster-grid > * {
    grid-column: auto !important;
  }

  .dfl-service-card,
  html.page-services .dfl-services-directory .dfl-service-card {
    min-height: 0 !important;
    padding: 22px !important;
  }

  .dfl-service-card h3,
  html.page-services .dfl-services-directory .dfl-service-card h3 {
    font-size: 21px !important;
    line-height: 1.12 !important;
  }

  .dfl-service-card p,
  html.page-services .dfl-services-directory .dfl-service-card p {
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  html.page-home .dfl-why-layout {
    display: block !important;
    min-height: 0 !important;
    padding-bottom: 210px !important;
  }

  html.page-home .dfl-why-section::after {
    height: 240px !important;
    left: -22% !important;
    right: -36% !important;
    opacity: 0.42 !important;
  }

  .dfl-why-proof-row,
  html.page-home .dfl-why-proof-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .dfl-why-contact-card,
  html.page-home .dfl-why-contact-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 20px !important;
  }

  html.page-home .dfl-team-panel,
  html.page-team .dfl-team-culture-panel {
    padding: 0 !important;
    border-radius: var(--dfl-mobile-radius) !important;
    overflow: hidden !important;
  }

  html.page-home .dfl-team-image,
  html.page-team .dfl-team-culture-image {
    min-height: 0 !important;
    height: 260px !important;
  }

  html.page-home .dfl-team-image img,
  html.page-team .dfl-team-culture-image img {
    height: 100% !important;
    object-fit: cover !important;
  }

  html.page-home .dfl-team-copy,
  html.page-team .dfl-team-culture-copy {
    padding: 24px !important;
  }

  html.page-team .members-grid > .dfl-container {
    width: calc(100% - (var(--dfl-mobile-gutter) * 2)) !important;
  }

  html.page-team .dfl-team-roster-heading {
    text-align: left !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card {
    border-radius: 22px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    height: min(112vw, 430px) !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card .content {
    min-height: 0 !important;
    padding: 22px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card h3 {
    font-size: 26px !important;
  }

  html.page-ground .dfl-service-layout {
    align-items: start !important;
  }

  html.page-ground .dfl-service-main {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html.page-ground .dfl-service-main > section:first-child {
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: var(--dfl-mobile-radius) !important;
  }

  html.page-ground .dfl-service-main > section:first-child img {
    height: 220px !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: var(--dfl-mobile-radius) !important;
  }

  html.page-ground .dfl-service-main p {
    font-size: 15px !important;
    line-height: 1.72 !important;
  }

  html.page-ground .dfl-service-main .accordion,
  html.page-ground .dfl-service-main #accordion {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  html.page-ground .dfl-service-main .accordion .panel-title a,
  html.page-ground .dfl-service-main #accordion .panel-title a {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    min-height: 64px !important;
    padding: 14px !important;
  }

  html.page-ground .dfl-service-main .accordion .panel-title span,
  html.page-ground .dfl-service-main #accordion .panel-title span {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  html.page-ground .dfl-service-sidebar {
    position: static !important;
    display: grid !important;
    gap: 18px !important;
    margin-top: 8px !important;
  }

  html.page-ground .dfl-service-nav .content,
  html.page-ground .dfl-service-sidebar .office p {
    border-radius: 16px !important;
  }

  html.page-contact .dfl-map-card iframe {
    height: 280px !important;
  }

  html.page-contact .dfl-contact-list p {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    min-height: 64px !important;
    padding: 14px !important;
  }

  html.page-contact .dfl-contact-form form {
    gap: 12px !important;
  }

  html.page-contact .dfl-contact-form input:not([type="submit"]),
  html.page-contact .dfl-contact-form textarea {
    min-height: 50px !important;
    font-size: 15px !important;
  }

  html.page-contact .dfl-contact-final-cta .row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    text-align: left !important;
  }

  html.page-contact .dfl-contact-final-cta .btn,
  html.page-contact .dfl-contact-form input[type="submit"],
  html.page-ground .btn-download,
  html.page-ground .dfl-service-sidebar .btn-download {
    width: 100% !important;
    min-height: 52px !important;
  }

  .dfl-brochure-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 24px !important;
    text-align: left !important;
  }

  .dfl-footer {
    padding: 52px 0 24px !important;
  }

  .dfl-footer-grid {
    gap: 28px !important;
  }

  .dfl-footer h3 {
    margin-bottom: 12px !important;
    font-size: 15px !important;
  }

  .dfl-footer p,
  .dfl-footer a,
  .dfl-footer li {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .advisory,
  .dfl-contact-final-cta {
    padding: 42px 0 !important;
  }

  .advisory h2,
  .dfl-contact-final-cta h2 {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.06 !important;
  }
}

@media (max-width: 420px) {
  :root {
    --dfl-mobile-gutter: 14px;
  }

  html.page-home .dfl-hero h1 {
    font-size: clamp(40px, 14vw, 54px) !important;
  }

  html.page-home .dfl-trust-strip {
    gap: 8px !important;
  }

  html.page-home .dfl-trust-item {
    padding: 14px 10px !important;
  }

  html.page-home .dfl-trust-item strong {
    font-size: 21px !important;
  }

  .dfl-page-hero h1,
  html.page-about .dfl-page-hero h1,
  html.page-team .dfl-page-hero h1,
  html.page-services .dfl-page-hero h1,
  html.page-contact .dfl-page-hero h1,
  html.page-leadership-charities .dfl-page-hero h1 {
    font-size: clamp(32px, 10.5vw, 42px) !important;
  }
}

/* VERCEL MOBILE UX V2 LOCK: final winning layer for real phone layouts */
@media (max-width: 767px) {
  :root {
    --dfl-mobile-gutter: 16px;
    --dfl-mobile-radius: 22px;
    --dfl-mobile-section: 50px;
  }

  html,
  body {
    overflow-x: hidden !important;
    background: linear-gradient(180deg, #071632 0%, #091a3b 44%, #071632 100%) !important;
  }

  .container,
  .dfl-container,
  .dfl-footer .container,
  .dfl-page-hero .container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .site-header.style-1,
  .dfl-mobile-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    min-height: 64px !important;
    padding: 8px 0 !important;
    background: rgba(7,22,50,0.98) !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
    backdrop-filter: blur(18px) !important;
  }

  .site-header.style-1 .site-branding img {
    height: 42px !important;
    max-height: 42px !important;
  }

  .trigger-menu {
    width: 44px !important;
    height: 44px !important;
    margin-left: auto !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
  }

  #mobile-menu,
  #mobile-menu.dfl-nav {
    top: 70px !important;
    left: 16px !important;
    right: 16px !important;
    max-height: calc(100dvh - 92px) !important;
    padding: 12px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(11,27,60,0.99), rgba(7,22,50,0.99)) !important;
  }

  #mobile-menu ul,
  #mobile-menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #mobile-menu ul ul {
    margin: 4px 0 10px !important;
    padding: 8px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.045) !important;
  }

  #mobile-menu a {
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    display: flex !important;
    align-items: center !important;
  }

  .dfl-page-hero,
  html.page-about .dfl-page-hero,
  html.page-team .dfl-page-hero,
  html.page-services .dfl-page-hero,
  html.page-contact .dfl-page-hero,
  html.page-leadership-charities .dfl-page-hero {
    min-height: 235px !important;
    padding: 82px 0 28px !important;
    display: flex !important;
    align-items: flex-end !important;
    background-position: 58% center !important;
    border-bottom: 0 !important;
  }

  .dfl-page-hero::before {
    background:
      linear-gradient(180deg, rgba(7,22,50,0.72), rgba(7,22,50,0.94)),
      linear-gradient(90deg, rgba(7,22,50,0.96), rgba(7,22,50,0.48)) !important;
    opacity: 1 !important;
  }

  .dfl-page-hero h1,
  html.page-about .dfl-page-hero h1,
  html.page-team .dfl-page-hero h1,
  html.page-services .dfl-page-hero h1,
  html.page-contact .dfl-page-hero h1,
  html.page-leadership-charities .dfl-page-hero h1 {
    max-width: 11ch !important;
    margin: 0 !important;
    font-size: clamp(34px, 10.6vw, 46px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.055em !important;
  }

  .dfl-breadcrumb {
    display: inline-flex !important;
    margin-top: 12px !important;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    font-size: 12px !important;
  }

  html.page-home .dfl-hero {
    min-height: auto !important;
    padding: 82px 0 38px !important;
  }

  html.page-home .dfl-hero-main,
  html.page-home .dfl-hero-content {
    min-height: 0 !important;
    display: block !important;
  }

  html.page-home .dfl-hero-copy {
    min-height: 470px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: 26px 18px !important;
    border-radius: 26px !important;
    overflow: hidden !important;
  }

  html.page-home .dfl-hero-copy::before {
    inset: 0 !important;
    border-radius: 26px !important;
    background:
      linear-gradient(180deg, rgba(7,22,50,0.26) 0%, rgba(7,22,50,0.78) 44%, rgba(7,22,50,0.97) 100%),
      radial-gradient(circle at 78% 18%, rgba(223,31,38,0.18), transparent 16rem) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
  }

  html.page-home .dfl-hero h1 {
    max-width: 9.5ch !important;
    font-size: clamp(43px, 13.4vw, 58px) !important;
  }

  html.page-home .dfl-hero-text {
    max-width: 31ch !important;
    margin-top: 16px !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  html.page-home .dfl-hero-route-card {
    inset: 42px -96vw auto -8vw !important;
    height: 430px !important;
    opacity: 0.34 !important;
    z-index: 0 !important;
  }

  html.page-home .dfl-hero-route-card .dfl-map-stage {
    height: 430px !important;
  }

  html.page-home .dfl-hero-route-card .dfl-route-map {
    transform: translate(-18%, 2%) scale(1.66) !important;
  }

  html.page-home .dfl-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  html.page-home .dfl-trust-item {
    min-height: 92px !important;
    border-radius: 20px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.045)) !important;
  }

  .dfl-section,
  .dfl-dark-section,
  .dfl-light-section,
  .dfl-services-section,
  .dfl-why-section,
  .dfl-team-feature,
  .dfl-logo-strip,
  .dfl-team-section,
  .dfl-team-roster-section,
  .dfl-team-culture-section,
  .dfl-contact-section,
  .dfl-service-detail-section,
  .dfl-services-page-section,
  html.page-ground .dfl-service-main > section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  .dfl-section-heading,
  .dfl-section-heading-left,
  .dfl-team-roster-heading,
  .dfl-services-directory-heading,
  .dfl-services-page-heading {
    max-width: 100% !important;
    margin-bottom: 24px !important;
    text-align: left !important;
  }

  .dfl-section-title,
  .dfl-section-heading h2,
  .dfl-services-page-heading h2,
  .dfl-services-directory-heading h2,
  .dfl-dark-section h2,
  .dfl-light-section h2 {
    max-width: 11ch !important;
    font-size: clamp(29px, 8.6vw, 38px) !important;
    line-height: 1.04 !important;
    text-align: left !important;
  }

  .dfl-section-heading p,
  .dfl-services-page-heading p,
  .dfl-team-roster-heading p,
  .dfl-contact-intro,
  .dfl-service-main p {
    font-size: 15px !important;
    line-height: 1.72 !important;
    color: rgba(246,249,255,0.78) !important;
  }

  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory,
  html.page-team .dfl-team-roster-grid,
  .dfl-footer-grid,
  html.page-contact .dfl-contact-grid,
  html.page-ground .dfl-service-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .dfl-service-card,
  html.page-services .dfl-services-directory .dfl-service-card {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) 34px !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: 96px !important;
    padding: 16px !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.085), rgba(255,255,255,0.035)) !important;
  }

  .dfl-service-card > i,
  html.page-services .dfl-services-directory .dfl-service-card > i {
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    border-radius: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(223,31,38,0.14) !important;
    color: #ff5a60 !important;
    font-size: 18px !important;
  }

  .dfl-service-card h3,
  html.page-services .dfl-services-directory .dfl-service-card h3 {
    margin: 0 0 5px !important;
    font-size: 18px !important;
    line-height: 1.16 !important;
    letter-spacing: -0.025em !important;
  }

  .dfl-service-card p,
  html.page-services .dfl-services-directory .dfl-service-card p {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.46 !important;
  }

  .dfl-service-card span,
  html.page-services .dfl-services-directory .dfl-service-card span {
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.08) !important;
  }

  html.page-services .dfl-services-hub {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html.page-services .dfl-services-page-heading,
  html.page-services .dfl-services-hub-panel,
  html.page-services .dfl-service-lanes article,
  html.page-services .dfl-service-flow {
    padding: 22px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,0.07) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
  }

  html.page-services .dfl-services-hub-panel a {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 16px !important;
  }

  html.page-services .dfl-service-flow,
  html.page-services .dfl-service-lanes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 16px !important;
  }

  html.page-services .dfl-service-flow > i {
    display: none !important;
  }

  html.page-services .dfl-service-flow div {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 12px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.045) !important;
  }

  html.page-ground .dfl-service-main {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html.page-ground .dfl-service-main > section {
    margin: 0 0 16px !important;
    border-radius: 22px !important;
  }

  html.page-ground .dfl-service-main > section:first-child {
    padding: 0 !important;
    overflow: hidden !important;
  }

  html.page-ground .dfl-service-main > section:first-child img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
  }

  html.page-ground .dfl-service-main > section:not(:first-child) {
    padding: 22px !important;
    background: rgba(255,255,255,0.065) !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
  }

  html.page-ground .dfl-service-main .custom-heading h2 {
    margin-bottom: 16px !important;
    font-size: clamp(27px, 8vw, 36px) !important;
    line-height: 1.06 !important;
  }

  html.page-ground .dfl-service-main #accordion,
  html.page-ground .dfl-service-main .accordion {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  html.page-ground .dfl-service-main .accordion .panel,
  html.page-ground .dfl-service-main #accordion .panel {
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,0.055) !important;
  }

  html.page-ground .dfl-service-main .accordion .panel-title a,
  html.page-ground .dfl-service-main #accordion .panel-title a {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    min-height: 62px !important;
    padding: 12px !important;
  }

  html.page-ground .dfl-service-main .panel-content {
    padding: 0 16px 18px 66px !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  html.page-ground .dfl-service-sidebar {
    position: static !important;
    display: grid !important;
    gap: 14px !important;
  }

  html.page-ground .dfl-service-nav .content {
    min-height: 62px !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  html.page-ground .dfl-service-nav .row {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
  }

  html.page-ground .dfl-service-nav [class*="col-"] {
    width: auto !important;
    padding: 0 !important;
  }

  html.page-ground .dfl-service-nav .type {
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
  }

  html.page-ground .dfl-service-nav h3 {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
  }

  html.page-team section.dfl-team-section .dfl-container#director > .dfl-director-card,
  html.page-team .dfl-team-culture-panel,
  html.page-home .dfl-team-panel {
    border-radius: 24px !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.085), rgba(255,255,255,0.04)) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
    overflow: hidden !important;
  }

  html.page-team section.dfl-team-section .dfl-director-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  html.page-team section.dfl-team-section .dfl-director-image {
    height: 290px !important;
  }

  html.page-team section.dfl-team-section .dfl-director-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  html.page-team section.dfl-team-section .dfl-director-copy,
  html.page-home .dfl-team-copy,
  html.page-team .dfl-team-culture-copy {
    padding: 24px !important;
  }

  html.page-home .dfl-team-image,
  html.page-team .dfl-team-culture-image {
    height: 250px !important;
  }

  html.page-home .dfl-team-image img,
  html.page-team .dfl-team-culture-image img {
    height: 100% !important;
    object-fit: cover !important;
  }

  html.page-team .dfl-team-culture-points {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card {
    display: grid !important;
    grid-template-columns: 42% minmax(0, 1fr) !important;
    min-height: 210px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    height: 100% !important;
    min-height: 210px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card .content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 16px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card h3 {
    font-size: 21px !important;
    line-height: 1.04 !important;
    margin-bottom: 10px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card h5 {
    width: 100% !important;
    padding: 7px 9px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card .btn {
    min-height: 44px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }

  html.page-contact .dfl-map-card {
    margin-bottom: 16px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  html.page-contact .dfl-map-card iframe {
    height: 240px !important;
  }

  html.page-contact .dfl-contact-list {
    display: grid !important;
    gap: 10px !important;
  }

  html.page-contact .dfl-contact-list p {
    margin: 0 !important;
    border-radius: 18px !important;
  }

  html.page-contact .dfl-contact-form input:not([type="submit"]),
  html.page-contact .dfl-contact-form textarea {
    border-radius: 16px !important;
    background: rgba(255,255,255,0.07) !important;
  }

  .advisory,
  .dfl-services-final-cta,
  .dfl-team-final-cta,
  .dfl-contact-final-cta {
    margin: 0 !important;
    padding: 36px 0 !important;
  }

  .advisory .row,
  .dfl-services-final-cta .row,
  .dfl-team-final-cta .row,
  .dfl-contact-final-cta .row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 24px !important;
    border-radius: 24px !important;
    background: linear-gradient(135deg, rgba(223,31,38,0.18), rgba(255,255,255,0.055)) !important;
    border: 1px solid rgba(255,255,255,0.13) !important;
  }

  .advisory [class*="col-"] {
    width: auto !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .advisory .btn,
  .btn.btn-primary,
  input.btn.btn-primary,
  html.page-ground .dfl-service-sidebar .btn-download {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 16px !important;
  }

  .dfl-footer {
    padding-top: 44px !important;
  }

  .dfl-footer-brand,
  .dfl-footer-col {
    padding: 20px !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,0.045) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
  }

  .dfl-footer-bottom .container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    text-align: left !important;
  }
}

@media (max-width: 430px) {
  html.page-team .dfl-team-member-card.dfl-static-team-card {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    height: min(108vw, 420px) !important;
  }
}


/* EOF MOBILE SERVICE CARD FIX */
@media (max-width: 767px) {
  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .dfl-service-grid > .dfl-service-card,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card {
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) 38px !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 84px !important;
    height: auto !important;
    padding: 16px !important;
    overflow: hidden !important;
    border-radius: 20px !important;
    text-align: left !important;
    transform: none !important;
  }

  .dfl-service-grid > .dfl-service-card > i,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > i {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .dfl-service-grid > .dfl-service-card > div,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .dfl-service-grid > .dfl-service-card h3,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card h3 {
    margin: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .dfl-service-grid > .dfl-service-card p,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card p {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
  }

  .dfl-service-grid > .dfl-service-card.is-expanded p,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card.is-expanded p {
    display: block !important;
  }

  .dfl-service-grid > .dfl-service-card span,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card span {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: rotate(90deg) !important;
  }

  .dfl-service-grid > .dfl-service-card.is-expanded span,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card.is-expanded span {
    transform: rotate(0deg) !important;
  }
}


/* FINAL CORRECTION: section-level mobile collapse, normal service cards */
@media (max-width: 767px) {
  .dfl-mobile-section-toggle {
    width: 100% !important;
    min-height: 50px !important;
    margin-top: 18px !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border: 1px solid rgba(255,255,255,0.14) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,0.07) !important;
    color: #fff !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    text-align: left !important;
    cursor: pointer !important;
  }

  .dfl-mobile-section-toggle i {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(223,31,38,0.18) !important;
    color: #ff5a60 !important;
    font-style: normal !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .dfl-mobile-section-collapse:not(.is-expanded) .dfl-mobile-collapse-content {
    display: none !important;
  }

  .dfl-mobile-section-collapse.is-expanded .dfl-mobile-collapse-content {
    display: grid !important;
  }

  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .dfl-service-grid > .dfl-service-card,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) 36px !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: auto !important;
    height: auto !important;
    padding: 16px !important;
    border-radius: 20px !important;
    overflow: visible !important;
    text-align: left !important;
    transform: none !important;
  }

  .dfl-service-grid > .dfl-service-card > i,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > i {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    margin: 0 !important;
  }

  .dfl-service-grid > .dfl-service-card > h3,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .dfl-service-grid > .dfl-service-card > p {
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;
  }

  .dfl-service-grid > .dfl-service-card h3,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card h3 {
    margin: 0 0 6px !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .dfl-service-grid > .dfl-service-card p,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: rgba(246,249,255,0.74) !important;
  }

  .dfl-service-grid > .dfl-service-card span,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card span {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    margin: 0 !important;
    transform: none !important;
  }

  .dfl-service-grid > .dfl-service-card::after,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card::after {
    content: none !important;
    display: none !important;
  }
}

@media (min-width: 768px) {
  .dfl-mobile-section-toggle {
    display: none !important;
  }
}


/* MOBILE UX FINAL FIX: wide mobile breakpoint, light logo chips, sane collapsed sections */
.site-header.style-1 .site-branding a,
.dfl-mobile-site-header .site-branding a,
.dfl-navbar .dfl-brand,
.dfl-footer-brand > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 10px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,0.94) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18) !important;
}

.site-header.style-1 .site-branding img,
.dfl-mobile-site-header .site-branding img,
.dfl-navbar .dfl-brand img,
.dfl-footer-brand img {
  display: block !important;
  background: transparent !important;
}

@media (max-width: 1100px) {
  .dfl-mobile-section-toggle {
    width: 100% !important;
    min-height: 52px !important;
    margin-top: 18px !important;
    padding: 0 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    border: 1px solid rgba(255,255,255,0.16) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(255,255,255,0.10), rgba(255,255,255,0.045)) !important;
    color: #fff !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    text-align: left !important;
    cursor: pointer !important;
  }

  .dfl-mobile-section-toggle i {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: rgba(223,31,38,0.20) !important;
    color: #ff5a60 !important;
    font-style: normal !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  .dfl-mobile-section-collapse:not(.is-expanded) .dfl-mobile-collapse-content {
    display: none !important;
  }

  .dfl-mobile-section-collapse.is-expanded .dfl-mobile-collapse-content {
    display: grid !important;
  }

  .dfl-service-grid,
  html.page-services .dfl-services-page-grid.dfl-services-directory,
  html.page-services .dfl-service-lanes,
  html.page-services .dfl-service-flow,
  html.page-team .dfl-team-roster-grid,
  .dfl-capability-row,
  .dfl-value-grid,
  .dfl-team-culture-points,
  .dfl-contact-list,
  .dfl-trust-strip {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .dfl-service-grid > .dfl-service-card,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card,
  .dfl-service-grid > .dfl-service-card:nth-child(1),
  .dfl-service-grid > .dfl-service-card:nth-child(7),
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card:nth-child(1),
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card:nth-child(7) {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr) 38px !important;
    gap: 14px !important;
    align-items: center !important;
    min-height: auto !important;
    height: auto !important;
    padding: 16px !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    text-align: left !important;
    transform: none !important;
  }

  .dfl-service-grid > .dfl-service-card > i,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > i {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    margin: 0 !important;
  }

  .dfl-service-grid > .dfl-service-card > h3,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .dfl-service-grid > .dfl-service-card > p {
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;
  }

  .dfl-service-grid > .dfl-service-card h3,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card h3 {
    margin: 0 0 6px !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .dfl-service-grid > .dfl-service-card p,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card p {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: rgba(246,249,255,0.74) !important;
  }

  .dfl-service-grid > .dfl-service-card span,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card span {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    transform: none !important;
  }

  .dfl-service-grid > .dfl-service-card::after,
  html.page-services .dfl-services-page-grid.dfl-services-directory > .dfl-service-card::after {
    content: none !important;
    display: none !important;
  }

  .dfl-trust-strip,
  .dfl-contact-list,
  .dfl-team-culture-points,
  .dfl-capability-row,
  .dfl-value-grid,
  html.page-services .dfl-service-lanes,
  html.page-services .dfl-service-flow {
    margin-top: 18px !important;
  }
}

@media (min-width: 1101px) {
  .dfl-mobile-section-toggle {
    display: none !important;
  }
}


/* SHIP FIX: only homepage services collapse; all other mobile content stays visible */
@media (max-width: 1100px) {
  body:not(.unused-selector) .dfl-mobile-section-collapse:not(html.page-home .dfl-services-section) .dfl-mobile-collapse-content,
  html:not(.page-home) .dfl-mobile-collapse-content,
  html.page-home .dfl-hero .dfl-mobile-collapse-content,
  html.page-home .dfl-why-section .dfl-mobile-collapse-content,
  html.page-home .dfl-logo-strip .dfl-mobile-collapse-content,
  html.page-home .dfl-team-feature .dfl-mobile-collapse-content {
    display: grid !important;
  }

  html:not(.page-home) .dfl-mobile-section-toggle,
  html.page-home .dfl-hero .dfl-mobile-section-toggle,
  html.page-home .dfl-why-section .dfl-mobile-section-toggle,
  html.page-home .dfl-logo-strip .dfl-mobile-section-toggle,
  html.page-home .dfl-team-feature .dfl-mobile-section-toggle {
    display: none !important;
  }

  html.page-home .dfl-services-section.dfl-mobile-section-collapse:not(.is-expanded) .dfl-service-grid {
    display: none !important;
  }

  html.page-home .dfl-services-section.dfl-mobile-section-collapse.is-expanded .dfl-service-grid {
    display: grid !important;
  }
}

/* SHIP FIX: reliable hamburger menu on every page */
@media (max-width: 1100px) {
  .site-header.style-1,
  .dfl-mobile-site-header {
    display: block !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 1005 !important;
  }

  .navbar.mega.dfl-navbar,
  .hidden-lg-down.dfl-navbar {
    display: none !important;
  }

  .trigger-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    width: 44px !important;
    height: 44px !important;
    float: right !important;
    z-index: 1010 !important;
  }

  .trigger-menu::before,
  .trigger-menu::after {
    content: "" !important;
    position: absolute !important;
    width: 20px !important;
    height: 2px !important;
    left: 12px !important;
    background: #fff !important;
    border-radius: 999px !important;
    transition: transform .2s ease !important;
  }

  .trigger-menu::before {
    transform: translateY(-5px) !important;
    box-shadow: 0 5px 0 #fff !important;
  }

  .trigger-menu::after {
    transform: translateY(5px) !important;
  }

  body.dfl-mobile-nav-open .trigger-menu::before {
    transform: rotate(45deg) !important;
    box-shadow: none !important;
  }

  body.dfl-mobile-nav-open .trigger-menu::after {
    transform: rotate(-45deg) !important;
  }

  #mobile-menu {
    display: none !important;
    position: fixed !important;
    top: 72px !important;
    left: 16px !important;
    right: 16px !important;
    max-height: calc(100dvh - 92px) !important;
    overflow-y: auto !important;
    z-index: 1004 !important;
    padding: 14px !important;
    border-radius: 22px !important;
    background: rgba(7,22,50,.985) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: 0 24px 80px rgba(0,0,0,.42) !important;
  }

  body.dfl-mobile-nav-open #mobile-menu,
  #mobile-menu.dfl-mobile-open {
    display: block !important;
  }

  body.dfl-mobile-nav-open {
    overflow: hidden !important;
  }

  #mobile-menu ul,
  #mobile-menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #mobile-menu a {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    color: rgba(255,255,255,.9) !important;
    text-decoration: none !important;
    font-weight: 800 !important;
  }

  #mobile-menu ul ul {
    margin: 6px 0 10px !important;
    padding: 8px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.045) !important;
  }
}

/* SHIP FIX: mobile spacing and blended section cleanup */
@media (max-width: 767px) {
  .dfl-section,
  .dfl-light-section,
  .dfl-dark-section,
  .dfl-services-section,
  .dfl-team-feature,
  .dfl-logo-strip,
  .dfl-team-section,
  .dfl-team-roster-section,
  .dfl-contact-section,
  .dfl-service-detail-section,
  .dfl-services-page-section,
  .advisory {
    margin: 0 !important;
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

  .advisory .row,
  .dfl-services-final-cta .row,
  .dfl-team-final-cta .row,
  .dfl-contact-final-cta .row {
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .dfl-team-feature::before,
  .dfl-services-section::before,
  .dfl-logo-strip::before,
  .dfl-team-roster-section::before,
  .dfl-contact-section::before,
  .dfl-service-detail-section::before,
  .dfl-services-page-section::before {
    opacity: .32 !important;
  }
}

/* SHIP FIX: individual member profile mobile/tablet layout */
@media (max-width: 1100px) {
  .dfl-member-detail-section {
    padding: 42px 0 !important;
    overflow: hidden !important;
  }

  .dfl-member-profile-shell {
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .dfl-member-profile-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .dfl-member-profile-photo img {
    height: min(118vw, 520px) !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  .dfl-member-profile-copy h2 {
    font-size: clamp(32px, 9vw, 48px) !important;
    line-height: 1 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .dfl-member-detail-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .dfl-member-detail-list p {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 64px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.065) !important;
    overflow: hidden !important;
  }

  .dfl-member-detail-list p i {
    grid-row: 1 / span 2 !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .dfl-member-detail-list p span,
  .dfl-member-detail-list p strong,
  .dfl-member-detail-list p a {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .dfl-member-detail-list p strong {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .dfl-member-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 22px !important;
  }

  .dfl-member-actions .btn {
    width: 100% !important;
  }
}


/* SHIP FIX 2: prevent mobile horizontal drift and ugly CTA blending */
@media (max-width: 1100px) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .container,
  .dfl-container,
  .dfl-hero-content,
  .dfl-page-hero .dfl-container,
  .dfl-footer .container {
    width: min(100% - 32px, 1068px) !important;
    max-width: min(100% - 32px, 1068px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .dfl-section-title,
  .dfl-section-heading h2,
  .dfl-services-page-heading h2,
  .dfl-dark-section h2,
  .dfl-light-section h2,
  .dfl-page-hero h1,
  .dfl-hero h1 {
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .advisory,
  .dfl-services-final-cta,
  .dfl-team-final-cta,
  .dfl-contact-final-cta {
    background: linear-gradient(135deg, rgba(223,31,38,.94), rgba(117,28,64,.88)) !important;
  }

  .advisory .row,
  .dfl-services-final-cta .row,
  .dfl-team-final-cta .row,
  .dfl-contact-final-cta .row {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 28px 0 !important;
  }

  .advisory .btn,
  .dfl-services-final-cta .btn,
  .dfl-team-final-cta .btn,
  .dfl-contact-final-cta .btn,
  .advisory .btn.btn-primary {
    background: #df1f26 !important;
    border: 1px solid rgba(255,255,255,.20) !important;
    color: #fff !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.22) !important;
  }

  .advisory .btn i,
  .dfl-services-final-cta .btn i,
  .dfl-team-final-cta .btn i,
  .dfl-contact-final-cta .btn i {
    color: #fff !important;
  }
}


/* CLIENT FINAL: remove mobile reliable-section image gap */
@media (max-width: 1100px) {
  html.page-home .dfl-why-layout {
    display: block !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  html.page-home .dfl-why-visual,
  html.page-home .dfl-why-section::after {
    display: none !important;
  }

  html.page-home .dfl-why-copy {
    max-width: 100% !important;
  }

  html.page-home .dfl-why-contact-card {
    margin-bottom: 0 !important;
  }
}

/* CLIENT FINAL: hamburger menu must stay clickable above every legacy overlay */
@media (max-width: 991px) {
  body.dfl-mobile-nav-open::before,
  body.dfl-menu-open::before,
  .mm-blocker,
  .mm-slideout::before {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.dfl-mobile-nav-open #page,
  body.dfl-mobile-nav-open .mm-page,
  body.dfl-mobile-nav-open .mm-slideout {
    transform: none !important;
    pointer-events: auto !important;
  }

  #mobile-menu,
  nav#mobile-menu,
  #mobile-menu.dfl-nav {
    display: block !important;
    position: fixed !important;
    top: 72px !important;
    left: 14px !important;
    right: 14px !important;
    max-height: calc(100dvh - 92px) !important;
    overflow-y: auto !important;
    z-index: 2147483646 !important;
    pointer-events: none !important;
  }

  body.dfl-mobile-nav-open #mobile-menu,
  #mobile-menu.dfl-mobile-open,
  #mobile-menu.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }

  body:not(.dfl-mobile-nav-open) #mobile-menu:not(.dfl-mobile-open):not(.is-open) {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-12px) !important;
    pointer-events: none !important;
  }

  #mobile-menu a,
  #mobile-menu button,
  #mobile-menu li,
  #mobile-menu ul {
    pointer-events: auto !important;
  }

  .trigger-menu,
  .dfl-menu-toggle {
    position: relative !important;
    z-index: 2147483647 !important;
  }
}

/* CLIENT FINAL: founder and leadership image presentation */
.dfl-director-image,
html.page-leadership-charities .dfl-leadership-section .dfl-image-card {
  background:
    radial-gradient(circle at 82% 8%, rgba(223,31,38,.16), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 28px !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow: hidden !important;
  padding: 10px !important;
}

.dfl-director-image img,
html.page-leadership-charities .dfl-leadership-section .dfl-image-card img {
  aspect-ratio: 4 / 5 !important;
  background: #eef3f7 !important;
  border: 0 !important;
  border-radius: 22px !important;
  box-shadow: none !important;
  display: block !important;
  filter: brightness(1.05) contrast(1.03) saturate(1.02) !important;
  height: auto !important;
  max-height: 680px !important;
  object-fit: cover !important;
  object-position: center top !important;
  padding: 0 !important;
  width: 100% !important;
}

.dfl-director-layout,
html.page-leadership-charities .dfl-leadership-grid {
  align-items: center !important;
}

@media (max-width: 991px) {
  .dfl-director-image,
  html.page-leadership-charities .dfl-leadership-section .dfl-image-card {
    border-radius: 24px !important;
    padding: 8px !important;
  }

  .dfl-director-image img,
  html.page-leadership-charities .dfl-leadership-section .dfl-image-card img {
    aspect-ratio: 5 / 4 !important;
    max-height: 460px !important;
  }
}

/* CLIENT FINAL: founder message composition */
html.page-team .dfl-director-card {
  background:
    radial-gradient(circle at 92% 0%, rgba(223,31,38,.14), transparent 28%),
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
}

html.page-team .dfl-founder-message {
  max-width: 780px !important;
}

html.page-team .dfl-founder-message .dfl-section-kicker {
  align-items: center !important;
  color: #ff5a60 !important;
  display: inline-flex !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  gap: 10px !important;
  letter-spacing: .18em !important;
  margin-bottom: 14px !important;
  text-transform: uppercase !important;
}

html.page-team .dfl-founder-message .dfl-section-kicker::before {
  background: #ff5a60 !important;
  border-radius: 999px !important;
  content: "" !important;
  display: block !important;
  height: 2px !important;
  width: 34px !important;
}

html.page-team .dfl-founder-message .dfl-section-title {
  color: #fff !important;
  font-size: clamp(34px, 3.5vw, 54px) !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
  margin: 0 0 24px !important;
}

html.page-team .dfl-founder-quote {
  border-left: 3px solid rgba(255,90,96,.78) !important;
  margin: 0 0 26px !important;
  padding: 2px 0 2px clamp(18px, 2.3vw, 30px) !important;
  position: relative !important;
}

html.page-team .dfl-founder-quote::before {
  color: rgba(255,255,255,.14) !important;
  content: "\201C" !important;
  font-family: Georgia, serif !important;
  font-size: clamp(70px, 8vw, 118px) !important;
  line-height: .7 !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
}

html.page-team .dfl-founder-message .dfl-founder-copy,
html.page-team .dfl-founder-message p.dfl-founder-copy {
  color: rgba(246,249,255,.86) !important;
  font-size: clamp(15.5px, 1vw, 17.5px) !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  margin: 0 0 13px !important;
  max-width: 720px !important;
  text-shadow: none !important;
}

html.page-team .dfl-founder-message .dfl-founder-copy:first-child {
  color: rgba(255,255,255,.94) !important;
  font-size: clamp(17px, 1.15vw, 19px) !important;
  font-weight: 600 !important;
}

html.page-team .dfl-founder-message .author {
  border-top: 1px solid rgba(255,255,255,.14) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin-top: 24px !important;
  padding-top: 20px !important;
}

html.page-team .dfl-founder-message .author span:first-child {
  color: #fff !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

html.page-team .dfl-founder-message .author .title {
  color: rgba(246,249,255,.68) !important;
  font-size: 13px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

@media (max-width: 767px) {
  html.page-team .dfl-founder-message .dfl-section-title {
    font-size: 32px !important;
  }

  html.page-team .dfl-founder-quote {
    padding-left: 18px !important;
  }
}

/* CLIENT HOTFIX: keep founder message readable after legacy text effects */
html.page-team section.dfl-team-section .dfl-founder-message,
html.page-team section.dfl-team-section .dfl-founder-message *,
html.page-team section.dfl-team-section .dfl-founder-quote,
html.page-team section.dfl-team-section .dfl-founder-quote *,
html.page-team section.dfl-team-section .dfl-founder-message .dfl-founder-copy,
html.page-team section.dfl-team-section .dfl-founder-message p,
html.page-team section.dfl-team-section .dfl-founder-message cite,
html.page-team section.dfl-team-section .dfl-founder-message span {
  color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  visibility: visible !important;
  -webkit-text-fill-color: #ffffff !important;
}

html.page-team section.dfl-team-section .dfl-founder-message .title {
  color: rgba(255,255,255,.76) !important;
  -webkit-text-fill-color: rgba(255,255,255,.76) !important;
}

html.page-team section.dfl-team-section .dfl-founder-quote::before {
  color: rgba(255,255,255,.16) !important;
  -webkit-text-fill-color: rgba(255,255,255,.16) !important;
}

/* CLIENT HOTFIX: consistent team-card designation labels */
html.page-team .dfl-team-member-card.dfl-static-team-card .content {
  display: flex !important;
  flex-direction: column !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h5,
html.page-team .members-grid .dfl-team-member-card.dfl-static-team-card h5 {
  align-items: center !important;
  align-self: stretch !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-left: 3px solid rgba(255,90,96,.86) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.9) !important;
  display: flex !important;
  font-size: 12.5px !important;
  font-style: normal !important;
  font-weight: 750 !important;
  justify-content: center !important;
  letter-spacing: .02em !important;
  line-height: 1.28 !important;
  margin: 0 0 18px !important;
  min-height: 58px !important;
  padding: 10px 14px !important;
  text-align: center !important;
  text-transform: none !important;
  text-wrap: balance !important;
  white-space: normal !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  -webkit-text-fill-color: rgba(255,255,255,.9) !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .post-details {
  margin-top: auto !important;
}

@media (max-width: 767px) {
  html.page-team .dfl-team-member-card.dfl-static-team-card h5,
  html.page-team .members-grid .dfl-team-member-card.dfl-static-team-card h5 {
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    min-height: 54px !important;
    padding: 9px 10px !important;
  }
}

/* CLIENT FINAL: our-team flow and roster polish */
html.page-team,
html.page-team body {
  overflow-x: hidden !important;
}

html.page-team .dfl-team-culture-section,
html.page-team .dfl-team-roster-section {
  background:
    radial-gradient(circle at 9% 12%, rgba(223,31,38,.13), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(126,205,255,.10), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0a1930 42%, #071632 100%) !important;
}

html.page-team .dfl-team-culture-section {
  padding: clamp(70px, 7vw, 108px) 0 clamp(30px, 4vw, 56px) !important;
}

html.page-team .dfl-team-roster-section {
  margin-top: 0 !important;
  padding: clamp(38px, 5vw, 72px) 0 clamp(76px, 8vw, 120px) !important;
}

html.page-team .dfl-team-culture-section .dfl-container,
html.page-team .dfl-team-roster-section .dfl-container,
html.page-team .members-grid > .dfl-container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1180px !important;
  width: min(100% - 48px, 1180px) !important;
}

html.page-team .dfl-team-culture-panel {
  align-items: stretch !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.032)) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 26px !important;
  box-shadow: 0 28px 78px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(360px, .94fr) !important;
  min-height: 390px !important;
  overflow: hidden !important;
}

html.page-team .dfl-team-culture-image {
  min-height: 390px !important;
}

html.page-team .dfl-team-culture-image img {
  filter: saturate(1.02) contrast(1.03) brightness(.92) !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 44% !important;
  transform: none !important;
  width: 100% !important;
}

html.page-team .dfl-team-culture-copy {
  align-content: center !important;
  display: grid !important;
  padding: clamp(34px, 4vw, 54px) !important;
}

html.page-team .dfl-team-culture-copy .dfl-section-kicker {
  color: #ff5a60 !important;
  margin-bottom: 12px !important;
}

html.page-team .dfl-team-culture-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(34px, 3.4vw, 54px) !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
  margin: 0 0 16px !important;
}

html.page-team .dfl-team-culture-copy p {
  color: rgba(246,249,255,.82) !important;
  font-size: clamp(15.5px, 1vw, 18px) !important;
  line-height: 1.68 !important;
  margin: 0 0 22px !important;
}

html.page-team .dfl-team-culture-points {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

html.page-team .dfl-team-culture-points span {
  border-radius: 12px !important;
  font-size: 12px !important;
  padding: 9px 12px !important;
}

html.page-team .dfl-team-culture-link {
  align-items: center !important;
  color: #fff !important;
  display: inline-flex !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  gap: 10px !important;
  justify-self: start !important;
  margin-top: 26px !important;
}

html.page-team .dfl-team-culture-link i {
  color: #ff5a60 !important;
}

html.page-team .dfl-team-roster-heading {
  margin: 0 auto clamp(30px, 4vw, 48px) !important;
  max-width: 820px !important;
  text-align: center !important;
}

html.page-team .dfl-team-roster-heading .dfl-section-title {
  color: #fff !important;
  font-size: clamp(36px, 4vw, 58px) !important;
  letter-spacing: 0 !important;
  line-height: 1.06 !important;
}

html.page-team .dfl-team-roster-heading p {
  color: rgba(246,249,255,.72) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 680px !important;
}

html.page-team .dfl-team-roster-grid {
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
  overflow: visible !important;
  width: 100% !important;
}

html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-child(n) {
  grid-column: auto !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 20px !important;
  box-shadow: 0 20px 58px rgba(0,0,0,.25) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card::before {
  background:
    linear-gradient(180deg, transparent 62%, rgba(7,22,50,.30) 100%) !important;
  opacity: .42 !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card::after {
  left: 22px !important;
  right: 22px !important;
  height: 2px !important;
  opacity: .72 !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card img {
  aspect-ratio: 4 / 4.4 !important;
  background:
    radial-gradient(circle at 50% 12%, rgba(255,255,255,.92), rgba(232,239,246,.96) 54%, rgba(211,222,233,.92) 100%) !important;
  display: block !important;
  filter: brightness(1.03) contrast(1.02) saturate(1.02) !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  padding: 0 !important;
  transform: none !important;
  transition: filter .24s ease, transform .24s ease !important;
  width: 100% !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card:hover img {
  filter: brightness(1.06) contrast(1.03) saturate(1.03) !important;
  transform: none !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .content {
  background:
    linear-gradient(180deg, rgba(10,25,48,.98), rgba(7,22,50,1)) !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 210px !important;
  padding: 22px !important;
  position: relative !important;
  z-index: 4 !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h3 {
  color: #fff !important;
  font-size: clamp(22px, 1.65vw, 28px) !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
  margin: 0 0 14px !important;
  overflow-wrap: normal !important;
  text-align: left !important;
  word-break: normal !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card h5,
html.page-team .members-grid .dfl-team-member-card.dfl-static-team-card h5 {
  background:
    linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-left: 3px solid rgba(255,90,96,.86) !important;
  border-radius: 12px !important;
  color: rgba(255,255,255,.88) !important;
  display: flex !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  justify-content: flex-start !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  margin: 0 0 18px !important;
  min-height: 56px !important;
  padding: 10px 12px !important;
  text-align: left !important;
  text-transform: none !important;
  width: 100% !important;
  -webkit-text-fill-color: rgba(255,255,255,.88) !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .post-details {
  margin-top: auto !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card .btn {
  align-items: center !important;
  align-self: stretch !important;
  border-radius: 12px !important;
  display: flex !important;
  font-size: 14px !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 12px 18px !important;
  width: 100% !important;
}

@media (max-width: 1100px) {
  html.page-team .dfl-team-culture-panel {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-culture-image {
    height: auto !important;
    min-height: 0 !important;
  }

  html.page-team .dfl-team-culture-image img {
    aspect-ratio: 16 / 9 !important;
  }

  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html.page-team .dfl-team-culture-section .dfl-container,
  html.page-team .dfl-team-roster-section .dfl-container,
  html.page-team .members-grid > .dfl-container {
    width: min(100% - 32px, 1180px) !important;
  }

  html.page-team .dfl-team-culture-section {
    padding-top: 54px !important;
  }

  html.page-team .dfl-team-culture-panel {
    border-radius: 20px !important;
  }

  html.page-team .dfl-team-culture-copy {
    padding: 24px !important;
  }

  html.page-team .dfl-team-roster-heading {
    text-align: left !important;
  }

  html.page-team .dfl-team-roster-heading .dfl-section-title,
  html.page-team .dfl-team-roster-heading p {
    text-align: left !important;
  }

  html.page-team .dfl-team-roster-grid {
    gap: 18px !important;
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card {
    display: flex !important;
    border-radius: 18px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card .content {
    min-height: 0 !important;
    padding: 20px !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card h3 {
    font-size: 25px !important;
  }
}

/* CLIENT FINAL 2: blended team intro and aligned roster grid */
html.page-team .dfl-team-culture-section {
  background: #071632 !important;
  isolation: isolate !important;
  margin: 0 !important;
  min-height: clamp(500px, 52vw, 680px) !important;
  overflow: hidden !important;
  padding: clamp(86px, 9vw, 132px) 0 clamp(76px, 8vw, 118px) !important;
  position: relative !important;
}

html.page-team .dfl-team-culture-section::before {
  background:
    linear-gradient(90deg, rgba(7,22,50,.98) 0%, rgba(7,22,50,.76) 40%, rgba(7,22,50,.40) 72%, rgba(7,22,50,.88) 100%),
    linear-gradient(180deg, rgba(7,22,50,.42) 0%, rgba(7,22,50,.20) 42%, #071632 100%),
    url("../images/members/dfl-team-home.jpg") center 42% / cover no-repeat !important;
  content: "" !important;
  inset: 0 !important;
  opacity: 1 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: -2 !important;
}

html.page-team .dfl-team-culture-section::after {
  background:
    radial-gradient(circle at 12% 28%, rgba(223,31,38,.24), transparent 28%),
    radial-gradient(circle at 80% 18%, rgba(126,205,255,.13), transparent 26%),
    linear-gradient(180deg, transparent 0%, rgba(7,22,50,.12) 50%, #071632 100%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  z-index: -1 !important;
}

html.page-team .dfl-team-culture-section .dfl-container {
  position: relative !important;
  z-index: 2 !important;
}

html.page-team .dfl-team-culture-panel {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
}

html.page-team .dfl-team-culture-image {
  display: none !important;
}

html.page-team .dfl-team-culture-copy {
  align-content: center !important;
  background:
    linear-gradient(135deg, rgba(7,22,50,.70), rgba(7,22,50,.38)) !important;
  border-left: 3px solid rgba(255,90,96,.86) !important;
  display: grid !important;
  max-width: 650px !important;
  min-height: 340px !important;
  padding: clamp(28px, 4vw, 52px) !important;
  position: relative !important;
}

html.page-team .dfl-team-culture-copy .dfl-section-kicker {
  color: #ff5a60 !important;
  margin: 0 0 14px !important;
}

html.page-team .dfl-team-culture-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(42px, 4.8vw, 76px) !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  margin: 0 0 20px !important;
  max-width: 11ch !important;
}

html.page-team .dfl-team-culture-copy p {
  color: rgba(246,249,255,.86) !important;
  font-size: clamp(16px, 1.12vw, 19px) !important;
  line-height: 1.68 !important;
  margin: 0 0 24px !important;
  max-width: 54ch !important;
}

html.page-team .dfl-team-culture-points {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

html.page-team .dfl-team-culture-link {
  margin-top: 26px !important;
}

html.page-team .dfl-team-roster-section {
  background:
    radial-gradient(circle at 12% 0%, rgba(223,31,38,.10), transparent 30%),
    linear-gradient(180deg, #071632 0%, #08172d 46%, #071632 100%) !important;
  padding-top: clamp(64px, 7vw, 104px) !important;
}

html.page-team .dfl-team-roster-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: 28px !important;
  grid-auto-flow: row !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  justify-content: center !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
  width: 100% !important;
}

html.page-team .dfl-team-roster-grid > .dfl-team-member-card,
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-child(n),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-last-child(1),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-last-child(2),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-last-child(2):nth-child(4n + 1),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:last-child:nth-child(4n + 2),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:last-child:nth-child(3n + 1),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:last-child:nth-child(3n + 2) {
  grid-column: auto !important;
  grid-row: auto !important;
  justify-self: stretch !important;
  margin: 0 !important;
  max-width: none !important;
  transform: none !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card {
  height: 100% !important;
}

html.page-team .dfl-team-member-card.dfl-static-team-card img {
  aspect-ratio: 4 / 4.35 !important;
  object-fit: contain !important;
  object-position: center bottom !important;
}

@media (max-width: 1100px) {
  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html.page-team .dfl-team-culture-section {
    min-height: 520px !important;
    padding: 62px 0 72px !important;
  }

  html.page-team .dfl-team-culture-section::before {
    background:
      linear-gradient(180deg, rgba(7,22,50,.82) 0%, rgba(7,22,50,.48) 42%, #071632 100%),
      url("../images/members/dfl-team-home.jpg") center top / cover no-repeat !important;
    opacity: .92 !important;
  }

  html.page-team .dfl-team-culture-copy {
    background:
      linear-gradient(180deg, rgba(7,22,50,.68), rgba(7,22,50,.42)) !important;
    min-height: 0 !important;
    padding: 24px !important;
  }

  html.page-team .dfl-team-culture-copy .dfl-section-title {
    font-size: clamp(36px, 11vw, 52px) !important;
    max-width: 10ch !important;
  }

  html.page-team .dfl-team-roster-grid {
    gap: 20px !important;
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-member-card.dfl-static-team-card img {
    aspect-ratio: 1 / 1 !important;
  }
}

/* CLIENT FINAL 3: active socials and clean team intro */
.social-menu .dfl-tiktok-icon,
.dfl-footer-social .dfl-tiktok-icon {
  display: block;
  height: 15px;
  width: 15px;
}

html.page-team .dfl-team-culture-section {
  background:
    radial-gradient(circle at 14% 12%, rgba(223,31,38,.10), transparent 30%),
    linear-gradient(180deg, #071632 0%, #08172d 100%) !important;
  isolation: isolate !important;
  margin: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  position: relative !important;
}

html.page-team .dfl-team-culture-section::before,
html.page-team .dfl-team-culture-section::after {
  content: none !important;
  display: none !important;
}

html.page-team .dfl-team-culture-panel {
  align-items: stretch !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 24px !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.28) !important;
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  min-height: 440px !important;
  overflow: hidden !important;
  padding: 0 !important;
}

html.page-team .dfl-team-culture-image {
  background: #0d1c37 !important;
  display: block !important;
  height: auto !important;
  min-height: 440px !important;
  overflow: hidden !important;
  position: relative !important;
}

html.page-team .dfl-team-culture-image::after {
  background: linear-gradient(90deg, transparent 70%, rgba(7,22,50,.28) 100%) !important;
  content: "" !important;
  inset: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-team .dfl-team-culture-image img {
  aspect-ratio: auto !important;
  display: block !important;
  filter: saturate(1.02) contrast(1.02) !important;
  height: 100% !important;
  min-height: 440px !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  width: 100% !important;
}

html.page-team .dfl-team-culture-copy {
  align-content: center !important;
  background:
    linear-gradient(135deg, rgba(8,23,45,.98), rgba(10,30,57,.92)) !important;
  border-left: 1px solid rgba(255,255,255,.10) !important;
  display: grid !important;
  justify-items: start !important;
  max-width: none !important;
  min-height: 440px !important;
  padding: clamp(34px, 4.5vw, 64px) !important;
  position: relative !important;
}

html.page-team .dfl-team-culture-copy::before {
  background: #df1f26 !important;
  border-radius: 999px !important;
  content: "" !important;
  height: 4px !important;
  left: clamp(34px, 4.5vw, 64px) !important;
  position: absolute !important;
  top: clamp(28px, 3.6vw, 48px) !important;
  width: 58px !important;
}

html.page-team .dfl-team-culture-copy .dfl-section-kicker {
  color: #ff6268 !important;
  margin: 18px 0 12px !important;
}

html.page-team .dfl-team-culture-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(36px, 4vw, 58px) !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.05 !important;
  margin: 0 0 20px !important;
  max-width: 12.5ch !important;
}

html.page-team .dfl-team-culture-copy p {
  color: rgba(246,249,255,.84) !important;
  font-size: clamp(16px, 1.08vw, 18px) !important;
  line-height: 1.72 !important;
  margin: 0 0 24px !important;
  max-width: 56ch !important;
}

html.page-team .dfl-team-culture-points {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
}

html.page-team .dfl-team-culture-points span {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.90) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  line-height: 1.2 !important;
  padding: 10px 14px !important;
  white-space: normal !important;
}

html.page-team .dfl-team-culture-link {
  align-items: center !important;
  background: #df1f26 !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex !important;
  font-weight: 850 !important;
  gap: 10px !important;
  margin-top: 28px !important;
  padding: 14px 20px !important;
}

html.page-team .dfl-team-roster-grid {
  align-items: stretch !important;
  display: grid !important;
  gap: 28px !important;
  grid-auto-flow: row !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  justify-content: center !important;
  margin: 0 auto !important;
  max-width: 1180px !important;
  width: 100% !important;
}

html.page-team .dfl-team-roster-grid > .dfl-team-member-card,
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-child(n),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-last-child(1),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-last-child(2),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:nth-last-child(2):nth-child(4n + 1),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:last-child:nth-child(4n + 2),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:last-child:nth-child(3n + 1),
html.page-team .dfl-team-roster-grid > .dfl-team-member-card:last-child:nth-child(3n + 2) {
  grid-column: auto !important;
  grid-row: auto !important;
  justify-self: stretch !important;
  margin: 0 !important;
  max-width: none !important;
  transform: none !important;
}

@media (max-width: 1100px) {
  html.page-team .dfl-team-culture-panel {
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-team-culture-image,
  html.page-team .dfl-team-culture-image img,
  html.page-team .dfl-team-culture-copy {
    min-height: 0 !important;
  }

  html.page-team .dfl-team-culture-image img {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
  }

  html.page-team .dfl-team-roster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html.page-team .dfl-team-culture-section {
    padding: 44px 0 54px !important;
  }

  html.page-team .dfl-team-culture-panel {
    border-radius: 18px !important;
  }

  html.page-team .dfl-team-culture-image img {
    aspect-ratio: 4 / 3 !important;
    object-position: center center !important;
  }

  html.page-team .dfl-team-culture-copy {
    padding: 28px 22px 26px !important;
  }

  html.page-team .dfl-team-culture-copy::before {
    left: 22px !important;
    top: 24px !important;
    width: 48px !important;
  }

  html.page-team .dfl-team-culture-copy .dfl-section-title {
    font-size: clamp(32px, 9vw, 44px) !important;
    max-width: 11ch !important;
  }

  html.page-team .dfl-team-culture-points span {
    font-size: 12px !important;
    padding: 9px 12px !important;
  }

  html.page-team .dfl-team-roster-grid {
    gap: 20px !important;
    grid-template-columns: 1fr !important;
  }
}

/* FINAL MAIN PASS: avoid duplicate desktop logos above service nav */
@media (min-width: 992px) {
  .site-header.style-1 .site-branding {
    display: none !important;
  }

  .site-header.style-1 .hidden-md-down,
  .site-header.style-1 .col-lg-10.hidden-md-down {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* FINAL MAIN PASS 2: keep profile email rows readable on smaller screens */
html.page-team .dfl-member-detail-list p {
  align-items: center !important;
  grid-template-columns: 32px minmax(56px, max-content) minmax(0, 1fr) !important;
}

html.page-team .dfl-member-detail-list p i,
html.page-team .dfl-member-detail-list p span,
html.page-team .dfl-member-detail-list p strong {
  grid-column: auto !important;
  grid-row: auto !important;
  justify-self: start !important;
  margin: 0 !important;
}

html.page-team .dfl-member-detail-list p strong,
html.page-team .dfl-member-detail-list p strong a {
  min-width: 0 !important;
  text-align: left !important;
}

html.page-team .dfl-member-detail-list .dfl-member-email-row {
  grid-column: 1 / -1 !important;
  grid-template-columns: 32px minmax(56px, max-content) minmax(0, 1fr) !important;
}

html.page-team .dfl-member-detail-list .dfl-member-email-row strong,
html.page-team .dfl-member-detail-list .dfl-member-email-row a {
  display: block !important;
  font-size: clamp(10px, 1.35vw, 15px) !important;
  line-height: 1.25 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

@media (max-width: 1100px) {
  html.page-team .dfl-member-detail-list p {
    gap: 10px !important;
    grid-template-columns: 38px minmax(48px, max-content) minmax(0, 1fr) !important;
    min-height: 58px !important;
    padding: 12px !important;
  }

  html.page-team .dfl-member-detail-list p i {
    align-items: center !important;
    display: inline-flex !important;
    height: 38px !important;
    justify-content: center !important;
    width: 38px !important;
  }

  html.page-team .dfl-member-detail-list p span {
    font-size: 10px !important;
    letter-spacing: .1em !important;
    white-space: nowrap !important;
  }

  html.page-team .dfl-member-detail-list p strong,
  html.page-team .dfl-member-detail-list p strong a {
    font-size: clamp(12px, 3.1vw, 15px) !important;
    line-height: 1.25 !important;
    overflow-wrap: normal !important;
    white-space: nowrap !important;
  }

  html.page-team .dfl-member-detail-list .dfl-member-email-row {
    grid-template-columns: 38px minmax(48px, max-content) minmax(0, 1fr) !important;
  }

  html.page-team .dfl-member-detail-list .dfl-member-email-row i {
    grid-row: 1 !important;
  }

  html.page-team .dfl-member-detail-list .dfl-member-email-row span {
    white-space: nowrap !important;
  }

  html.page-team .dfl-member-detail-list .dfl-member-email-row strong,
  html.page-team .dfl-member-detail-list .dfl-member-email-row a {
    font-size: clamp(9px, 2.45vw, 15px) !important;
    letter-spacing: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }
}

@media (max-width: 390px) {
  html.page-team .dfl-member-detail-list p,
  html.page-team .dfl-member-detail-list .dfl-member-email-row {
    grid-template-columns: 34px minmax(40px, max-content) minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 11px 10px !important;
  }

  html.page-team .dfl-member-detail-list p i {
    height: 34px !important;
    width: 34px !important;
  }

  html.page-team .dfl-member-detail-list p span {
    font-size: 9px !important;
    letter-spacing: .08em !important;
  }

  html.page-team .dfl-member-detail-list p strong,
  html.page-team .dfl-member-detail-list p strong a {
    font-size: clamp(10px, 2.85vw, 13px) !important;
  }

  html.page-team .dfl-member-detail-list .dfl-member-email-row strong,
  html.page-team .dfl-member-detail-list .dfl-member-email-row a {
    font-size: clamp(8px, 2.45vw, 12px) !important;
  }
}

/* PROFILE DETAIL FINAL: stable layout across resize and mobile/desktop toggles */
html.page-team .dfl-member-detail-list {
  align-items: stretch !important;
  display: grid !important;
  gap: 14px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 30px 0 0 !important;
  width: 100% !important;
}

html.page-team .dfl-member-detail-list p,
html.page-team .dfl-member-detail-list p:nth-child(n),
html.page-team .dfl-member-detail-list .dfl-member-email-row {
  align-items: center !important;
  background: rgba(255,255,255,.065) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  color: #fff !important;
  display: grid !important;
  gap: 2px 14px !important;
  grid-column: auto !important;
  grid-template-areas:
    "icon label"
    "icon value" !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  justify-items: start !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  min-height: 72px !important;
  min-width: 0 !important;
  overflow: visible !important;
  padding: 13px 15px !important;
  width: 100% !important;
}

html.page-team .dfl-member-detail-list .dfl-member-email-row {
  grid-column: 1 / -1 !important;
}

html.page-team .dfl-member-detail-list p i,
html.page-team .dfl-member-detail-list p:nth-child(n) i {
  align-items: center !important;
  align-self: center !important;
  color: var(--dfl-red) !important;
  display: inline-flex !important;
  font-size: 18px !important;
  grid-area: icon !important;
  height: 42px !important;
  justify-content: center !important;
  justify-self: center !important;
  margin: 0 !important;
  text-align: center !important;
  width: 42px !important;
}

html.page-team .dfl-member-detail-list p span,
html.page-team .dfl-member-detail-list p:nth-child(n) span {
  align-self: end !important;
  color: rgba(241,247,255,.58) !important;
  display: block !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  grid-area: label !important;
  justify-self: start !important;
  letter-spacing: .11em !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  text-align: left !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html.page-team .dfl-member-detail-list p strong,
html.page-team .dfl-member-detail-list p:nth-child(n) strong {
  align-self: start !important;
  color: #fff !important;
  display: block !important;
  font-size: clamp(13px, 1.05vw, 15px) !important;
  font-weight: 800 !important;
  grid-area: value !important;
  justify-self: start !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  text-align: left !important;
  white-space: nowrap !important;
  word-break: normal !important;
}

html.page-team .dfl-member-detail-list p strong a,
html.page-team .dfl-member-detail-list p:nth-child(n) strong a {
  color: #fff !important;
  display: inline-block !important;
  font-size: inherit !important;
  line-height: inherit !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  text-decoration: none !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  word-break: normal !important;
}

html.page-team .dfl-member-detail-list .dfl-member-email-row strong,
html.page-team .dfl-member-detail-list .dfl-member-email-row strong a {
  font-size: clamp(11px, 1.1vw, 15px) !important;
}

@media (max-width: 1100px) {
  html.page-team .dfl-member-detail-list {
    gap: 12px !important;
    grid-template-columns: 1fr !important;
  }

  html.page-team .dfl-member-detail-list p,
  html.page-team .dfl-member-detail-list p:nth-child(n),
  html.page-team .dfl-member-detail-list .dfl-member-email-row {
    gap: 2px 12px !important;
    grid-column: auto !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    min-height: 68px !important;
    padding: 12px 14px !important;
  }

  html.page-team .dfl-member-detail-list p i,
  html.page-team .dfl-member-detail-list p:nth-child(n) i {
    height: 40px !important;
    width: 40px !important;
  }

  html.page-team .dfl-member-detail-list p strong,
  html.page-team .dfl-member-detail-list p:nth-child(n) strong {
    font-size: clamp(12px, 3.2vw, 15px) !important;
  }

  html.page-team .dfl-member-detail-list .dfl-member-email-row strong,
  html.page-team .dfl-member-detail-list .dfl-member-email-row strong a {
    font-size: clamp(9px, 2.65vw, 15px) !important;
  }
}

@media (max-width: 390px) {
  html.page-team .dfl-member-detail-list p,
  html.page-team .dfl-member-detail-list p:nth-child(n),
  html.page-team .dfl-member-detail-list .dfl-member-email-row {
    gap: 2px 9px !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    min-height: 62px !important;
    padding: 10px !important;
  }

  html.page-team .dfl-member-detail-list p i,
  html.page-team .dfl-member-detail-list p:nth-child(n) i {
    height: 34px !important;
    width: 34px !important;
  }

  html.page-team .dfl-member-detail-list p span,
  html.page-team .dfl-member-detail-list p:nth-child(n) span {
    font-size: 9px !important;
    letter-spacing: .08em !important;
  }

  html.page-team .dfl-member-detail-list p strong,
  html.page-team .dfl-member-detail-list p:nth-child(n) strong {
    font-size: clamp(10px, 2.9vw, 13px) !important;
  }

  html.page-team .dfl-member-detail-list .dfl-member-email-row strong,
  html.page-team .dfl-member-detail-list .dfl-member-email-row strong a {
    font-size: clamp(8px, 2.35vw, 12px) !important;
  }
}

/* ABOUT AWARDS: JCTRANS recognition feature */
html.page-about .dfl-about-awards {
  background:
    radial-gradient(circle at 12% 18%, rgba(223,31,38,.12), transparent 30%),
    radial-gradient(circle at 88% 26%, rgba(126,205,255,.10), transparent 28%),
    linear-gradient(180deg, #071632 0%, #0a1930 52%, #071632 100%) !important;
  overflow: hidden !important;
  padding: clamp(58px, 7vw, 96px) 0 !important;
  position: relative !important;
}

html.page-about .dfl-about-awards::before {
  background:
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px) !important;
  background-size: 74px 74px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .55 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-about .dfl-about-awards .dfl-container {
  position: relative !important;
  z-index: 1 !important;
}

html.page-about .dfl-awards-panel {
  align-items: center !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.085), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 24px !important;
  box-shadow: 0 26px 72px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  display: grid !important;
  gap: clamp(24px, 3.4vw, 44px) !important;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr) !important;
  margin-inline: auto !important;
  max-width: 1180px !important;
  overflow: hidden !important;
  padding: clamp(22px, 3vw, 36px) !important;
}

html.page-about .dfl-awards-copy {
  align-content: center !important;
  display: grid !important;
  justify-items: start !important;
  min-width: 0 !important;
  padding: clamp(6px, 1.2vw, 14px) 0 !important;
}

html.page-about .dfl-awards-copy .dfl-section-kicker {
  color: #ff5a60 !important;
  margin-bottom: 12px !important;
}

html.page-about .dfl-awards-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(34px, 3.4vw, 48px) !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
  margin: 0 0 18px !important;
  max-width: 11ch !important;
}

html.page-about .dfl-awards-copy p {
  color: rgba(241,247,255,.82) !important;
  font-size: clamp(15px, 1vw, 17px) !important;
  line-height: 1.68 !important;
  margin: 0 0 16px !important;
  max-width: 52ch !important;
}

html.page-about .dfl-awards-copy .dfl-awards-lead {
  color: rgba(255,255,255,.92) !important;
  font-size: clamp(17px, 1.18vw, 20px) !important;
  font-weight: 750 !important;
  line-height: 1.55 !important;
}

html.page-about .dfl-awards-meta {
  background: rgba(223,31,38,.12) !important;
  border: 1px solid rgba(255,90,96,.28) !important;
  border-left: 4px solid #df1f26 !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 7px !important;
  margin-top: 10px !important;
  max-width: 360px !important;
  padding: 15px 17px !important;
}

html.page-about .dfl-awards-meta span {
  color: rgba(241,247,255,.68) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

html.page-about .dfl-awards-meta strong {
  color: #fff !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.2 !important;
}

html.page-about .dfl-awards-media {
  align-items: stretch !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: minmax(0, 1fr) minmax(180px, .38fr) !important;
  min-height: 0 !important;
  position: relative !important;
}

html.page-about .dfl-awards-media figure {
  margin: 0 !important;
}

html.page-about .dfl-awards-ceremony {
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 20px !important;
  box-shadow: 0 22px 54px rgba(0,0,0,.28) !important;
  min-height: 360px !important;
  overflow: hidden !important;
}

html.page-about .dfl-awards-ceremony img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
}

html.page-about .dfl-awards-trophy {
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 100% !important;
}

html.page-about .dfl-awards-trophy img {
  border-radius: 18px !important;
  display: block !important;
  height: 100% !important;
  max-height: 420px !important;
  min-height: 360px !important;
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
}

@media (max-width: 1050px) {
  html.page-about .dfl-awards-panel {
    grid-template-columns: 1fr !important;
  }

  html.page-about .dfl-awards-copy .dfl-section-title {
    max-width: 100% !important;
  }

  html.page-about .dfl-awards-media {
    grid-template-columns: minmax(0, 1fr) minmax(170px, .42fr) !important;
  }
}

@media (max-width: 700px) {
  html.page-about .dfl-about-awards {
    padding: 54px 0 !important;
  }

  html.page-about .dfl-awards-panel {
    border-radius: 20px !important;
    gap: 24px !important;
    padding: 18px !important;
  }

  html.page-about .dfl-awards-copy {
    padding: 4px 0 0 !important;
  }

  html.page-about .dfl-awards-copy .dfl-section-title {
    font-size: clamp(30px, 8vw, 38px) !important;
    max-width: 100% !important;
  }

  html.page-about .dfl-awards-media {
    gap: 14px !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  html.page-about .dfl-awards-ceremony {
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
  }

  html.page-about .dfl-awards-trophy {
    max-width: 320px !important;
    width: 100% !important;
  }

html.page-about .dfl-awards-trophy img {
    aspect-ratio: 4 / 3 !important;
    max-height: none !important;
    min-height: 0 !important;
  }
}

/* CSR PAGE: dedicated charities layout */
html.page-charities .dfl-csr-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(223,31,38,.13), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(126,205,255,.10), transparent 28%),
    linear-gradient(180deg, #071632 0%, #0a1930 55%, #071632 100%) !important;
  overflow: hidden !important;
  padding: clamp(64px, 7vw, 110px) 0 !important;
  position: relative !important;
}

html.page-charities .dfl-csr-section::before {
  background:
    linear-gradient(rgba(126,205,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(126,205,255,.035) 1px, transparent 1px) !important;
  background-size: 74px 74px !important;
  content: "" !important;
  inset: 0 !important;
  opacity: .55 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-charities .dfl-csr-section .dfl-container {
  position: relative !important;
  z-index: 1 !important;
}

html.page-charities .dfl-csr-feature {
  align-items: center !important;
  display: grid !important;
  gap: clamp(24px, 4vw, 54px) !important;
  grid-template-columns: minmax(0, .94fr) minmax(360px, .78fr) !important;
  margin-inline: auto !important;
  max-width: 1120px !important;
}

html.page-charities .dfl-csr-image {
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 24px !important;
  box-shadow: 0 28px 72px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow: hidden !important;
  padding: 10px !important;
}

html.page-charities .dfl-csr-image img {
  aspect-ratio: 4 / 3 !important;
  border-radius: 18px !important;
  display: block !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
}

html.page-charities .dfl-csr-copy {
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 68px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  max-width: none !important;
  overflow: hidden !important;
  padding: clamp(28px, 3.4vw, 46px) !important;
  position: relative !important;
}

html.page-charities .dfl-csr-copy::after {
  background: linear-gradient(90deg, #df1f26, rgba(126,205,255,.72), transparent) !important;
  content: "" !important;
  height: 3px !important;
  left: clamp(28px, 3.4vw, 46px) !important;
  position: absolute !important;
  right: clamp(28px, 3.4vw, 46px) !important;
  top: 0 !important;
}

html.page-charities .dfl-csr-copy .dfl-section-title {
  color: #fff !important;
  font-size: clamp(34px, 3.1vw, 48px) !important;
  letter-spacing: 0 !important;
  line-height: 1.08 !important;
  margin-bottom: 18px !important;
}

html.page-charities .dfl-csr-copy p {
  color: rgba(241,247,255,.84) !important;
  font-size: clamp(16px, 1.08vw, 18px) !important;
  line-height: 1.78 !important;
  margin-bottom: 24px !important;
}

html.page-charities .dfl-csr-copy .dfl-charity-pill-row {
  justify-content: flex-start !important;
}

@media (max-width: 820px) {
  html.page-charities .dfl-csr-feature {
    grid-template-columns: 1fr !important;
  }
}

/* TRUE FINAL CHARITIES OVERRIDE: dark canvas after all previous CSR rules */
html.page-charities,
html.page-charities body,
html.page-charities #page,
html.page-charities .site {
  background: #071632 !important;
}

html.page-charities .dfl-csr-section {
  background:
    radial-gradient(circle at 12% 16%, rgba(223,31,38,.16), transparent 30%),
    radial-gradient(circle at 88% 22%, rgba(107,173,224,.13), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0a1930 54%, #071632 100%) !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  position: relative !important;
}

html.page-charities .dfl-csr-section::before {
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 76px 76px !important;
  content: "" !important;
  display: block !important;
  inset: 0 !important;
  opacity: .42 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-charities .dfl-csr-section > .dfl-container {
  position: relative !important;
  z-index: 1 !important;
}

html.page-charities .dfl-csr-copy {
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.28) !important;
}

html.page-charities .dfl-csr-copy .dfl-section-title {
  color: #fff !important;
}

html.page-charities .dfl-csr-copy p {
  color: rgba(241,247,255,.84) !important;
}

html.page-charities .dfl-csr-copy .dfl-charity-pill-row span {
  background: rgba(223,31,38,.13) !important;
  border: 1px solid rgba(255,95,102,.30) !important;
  color: #fff !important;
}

html.page-charities .dfl-csr-image {
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.05)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 28px 76px rgba(0,0,0,.30) !important;
}

html.page-charities .dfl-csr-image img {
  box-shadow: 0 18px 42px rgba(0,0,0,.22) !important;
}

@media (max-width: 700px) {
  html.page-charities .dfl-csr-section {
    padding: 54px 0 62px !important;
  }
}

/* CSR gallery: real charity moments, balanced for mixed portrait and landscape photos */
html.page-charities .dfl-csr-gallery-section {
  background:
    radial-gradient(circle at 18% 12%, rgba(223,31,38,.12), transparent 28%),
    linear-gradient(180deg, #071632 0%, #091b36 100%) !important;
  padding: clamp(18px, 3vw, 36px) 0 clamp(70px, 8vw, 112px) !important;
  position: relative !important;
}

html.page-charities .dfl-csr-gallery-heading {
  display: grid !important;
  gap: 14px !important;
  margin: 0 auto 34px !important;
  max-width: 860px !important;
  text-align: center !important;
}

html.page-charities .dfl-csr-gallery-heading .dfl-section-title {
  color: #fff !important;
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.06 !important;
  margin: 0 !important;
}

html.page-charities .dfl-csr-gallery-heading p {
  color: rgba(241,247,255,.78) !important;
  font-size: clamp(17px, 1.45vw, 21px) !important;
  line-height: 1.7 !important;
  margin: 0 auto !important;
  max-width: 760px !important;
}

html.page-charities .dfl-csr-gallery-grid {
  display: grid !important;
  gap: 22px !important;
  grid-template-columns: minmax(260px, .85fr) minmax(0, 1.15fr) !important;
}

html.page-charities .dfl-csr-gallery-card {
  background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.05)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 22px !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.28) !important;
  display: grid !important;
  gap: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  padding: 10px !important;
}

html.page-charities .dfl-csr-gallery-card-tall {
  grid-row: span 2 !important;
}

html.page-charities .dfl-csr-gallery-card img {
  aspect-ratio: 16 / 9 !important;
  border-radius: 16px !important;
  display: block !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
}

html.page-charities .dfl-csr-gallery-card-tall img {
  aspect-ratio: 4 / 5 !important;
}

html.page-charities .dfl-csr-gallery-card figcaption {
  color: rgba(255,255,255,.86) !important;
  font-size: 15px !important;
  font-weight: 750 !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding: 16px 10px 6px !important;
}

@media (max-width: 820px) {
  html.page-charities .dfl-csr-gallery-section {
    padding-top: 8px !important;
  }

  html.page-charities .dfl-csr-gallery-heading {
    text-align: left !important;
  }

  html.page-charities .dfl-csr-gallery-grid {
    grid-template-columns: 1fr !important;
  }

  html.page-charities .dfl-csr-gallery-card,
  html.page-charities .dfl-csr-gallery-card-tall {
    grid-row: auto !important;
  }

  html.page-charities .dfl-csr-gallery-card img,
  html.page-charities .dfl-csr-gallery-card-tall img {
    aspect-ratio: 4 / 3 !important;
  }
}

/* TRUE FINAL CHARITIES OVERRIDE: dark canvas after all previous CSR rules */
html.page-charities,
html.page-charities body,
html.page-charities #page,
html.page-charities .site {
  background: #071632 !important;
}

html.page-charities .dfl-csr-section {
  background:
    radial-gradient(circle at 12% 16%, rgba(223,31,38,.16), transparent 30%),
    radial-gradient(circle at 88% 22%, rgba(107,173,224,.13), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0a1930 54%, #071632 100%) !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  position: relative !important;
}

html.page-charities .dfl-csr-section::before {
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 76px 76px !important;
  content: "" !important;
  display: block !important;
  inset: 0 !important;
  opacity: .42 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-charities .dfl-csr-section > .dfl-container {
  position: relative !important;
  z-index: 1 !important;
}

html.page-charities .dfl-csr-copy {
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.28) !important;
}

html.page-charities .dfl-csr-copy .dfl-section-title {
  color: #fff !important;
}

html.page-charities .dfl-csr-copy p {
  color: rgba(241,247,255,.84) !important;
}

html.page-charities .dfl-csr-copy .dfl-charity-pill-row span {
  background: rgba(223,31,38,.13) !important;
  border: 1px solid rgba(255,95,102,.30) !important;
  color: #fff !important;
}

html.page-charities .dfl-csr-image {
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.05)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 28px 76px rgba(0,0,0,.30) !important;
}

html.page-charities .dfl-csr-image img {
  box-shadow: 0 18px 42px rgba(0,0,0,.22) !important;
}

@media (max-width: 700px) {
  html.page-charities .dfl-csr-section {
    padding: 54px 0 62px !important;
  }
}

/* FINAL CHARITIES TONE FIX: keep the leadership-style structure on the dark site canvas */
html.page-charities,
html.page-charities body,
html.page-charities #page,
html.page-charities .site {
  background: #071632 !important;
}

html.page-charities .dfl-csr-section {
  background:
    radial-gradient(circle at 12% 16%, rgba(223,31,38,.16), transparent 30%),
    radial-gradient(circle at 88% 22%, rgba(107,173,224,.13), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0a1930 54%, #071632 100%) !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  position: relative !important;
}

html.page-charities .dfl-csr-section::before {
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 76px 76px !important;
  content: "" !important;
  display: block !important;
  inset: 0 !important;
  opacity: .42 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-charities .dfl-csr-section > .dfl-container {
  position: relative !important;
  z-index: 1 !important;
}

html.page-charities .dfl-csr-copy {
  background:
    linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.28) !important;
}

html.page-charities .dfl-csr-copy .dfl-section-title {
  color: #fff !important;
}

html.page-charities .dfl-csr-copy p {
  color: rgba(241,247,255,.84) !important;
}

html.page-charities .dfl-csr-copy .dfl-charity-pill-row span {
  background: rgba(223,31,38,.13) !important;
  border: 1px solid rgba(255,95,102,.30) !important;
  color: #fff !important;
}

html.page-charities .dfl-csr-image {
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.05)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 28px 76px rgba(0,0,0,.30) !important;
}

html.page-charities .dfl-csr-image img {
  box-shadow: 0 18px 42px rgba(0,0,0,.22) !important;
}

@media (max-width: 700px) {
  html.page-charities .dfl-csr-section {
    padding: 54px 0 62px !important;
  }
}

@media (max-width: 700px) {
  html.page-charities .dfl-csr-section {
    padding: 54px 0 !important;
  }

  html.page-charities .dfl-csr-image {
    border-radius: 20px !important;
    padding: 7px !important;
  }

  html.page-charities .dfl-csr-image img {
    aspect-ratio: 4 / 3 !important;
    border-radius: 15px !important;
  }

  html.page-charities .dfl-csr-copy {
    border-radius: 20px !important;
    padding: 24px !important;
  }

  html.page-charities .dfl-csr-copy::after {
    left: 24px !important;
    right: 24px !important;
  }

  html.page-charities .dfl-csr-copy .dfl-section-title {
    font-size: clamp(30px, 8vw, 38px) !important;
  }
}

/* FINAL PASS: single-header logo treatment and CSR desktop polish */
@media (min-width: 992px) {
  .site-header.style-1 {
    display: none !important;
  }
}

.site-header.style-1 .site-branding a,
.dfl-mobile-site-header .site-branding a,
.dfl-navbar .dfl-brand,
.dfl-footer-brand > a {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
  padding: 6px 8px !important;
}

.dfl-navbar .dfl-brand {
  background: rgba(255,255,255,.06) !important;
  padding: 5px 7px !important;
}

@media (max-width: 991px) {
  .dfl-navbar {
    display: none !important;
  }
}

@media (min-width: 821px) {
  html.page-charities .dfl-csr-section {
    padding: clamp(56px, 6vw, 86px) 0 !important;
  }

  html.page-charities .dfl-csr-copy {
    align-self: center !important;
  }

  html.page-charities .dfl-csr-copy .dfl-section-title {
    font-size: clamp(32px, 2.6vw, 42px) !important;
  }
}

/* FINAL RESPONSIVE PASS: hard-stop duplicate logos, align CSR to leadership, polish form feedback */
@media (min-width: 992px) {
  body .site-header.style-1 {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  body .dfl-navbar {
    display: block !important;
  }
}

@media (max-width: 991px) {
  body .dfl-navbar {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  body .site-header.style-1 {
    display: block !important;
    visibility: visible !important;
  }

  body .site-header.style-1 .site-info,
  body .site-header.style-1 .top-menu-bar,
  body .site-header.style-1 .contact-bar,
  body .site-header.style-1 .hidden-md-down {
    display: none !important;
  }
}

body .site-header.style-1 .site-branding a,
body .dfl-navbar .dfl-brand {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

body .dfl-footer-brand > a {
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.24) !important;
  padding: 8px 10px !important;
}

body .dfl-footer-brand img {
  filter: none !important;
  opacity: 1 !important;
}

html.page-charities .dfl-csr-section {
  background:
    radial-gradient(circle at 10% 16%, rgba(223,31,38,.08), transparent 28%),
    linear-gradient(180deg, #f4f7fb 0%, #edf3fa 100%) !important;
}

html.page-charities .dfl-csr-section::before {
  display: none !important;
}

html.page-charities .dfl-csr-feature {
  grid-template-columns: minmax(300px, .88fr) minmax(0, 1.12fr) !important;
  max-width: 1180px !important;
}

html.page-charities .dfl-csr-copy {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(10,25,48,.10) !important;
  box-shadow: 0 24px 70px rgba(8,20,42,.14) !important;
}

html.page-charities .dfl-csr-copy .dfl-section-title {
  color: #071632 !important;
}

html.page-charities .dfl-csr-copy p {
  color: rgba(7,22,50,.76) !important;
}

html.page-charities .dfl-csr-image {
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(10,25,48,.10) !important;
  box-shadow: 0 24px 70px rgba(8,20,42,.14) !important;
}

html.page-charities .dfl-csr-image img {
  aspect-ratio: 4 / 3 !important;
}

html.page-contact .dfl-contact-form .messages {
  margin-top: 18px !important;
}

html.page-contact .dfl-form-status {
  align-items: flex-start !important;
  border-radius: 14px !important;
  display: grid !important;
  gap: 4px !important;
  line-height: 1.45 !important;
  padding: 16px 18px !important;
  text-align: left !important;
}

html.page-contact .dfl-form-status strong {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

html.page-contact .dfl-form-status span {
  color: rgba(255,255,255,.84) !important;
  font-size: 14px !important;
}

html.page-contact .dfl-form-status-success {
  background: linear-gradient(145deg, rgba(20,150,88,.95), rgba(12,96,67,.95)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

html.page-contact .dfl-form-status-danger {
  background: linear-gradient(145deg, rgba(223,31,38,.95), rgba(134,22,39,.95)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

html.page-contact .dfl-form-status-info {
  background: linear-gradient(145deg, rgba(18,48,88,.96), rgba(8,26,58,.96)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

html.page-contact .dfl-contact-form input[type="submit"]:disabled {
  cursor: wait !important;
  opacity: .7 !important;
}

@media (max-width: 820px) {
  html.page-charities .dfl-csr-feature {
    grid-template-columns: 1fr !important;
  }
}

/* TRUE FINAL CHARITIES OVERRIDE: dark canvas after all previous CSR rules */
html.page-charities,
html.page-charities body,
html.page-charities #page,
html.page-charities .site {
  background: #071632 !important;
}

html.page-charities .dfl-csr-section {
  background:
    radial-gradient(circle at 12% 16%, rgba(223,31,38,.16), transparent 30%),
    radial-gradient(circle at 88% 22%, rgba(107,173,224,.13), transparent 30%),
    linear-gradient(180deg, #071632 0%, #0a1930 54%, #071632 100%) !important;
  padding: clamp(64px, 7vw, 104px) 0 !important;
  position: relative !important;
}

html.page-charities .dfl-csr-section::before {
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
  background-size: 76px 76px !important;
  content: "" !important;
  display: block !important;
  inset: 0 !important;
  opacity: .42 !important;
  pointer-events: none !important;
  position: absolute !important;
}

html.page-charities .dfl-csr-section > .dfl-container {
  position: relative !important;
  z-index: 1 !important;
}

html.page-charities .dfl-csr-copy {
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.045)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 26px 70px rgba(0,0,0,.28) !important;
}

html.page-charities .dfl-csr-copy .dfl-section-title {
  color: #fff !important;
}

html.page-charities .dfl-csr-copy p {
  color: rgba(241,247,255,.84) !important;
}

html.page-charities .dfl-csr-copy .dfl-charity-pill-row span {
  background: rgba(223,31,38,.13) !important;
  border: 1px solid rgba(255,95,102,.30) !important;
  color: #fff !important;
}

html.page-charities .dfl-csr-image {
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.05)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 28px 76px rgba(0,0,0,.30) !important;
}

html.page-charities .dfl-csr-image img {
  box-shadow: 0 18px 42px rgba(0,0,0,.22) !important;
}

@media (max-width: 700px) {
  html.page-charities .dfl-csr-section {
    padding: 54px 0 62px !important;
  }
}
