/*
 * Der Everest Elementor Kit
 * Global design system and locked section styling.
 * Source: Der Everest Tailwind v4 design tokens converted to production CSS.
 */

:root {
  --radius: 0.25rem;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
  --radius-2xl: calc(var(--radius) + 8px);
  --radius-3xl: calc(var(--radius) + 12px);
  --radius-4xl: calc(var(--radius) + 16px);

  /* Brand palette from the Lovable/Tailwind design system. */
  --navy-deep: oklch(0.17 0.045 265);
  --navy: oklch(0.22 0.055 262);
  --navy-soft: oklch(0.28 0.05 262);
  --gold: oklch(0.78 0.14 82);
  --gold-soft: oklch(0.88 0.09 85);
  --cream: oklch(0.97 0.012 85);

  --background: var(--navy-deep);
  --foreground: var(--cream);
  --card: var(--navy);
  --card-foreground: var(--cream);
  --popover: var(--navy);
  --popover-foreground: var(--cream);
  --primary: var(--gold);
  --primary-foreground: var(--navy-deep);
  --secondary: var(--navy-soft);
  --secondary-foreground: var(--cream);
  --muted: oklch(0.26 0.045 262);
  --muted-foreground: oklch(0.72 0.02 260);
  --accent: var(--gold);
  --accent-foreground: var(--navy-deep);
  --destructive: oklch(0.6 0.24 27);
  --destructive-foreground: oklch(0.97 0 0);
  --border: oklch(1 0 0 / 12%);
  --input: oklch(1 0 0 / 15%);
  --ring: var(--gold);
  --ring-offset-background: var(--background);

  --font-display: "Playfair Display", ui-serif, Georgia, serif;
  --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --shadow-elegant: 0 30px 80px -20px oklch(0.12 0.04 260 / 0.55);
  --shadow-gold: 0 20px 60px -15px oklch(0.75 0.14 80 / 0.35);

  /* Plugin aliases. Keep all widgets on one token system. */
  --deek-navy-deep: var(--navy-deep);
  --deek-navy: var(--navy);
  --deek-navy-soft: var(--navy-soft);
  --deek-gold: var(--gold);
  --deek-gold-soft: var(--gold-soft);
  --deek-cream: var(--cream);
  --deek-muted: oklch(0.97 0.012 85 / 68%);
  --deek-muted-strong: oklch(0.97 0.012 85 / 82%);
  --deek-border: var(--border);
  --deek-border-gold: oklch(0.78 0.14 82 / 42%);
  --deek-font-display: var(--font-display);
  --deek-font-body: var(--font-sans);
  --deek-font-mono: var(--font-mono);
  --deek-container: 1400px;
  --deek-gutter: clamp(20px, 4vw, 40px);
  --deek-section-y: clamp(88px, 10vw, 160px);
  --deek-ease: cubic-bezier(.16, 1, .3, 1);
}

.dark {
  --background: oklch(0.17 0.045 265);
  --foreground: oklch(0.97 0.012 85);
}

@supports not (color: oklch(0.17 0.045 265)) {
  :root {
    --navy-deep: #07111f;
    --navy: #0d1b2e;
    --navy-soft: #13243a;
    --gold: #c99a39;
    --gold-soft: #dfc372;
    --cream: #f4efe7;
    --muted: #24344f;
    --muted-foreground: #aeb7c4;
    --border: rgba(244, 239, 231, 0.12);
    --input: rgba(244, 239, 231, 0.15);
    --deek-muted: rgba(244, 239, 231, 0.68);
    --deek-muted-strong: rgba(244, 239, 231, 0.82);
    --deek-border-gold: rgba(201, 154, 57, 0.42);
    --shadow-elegant: 0 30px 80px -20px rgba(0, 0, 0, 0.55);
    --shadow-gold: 0 20px 60px -15px rgba(201, 154, 57, 0.35);
  }
}

.deek-root,
.deek-root * {
  box-sizing: border-box;
}

.deek-root {
  width: 100%;
  background: var(--deek-navy-deep);
  color: var(--deek-cream);
  font-family: var(--deek-font-body);
  overflow-x: clip;
}

.deek-root a {
  color: inherit;
  text-decoration: none;
}

.deek-container {
  width: 100%;
  max-width: var(--deek-container);
  margin-inline: auto;
  padding-inline: var(--deek-gutter);
}

.deek-section {
  position: relative;
  padding-block: var(--deek-section-y);
}

.deek-bg-navy-deep { background: var(--deek-navy-deep); color: var(--deek-cream); }
.deek-bg-navy { background: var(--deek-navy); color: var(--deek-cream); }
.deek-bg-gold { background: var(--deek-gold); color: var(--deek-navy-deep); }

.deek-display {
  font-family: var(--deek-font-display);
  letter-spacing: -0.045em;
}

.deek-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--deek-font-mono);
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--deek-gold);
}

.deek-muted { color: var(--deek-muted); }

/* Utility aliases matching the source Tailwind design language. */
.text-display {
  font-family: var(--font-display);
  letter-spacing: -0.03em;
  line-height: 0.95;
}

.eyebrow {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
}

.deek-root h1,
.deek-root h2,
.deek-root h3 {
  font-family: var(--font-display);
  letter-spacing: -0.02em;
}

.deek-root {
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
}


.deek-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid var(--deek-gold);
  background: var(--deek-gold);
  color: var(--deek-navy-deep) !important;
  padding: 16px 28px;
  font-family: var(--deek-font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  line-height: 1;
  text-transform: uppercase;
  transition: background-color .25s var(--deek-ease), color .25s var(--deek-ease), transform .25s var(--deek-ease), border-color .25s var(--deek-ease);
}

.deek-button:hover {
  background: var(--deek-cream);
  border-color: var(--deek-cream);
  color: var(--deek-navy-deep) !important;
  transform: translateY(-2px);
}

.deek-button.is-ghost {
  background: transparent;
  color: var(--deek-cream) !important;
  border-color: var(--deek-border-gold);
}

.deek-button.is-ghost:hover {
  background: var(--deek-gold);
  color: var(--deek-navy-deep) !important;
}

/* Header */
.deek-header {
  position: relative;
  z-index: 30;
  background: var(--deek-navy-deep);
  border-bottom: 1px solid var(--deek-border);
}

.deek-header.is-absolute {
  position: absolute;
  inset-inline: 0;
  top: 0;
  background: transparent;
  border-bottom: 0;
}

.deek-header__inner {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.deek-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}

.deek-brand svg {
  width: 50px;
  height: 26px;
  color: var(--deek-gold);
}

.deek-brand__title {
  font-family: var(--deek-font-display);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: var(--deek-gold);
  line-height: 1;
}

.deek-brand__sub {
  margin-top: 4px;
  font-family: var(--deek-font-mono);
  font-size: 9px;
  letter-spacing: 0.35em;
  color: var(--deek-gold-soft);
  line-height: 1;
}

.deek-nav {
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 40px);
  font-family: var(--deek-font-mono);
  font-size: 11px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: rgba(244,239,231,.72);
}

.deek-nav a { transition: color .2s var(--deek-ease); }
.deek-nav a:hover { color: var(--deek-gold); }

/* Hero */
.deek-hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: var(--deek-navy-deep);
}

.deek-hero__gold-disc {
  position: absolute;
  left: -20vw;
  top: 8vh;
  width: 85vh;
  height: 85vh;
  border-radius: 50%;
  background: var(--deek-gold);
  z-index: 0;
}

.deek-hero__gold-ring {
  position: absolute;
  left: -18vw;
  top: 10vh;
  width: 80vh;
  height: 80vh;
  border-radius: 50%;
  border: 1px solid rgba(185,148,87,.42);
  z-index: 0;
}

.deek-hero__side-label {
  position: absolute;
  left: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  font-family: var(--deek-font-mono);
  font-size: 10px;
  letter-spacing: .5em;
  text-transform: uppercase;
  color: rgba(244,239,231,.5);
  z-index: 1;
}

.deek-hero__grid {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  display: grid;
  grid-template-columns: 7fr 5fr;
  align-items: center;
  gap: clamp(32px, 6vw, 88px);
  padding-top: clamp(120px, 12vw, 170px);
  padding-bottom: 70px;
}

.deek-hero__media {
  position: relative;
  order: 1;
}

.deek-hero__image {
  display: block;
  width: 100%;
  max-width: 850px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 42px 60px rgba(0,0,0,.58));
}

.deek-hero__content {
  position: relative;
  z-index: 3;
  order: 2;
}

.deek-hero h1 {
  margin: 24px 0 0;
  font-family: var(--deek-font-display);
  font-size: clamp(54px, 7vw, 104px);
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: .93;
  color: var(--deek-cream);
}

.deek-hero h1 em,
.deek-heading em,
.deek-story em {
  color: var(--deek-gold);
  font-style: italic;
}

.deek-hero__text {
  margin: 30px 0 0;
  max-width: 480px;
  color: var(--deek-muted);
  font-size: 16px;
  line-height: 1.8;
}

.deek-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px;
  margin-top: 38px;
}

.deek-hero__phone {
  font-family: var(--deek-font-mono);
  font-size: 14px;
  color: rgba(244,239,231,.82) !important;
  transition: color .2s var(--deek-ease);
}
.deek-hero__phone:hover { color: var(--deek-gold) !important; }

/* Stats */
.deek-stats-wrap {
  position: relative;
  z-index: 5;
  border-top: 1px solid var(--deek-border);
  background: var(--deek-navy-deep);
}

.deek-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--deek-border);
}

.deek-stat {
  background: var(--deek-navy-deep);
  padding: 26px clamp(18px, 3vw, 32px);
}

.deek-stat__num {
  font-family: var(--deek-font-display);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
  color: var(--deek-gold);
}

.deek-stat__label {
  margin-top: 8px;
  font-family: var(--deek-font-mono);
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(244,239,231,.58);
}

/* Section Heading */
.deek-heading-grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  align-items: end;
  gap: clamp(28px, 6vw, 92px);
  margin-bottom: clamp(44px, 7vw, 76px);
}

.deek-heading {
  margin: 22px 0 0;
  font-family: var(--deek-font-display);
  color: var(--deek-cream);
  font-size: clamp(42px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -0.055em;
}

.deek-heading-text {
  max-width: 420px;
  color: var(--deek-muted);
  line-height: 1.8;
}

/* Services */
.deek-service-shell {
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: clamp(42px, 7vw, 96px);
}

.deek-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--deek-border);
  border-left: 1px solid var(--deek-border);
}

.deek-service-card {
  position: relative;
  min-height: 255px;
  border-right: 1px solid var(--deek-border);
  border-bottom: 1px solid var(--deek-border);
  padding: clamp(28px, 4vw, 44px);
  background: transparent;
  transition: background-color .25s var(--deek-ease), border-color .25s var(--deek-ease), transform .25s var(--deek-ease);
}

.deek-service-card:hover {
  background: var(--deek-navy-deep);
  border-color: var(--deek-border-gold);
  transform: translateY(-4px);
}

.deek-service-card__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.deek-service-card__number {
  font-family: var(--deek-font-mono);
  font-size: 12px;
  color: var(--deek-gold);
}

.deek-service-card__arrow {
  font-family: var(--deek-font-mono);
  color: rgba(244,239,231,.42);
  transition: transform .25s var(--deek-ease), color .25s var(--deek-ease);
}

.deek-service-card:hover .deek-service-card__arrow {
  transform: translateX(4px);
  color: var(--deek-gold);
}

.deek-service-card h3 {
  margin: 44px 0 0;
  font-family: var(--deek-font-display);
  font-size: clamp(24px, 2vw, 34px);
  font-weight: 600;
  letter-spacing: -0.035em;
  color: var(--deek-cream);
}

.deek-service-card p {
  max-width: 36ch;
  margin: 14px 0 0;
  color: var(--deek-muted);
  font-size: 14px;
  line-height: 1.75;
}

/* Fleet mosaic */
.deek-mosaic {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: clamp(24px, 4vw, 48px);
  align-items: stretch;
}

.deek-mosaic__large {
  grid-row: span 2;
  min-height: 760px;
}

.deek-image-card {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  background: var(--deek-navy-soft);
}

.deek-image-card img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  display: block;
  transition: transform .65s var(--deek-ease), filter .65s var(--deek-ease);
}

.deek-image-card:hover img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.04);
}

.deek-image-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7,17,31,.92), rgba(7,17,31,.18) 56%, rgba(7,17,31,.08));
}

.deek-image-card__body {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 2;
  padding: clamp(28px, 4vw, 44px);
}

.deek-image-card h3 {
  margin: 14px 0 0;
  max-width: 660px;
  font-family: var(--deek-font-display);
  font-size: clamp(30px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -0.055em;
  color: var(--deek-cream);
}

.deek-mosaic__small h3 {
  font-size: clamp(26px, 3vw, 38px);
}

.deek-image-card p {
  max-width: 520px;
  margin: 14px 0 0;
  color: var(--deek-muted);
  line-height: 1.7;
}

/* Gold story */
.deek-story-grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(42px, 8vw, 104px);
}

.deek-gold-story .deek-eyebrow { color: rgba(7,17,31,.62); }

.deek-story {
  margin: 0;
  font-family: var(--deek-font-display);
  font-size: clamp(34px, 4vw, 60px);
  line-height: 1.08;
  letter-spacing: -0.055em;
  color: var(--deek-navy-deep);
}

.deek-story em { color: inherit; }

.deek-story-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 4vw, 48px);
  margin-top: clamp(44px, 7vw, 76px);
  padding-top: 34px;
  border-top: 1px solid rgba(7,17,31,.22);
}

.deek-story-stat__num {
  font-family: var(--deek-font-display);
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
}

.deek-story-stat__label {
  margin-top: 10px;
  font-family: var(--deek-font-mono);
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(7,17,31,.7);
}

/* Contact */
.deek-contact-grid {
  display: grid;
  grid-template-columns: 6fr 6fr;
  gap: clamp(44px, 7vw, 88px);
  align-items: start;
}

.deek-contact-title {
  margin: 24px 0 0;
  font-family: var(--deek-font-display);
  font-size: clamp(48px, 6vw, 92px);
  line-height: .95;
  letter-spacing: -0.06em;
  color: var(--deek-cream);
}

.deek-contact-list {
  margin: 0;
  padding-left: clamp(26px, 4vw, 44px);
  border-left: 1px solid var(--deek-border-gold);
}

.deek-contact-list div + div { margin-top: 30px; }

.deek-contact-list dt {
  font-family: var(--deek-font-mono);
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--deek-gold);
}

.deek-contact-list dd {
  margin: 10px 0 0;
  font-family: var(--deek-font-display);
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.1;
  color: var(--deek-cream);
}

.deek-contact-list a { transition: color .2s var(--deek-ease); }
.deek-contact-list a:hover { color: var(--deek-gold); }

/* CTA */
.deek-cta {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--deek-border-gold);
  background: linear-gradient(135deg, rgba(185,148,87,.16), rgba(19,36,58,.5));
  padding: clamp(34px, 6vw, 72px);
}

.deek-cta::before {
  content: '';
  position: absolute;
  right: -120px;
  top: -120px;
  width: 360px;
  height: 360px;
  border-radius: 999px;
  background: rgba(185,148,87,.12);
}

.deek-cta__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.deek-cta h2 {
  margin: 14px 0 0;
  max-width: 780px;
  font-family: var(--deek-font-display);
  font-size: clamp(34px, 5vw, 70px);
  line-height: 1;
  letter-spacing: -0.055em;
}

.deek-cta p {
  max-width: 560px;
  margin: 18px 0 0;
  color: var(--deek-muted);
  line-height: 1.75;
}

/* Footer */
.deek-footer {
  border-top: 1px solid var(--deek-border);
  background: var(--deek-navy-deep);
}

.deek-footer__inner {
  min-height: 110px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  color: rgba(244,239,231,.52);
}

.deek-footer__tag,
.deek-footer__copy {
  font-family: var(--deek-font-mono);
  font-size: 10px;
  letter-spacing: .25em;
  text-transform: uppercase;
}

.deek-shortcode-note {
  padding: 18px;
  background: #fff8e6;
  border-left: 4px solid var(--deek-gold);
  color: var(--deek-navy-deep);
}

@media (max-width: 1024px) {
  .deek-nav { display: none; }
  .deek-hero__grid,
  .deek-service-shell,
  .deek-heading-grid,
  .deek-mosaic,
  .deek-story-grid,
  .deek-contact-grid {
    grid-template-columns: 1fr;
  }
  .deek-hero__content { order: 1; }
  .deek-hero__media { order: 2; }
  .deek-mosaic__large { min-height: 620px; }
  .deek-hero__side-label { display: none; }
}

@media (max-width: 767px) {
  :root { --deek-section-y: 78px; }
  .deek-header__inner { min-height: 76px; }
  .deek-header .deek-button { display: none; }
  .deek-hero { min-height: auto; }
  .deek-hero__grid { min-height: auto; padding-top: 112px; padding-bottom: 48px; }
  .deek-hero__gold-disc { width: 420px; height: 420px; left: -220px; top: 260px; }
  .deek-hero__gold-ring { width: 390px; height: 390px; left: -200px; top: 285px; }
  .deek-hero h1 { font-size: clamp(48px, 14vw, 64px); }
  .deek-stats { grid-template-columns: repeat(2, 1fr); }
  .deek-services { grid-template-columns: 1fr; }
  .deek-service-card { min-height: 230px; }
  .deek-mosaic__large,
  .deek-image-card { min-height: 430px; }
  .deek-story-stats { grid-template-columns: 1fr; }
  .deek-cta__inner { align-items: flex-start; flex-direction: column; }
  .deek-footer__inner { align-items: flex-start; flex-direction: column; padding-block: 28px; }
}

/* --------------------------------------------------------------------------
 * v1.2.0 source-index accuracy pass
 * Mirrors the supplied Lovable index.tsx structure more closely:
 * Header -> Hero with integrated stats -> Services -> Fleet Mosaic -> About -> Contact -> Footer.
 * -------------------------------------------------------------------------- */
.deek-homepage {
  position: relative;
  background: var(--deek-navy-deep);
}

.deek-header.is-absolute .deek-header__inner {
  min-height: 96px;
  padding-block: 0;
}

.deek-header__cta,
.deek-header.is-absolute .deek-button {
  padding: 12px 20px;
  font-size: 11px;
  letter-spacing: .25em;
  border-radius: 0;
  background: var(--deek-gold);
  border-color: var(--deek-gold);
  color: var(--deek-navy-deep) !important;
}

.deek-header__cta:hover,
.deek-header.is-absolute .deek-button:hover {
  background: transparent;
  border-color: var(--deek-gold);
  color: var(--deek-gold) !important;
  transform: none;
}

.deek-hero {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.deek-hero__grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 32px;
  align-items: center;
  padding-top: clamp(128px, 12vw, 160px);
  padding-bottom: 64px;
}

.deek-hero__media {
  grid-column: span 7;
}

.deek-hero__content {
  grid-column: span 5;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.deek-hero__image {
  max-width: 820px;
  position: relative;
  z-index: 10;
  filter: drop-shadow(0 40px 60px rgba(0,0,0,.6));
}

.deek-hero h1 {
  margin-top: 24px;
  font-size: clamp(48px, 7vw, 96px);
  line-height: .95;
  letter-spacing: -.03em;
}

.deek-hero__text {
  margin-top: 32px;
  max-width: 448px;
  font-size: 16px;
  line-height: 1.72;
}

.deek-hero__actions {
  margin-top: 40px;
  gap: 24px;
}

.deek-hero__statsbar {
  position: relative;
  z-index: 10;
  width: 100%;
  border-top: 1px solid var(--deek-border);
}

.deek-hero__statsbar .deek-stats {
  max-width: var(--deek-container);
  margin-inline: auto;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.deek-hero__statsbar .deek-stat {
  padding: 24px clamp(24px, 4vw, 40px);
}

.deek-hero__statsbar .deek-stat__num {
  font-size: clamp(30px, 3vw, 42px);
}

.deek-services-intro {
  margin-top: 24px;
  max-width: 384px;
}

.deek-service-shell {
  grid-template-columns: 4fr 8fr;
  gap: clamp(56px, 7vw, 96px);
}

.deek-services {
  border-left: 0;
}

.deek-service-card {
  min-height: 0;
  padding: clamp(32px, 4vw, 40px);
}

.deek-service-card:nth-child(odd) {
  border-right: 1px solid var(--deek-border);
}

.deek-service-card:nth-last-child(-n+2) {
  border-bottom: 1px solid var(--deek-border);
}

.deek-service-card h3 {
  margin-top: 32px;
  font-size: clamp(26px, 2vw, 32px);
}

.deek-service-card p {
  margin-top: 12px;
  max-width: none;
  line-height: 1.65;
}

.deek-feature-section {
  overflow: hidden;
}

.deek-mosaic {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(40px, 5vw, 64px);
}

.deek-mosaic__large {
  grid-column: span 7;
  grid-row: span 2;
  aspect-ratio: 4 / 5;
  min-height: 0;
}

.deek-mosaic__small {
  grid-column: span 5;
  aspect-ratio: 4 / 3;
  min-height: 0;
}

.deek-image-card {
  min-height: 0;
}

.deek-image-card img {
  height: 100%;
  min-height: 0;
}

.deek-image-card::after {
  background: linear-gradient(to top, rgba(7,17,31,.96), rgba(7,17,31,.22) 56%, rgba(7,17,31,.05));
}

.deek-mosaic__large .deek-image-card__body {
  padding: clamp(32px, 4vw, 40px);
}

.deek-mosaic__small .deek-image-card__body {
  padding: clamp(24px, 3vw, 32px);
}

.deek-mosaic__large h3 {
  font-size: clamp(40px, 4vw, 56px);
}

.deek-mosaic__small h3 {
  font-size: clamp(28px, 3vw, 38px);
}

.deek-gold-story .deek-story {
  font-size: clamp(32px, 4.4vw, 60px);
  line-height: 1.08;
}

.deek-contact-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.deek-contact-grid > :first-child {
  grid-column: span 6;
}

.deek-contact-grid > .deek-contact-list {
  grid-column: span 6;
}

.deek-footer__inner {
  min-height: 120px;
  padding-block: 0;
}

@media (max-width: 1024px) {
  .deek-hero__media,
  .deek-hero__content,
  .deek-contact-grid > :first-child,
  .deek-contact-grid > .deek-contact-list {
    grid-column: 1 / -1;
  }

  .deek-service-shell,
  .deek-mosaic,
  .deek-contact-grid {
    grid-template-columns: 1fr;
  }

  .deek-mosaic__large,
  .deek-mosaic__small {
    grid-column: 1 / -1;
  }

  .deek-mosaic__large {
    aspect-ratio: 4 / 5;
  }

  .deek-mosaic__small {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 767px) {
  .deek-hero__grid {
    padding-top: 112px;
    padding-bottom: 48px;
  }

  .deek-hero h1 {
    font-size: clamp(48px, 14vw, 64px);
  }

  .deek-hero__statsbar .deek-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .deek-service-card:nth-child(odd) {
    border-right: 0;
  }

  .deek-service-card:nth-last-child(-n+2) {
    border-bottom: 0;
  }

  .deek-service-card {
    border-bottom: 1px solid var(--deek-border) !important;
  }

  .deek-mosaic {
    gap: 40px;
  }

  .deek-mosaic__large,
  .deek-mosaic__small {
    aspect-ratio: 4 / 5;
  }
}


/* --------------------------------------------------------------------------
 * v1.3.0 Lovable export asset/defaults pass
 * Bundled source images now render by default; Elementor controls can override.
 * -------------------------------------------------------------------------- */
.elementor-widget-deek_full_homepage > .elementor-widget-container,
.elementor-widget-deek_gravity_hero > .elementor-widget-container,
.elementor-widget-deek_service_grid > .elementor-widget-container,
.elementor-widget-deek_fleet_mosaic > .elementor-widget-container,
.elementor-widget-deek_gold_story > .elementor-widget-container,
.elementor-widget-deek_contact_panel > .elementor-widget-container,
.elementor-widget-deek_brand_header > .elementor-widget-container,
.elementor-widget-deek_brand_footer > .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.deek-root img {
  border-radius: 0;
  box-shadow: none;
}

.deek-homepage .deek-header {
  width: 100%;
}

.deek-image-card:not(:has(img)) {
  background:
    radial-gradient(circle at 20% 20%, rgba(185,148,87,.24), transparent 32%),
    linear-gradient(135deg, var(--deek-navy-soft), var(--deek-navy-deep));
}

@supports not selector(:has(*)) {
  .deek-image-card {
    background:
      radial-gradient(circle at 20% 20%, rgba(185,148,87,.24), transparent 32%),
      linear-gradient(135deg, var(--deek-navy-soft), var(--deek-navy-deep));
  }
}

.deek-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s var(--deek-ease), transform .55s var(--deek-ease);
}

.deek-revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .deek-button,
  .deek-service-card,
  .deek-image-card img,
  .deek-reveal {
    transition: none !important;
    transform: none !important;
  }
}

/* --------------------------------------------------------------------------
 * v2.0.0 atomic Elementor architecture
 * Header/Footer widgets are registered separately from body elements/sections.
 * -------------------------------------------------------------------------- */
.elementor-widget-deek_eyebrow > .elementor-widget-container,
.elementor-widget-deek_heading > .elementor-widget-container,
.elementor-widget-deek_text > .elementor-widget-container,
.elementor-widget-deek_button > .elementor-widget-container,
.elementor-widget-deek_stat_item > .elementor-widget-container,
.elementor-widget-deek_service_card > .elementor-widget-container,
.elementor-widget-deek_image_card > .elementor-widget-container,
.elementor-widget-deek_contact_detail > .elementor-widget-container,
.elementor-widget-deek_gold_disc > .elementor-widget-container,
.elementor-widget-deek_vertical_rail > .elementor-widget-container,
.elementor-widget-deek_header_brand > .elementor-widget-container,
.elementor-widget-deek_header_nav > .elementor-widget-container,
.elementor-widget-deek_header_cta > .elementor-widget-container,
.elementor-widget-deek_homepage_body > .elementor-widget-container,
.elementor-widget-deek_services_section > .elementor-widget-container,
.elementor-widget-deek_contact_section > .elementor-widget-container,
.elementor-widget-deek_section_intro > .elementor-widget-container,
.elementor-widget-deek_premium_cta > .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.deek-element,
.deek-header-element,
.deek-nav.deek-root {
  background: transparent;
  width: 100%;
}

.deek-header-element,
.deek-nav.deek-root {
  overflow: visible;
}

.deek-align-left { text-align: left; }
.deek-align-center { text-align: center; }
.deek-align-right { text-align: right; }
.deek-align-center .deek-atomic-text { margin-inline: auto; }
.deek-align-right .deek-atomic-text { margin-left: auto; }

.deek-atomic-heading {
  margin: 0;
  font-family: var(--deek-font-display);
  letter-spacing: -0.055em;
  line-height: .96;
  font-weight: 700;
}
.deek-atomic-heading.is-hero { font-size: clamp(54px, 7vw, 104px); }
.deek-atomic-heading.is-xl { font-size: clamp(42px, 5vw, 72px); }
.deek-atomic-heading.is-lg { font-size: clamp(34px, 4vw, 56px); }
.deek-atomic-heading.is-md { font-size: clamp(28px, 3vw, 40px); }
.deek-atomic-heading.is-sm { font-size: clamp(22px, 2vw, 30px); }
.deek-atomic-heading.is-cream { color: var(--deek-cream); }
.deek-atomic-heading.is-navy { color: var(--deek-navy-deep); }
.deek-atomic-heading.is-gold { color: var(--deek-gold); }
.deek-atomic-heading em { color: var(--deek-gold); font-style: italic; }
.deek-atomic-heading.is-gold em { color: inherit; }
.deek-atomic-heading.is-navy em { color: inherit; }

.deek-atomic-text {
  margin: 0;
  font-family: var(--deek-font-body);
  line-height: 1.78;
}
.deek-atomic-text.is-sm { font-size: 14px; }
.deek-atomic-text.is-md { font-size: 16px; }
.deek-atomic-text.is-lg { font-size: 18px; }
.deek-atomic-text.is-story {
  font-family: var(--deek-font-display);
  font-size: clamp(32px, 4vw, 60px);
  letter-spacing: -0.055em;
  line-height: 1.08;
}
.deek-atomic-text.is-muted { color: var(--deek-muted); }
.deek-atomic-text.is-cream { color: var(--deek-cream); }
.deek-atomic-text.is-navy { color: var(--deek-navy-deep); }
.deek-atomic-text.is-navy-muted { color: rgba(7,17,31,.7); }

.deek-eyebrow.is-gold { color: var(--deek-gold); }
.deek-eyebrow.is-cream { color: rgba(244,239,231,.6); }
.deek-eyebrow.is-navy { color: rgba(7,17,31,.62); }

.deek-button.is-plain {
  background: transparent;
  border-color: transparent;
  padding: 0;
  color: rgba(244,239,231,.82) !important;
}
.deek-button.is-plain:hover {
  color: var(--deek-gold) !important;
  background: transparent;
  border-color: transparent;
  transform: none;
}
.deek-button__arrow {
  display: inline-block;
  transition: transform .25s var(--deek-ease);
}
.deek-button:hover .deek-button__arrow { transform: translateX(4px); }

.deek-stat-single .deek-stat {
  border: 1px solid var(--deek-border);
}

.deek-image-card.is-large { aspect-ratio: 4 / 5; }
.deek-image-card.is-wide { aspect-ratio: 4 / 3; }
.deek-image-card.is-square { aspect-ratio: 1 / 1; }

.deek-contact-detail {
  padding-left: clamp(26px, 4vw, 44px);
  border-left: 1px solid var(--deek-border-gold);
}
.deek-contact-detail dt {
  font-family: var(--deek-font-mono);
  font-size: 10px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--deek-gold);
}
.deek-contact-detail dd {
  margin: 10px 0 0;
  font-family: var(--deek-font-display);
  font-size: clamp(24px, 3vw, 36px);
  line-height: 1.1;
  color: var(--deek-cream);
}
.deek-contact-detail a { color: inherit; text-decoration: none; }
.deek-contact-detail a:hover { color: var(--deek-gold); }

.deek-gold-disc {
  width: var(--deek-disc-size, 360px);
  height: var(--deek-disc-size, 360px);
  border-radius: 50%;
  background: var(--deek-gold);
  display: block;
}
.deek-gold-disc.is-ring {
  background: transparent;
  border: 1px solid var(--deek-border-gold);
}

.deek-vertical-rail.is-static {
  display: inline-block;
  font-family: var(--deek-font-mono);
  font-size: 10px;
  letter-spacing: .5em;
  text-transform: uppercase;
  color: rgba(244,239,231,.5);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.deek-homepage-body {
  position: relative;
  background: var(--deek-navy-deep);
}

.deek-homepage-body .deek-hero {
  min-height: 100svh;
}

.deek-stats-wrap.is-embedded {
  border-top: 0;
}
.deek-stats-wrap.is-embedded .deek-container {
  padding-inline: 0;
}

/* Header/Footer category widgets only. Body element widgets intentionally do not include brand/header CSS hooks. */
.deek-header-element .deek-brand,
.deek-header .deek-brand,
.deek-footer .deek-brand {
  color: var(--deek-gold);
}

@media (max-width: 767px) {
  .deek-atomic-heading.is-hero { font-size: clamp(48px, 14vw, 64px); }
  .deek-image-card.is-large,
  .deek-image-card.is-wide,
  .deek-image-card.is-square { aspect-ratio: 4 / 5; }
}

/* --------------------------------------------------------------------------
 * v2.1.0 Enterprise editable homepage template
 * Native Elementor Containers + atomic Der Everest widgets.
 * This is the drag-and-drop editing mode. The locked homepage widget remains
 * available for quick previews, but the editable template is the preferred mode.
 * -------------------------------------------------------------------------- */
.deek-editable-homepage,
.deek-editable-homepage.e-con,
.deek-editable-homepage > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  background: var(--deek-navy-deep);
  color: var(--deek-cream);
  overflow-x: clip;
}

.deek-editable-homepage .e-con-inner {
  max-width: none;
}

.deek-template-section,
.deek-template-section.e-con {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

.deek-template-section > .e-con-inner,
.deek-template-hero-grid > .e-con-inner,
.deek-template-services-wrap > .e-con-inner,
.deek-template-services-grid > .e-con-inner,
.deek-template-mosaic > .e-con-inner,
.deek-template-about-grid > .e-con-inner,
.deek-template-contact-grid > .e-con-inner,
.deek-template-stats-grid > .e-con-inner,
.deek-template-actions > .e-con-inner,
.deek-template-about-stats > .e-con-inner {
  display: contents;
}

.deek-template-hero {
  min-height: 100svh;
  overflow: hidden;
  background: var(--deek-navy-deep);
}

.deek-template-hero::before,
.deek-template-hero::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}

.deek-template-hero::before {
  left: -20vw;
  top: 8vh;
  width: 85vh;
  height: 85vh;
  background: var(--deek-gold);
  z-index: 0;
}

.deek-template-hero::after {
  left: -18vw;
  top: 10vh;
  width: 80vh;
  height: 80vh;
  border: 1px solid var(--deek-border-gold);
  z-index: 0;
}

.deek-template-rail-wrap {
  position: absolute !important;
  left: 24px;
  top: 50%;
  z-index: 5;
  transform: translateY(-50%);
  width: auto !important;
}

.deek-template-hero-grid {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: var(--deek-container);
  min-height: 100svh;
  margin-inline: auto;
  padding: clamp(116px, 12vw, 160px) var(--deek-gutter) 72px;
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(340px, 5fr);
  align-items: center;
  gap: clamp(32px, 5vw, 80px);
}

.deek-template-hero-media,
.deek-template-hero-copy {
  position: relative;
  z-index: 2;
}

.deek-template-hero-media .elementor-widget-image,
.deek-template-hero-media .elementor-widget-container,
.deek-template-hero-image,
.deek-template-hero-image .elementor-widget-container {
  width: 100%;
}

.deek-template-hero-image img {
  position: relative;
  z-index: 3;
  display: block;
  width: min(100%, 820px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 40px 60px rgba(0, 0, 0, 0.6));
}

.deek-template-hero-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center;
  align-items: flex-start;
  gap: 0 !important;
}

.deek-template-hero-copy .elementor-widget-deek_heading {
  margin-top: 24px;
}

.deek-template-hero-copy .elementor-widget-deek_text {
  margin-top: 28px;
}

.deek-template-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px !important;
  margin-top: 40px;
}

.deek-template-actions .elementor-widget {
  width: auto !important;
}

.deek-template-statsbar {
  position: relative;
  z-index: 4;
  border-top: 1px solid var(--deek-border);
  background: transparent;
}

.deek-template-stats-grid {
  width: 100%;
  max-width: var(--deek-container);
  margin-inline: auto;
  padding-inline: var(--deek-gutter);
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--deek-border);
}

.deek-template-stats-grid > .elementor-element {
  background: var(--deek-navy-deep);
  padding: 24px;
  min-width: 0;
}

.deek-template-services {
  background: var(--deek-navy);
  padding: var(--deek-section-y) 0 !important;
}

.deek-template-services-wrap {
  width: 100%;
  max-width: var(--deek-container);
  margin-inline: auto;
  padding-inline: var(--deek-gutter);
  display: grid !important;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: clamp(42px, 7vw, 96px);
  align-items: start;
}

.deek-template-section-intro {
  gap: 0 !important;
}

.deek-template-section-intro .elementor-widget-deek_heading { margin-top: 22px; }
.deek-template-section-intro .elementor-widget-deek_text { margin-top: 22px; }

.deek-template-sticky-intro {
  position: sticky;
  top: 96px;
}

.deek-template-services-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--deek-border);
  border-left: 1px solid var(--deek-border);
}

.deek-template-services-grid > .elementor-element {
  min-width: 0;
}

.deek-template-services-grid .elementor-widget-container,
.deek-template-services-grid .deek-root,
.deek-template-services-grid .deek-element,
.deek-template-services-grid .deek-service-card {
  height: 100%;
}

.deek-template-fleet {
  background: var(--deek-navy-deep);
  padding: var(--deek-section-y) 0 !important;
}

.deek-template-mosaic {
  width: 100%;
  max-width: var(--deek-container);
  margin-inline: auto;
  padding-inline: var(--deek-gutter);
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  grid-template-rows: repeat(2, minmax(320px, auto));
  gap: clamp(24px, 4vw, 48px);
}

.deek-template-image-card {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  background: var(--deek-navy-soft);
}

.deek-template-image-card-large {
  grid-row: span 2;
  min-height: 760px;
}

.deek-template-card-image,
.deek-template-card-image .elementor-widget-container,
.deek-template-card-image img {
  width: 100%;
  height: 100%;
}

.deek-template-card-image {
  position: absolute !important;
  inset: 0;
}

.deek-template-card-image img {
  display: block;
  object-fit: cover;
  transition: transform .65s var(--deek-ease), filter .65s var(--deek-ease);
}

.deek-template-image-card:hover .deek-template-card-image img {
  transform: scale(1.045);
  filter: saturate(1.04) contrast(1.04);
}

.deek-template-image-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to top, rgba(7,17,31,.92), rgba(7,17,31,.18) 56%, rgba(7,17,31,.08));
}

.deek-template-image-card-body {
  position: absolute !important;
  inset-inline: 0;
  bottom: 0;
  z-index: 2;
  padding: clamp(28px, 4vw, 44px);
  gap: 0 !important;
}

.deek-template-image-card-body .elementor-widget-deek_heading { margin-top: 14px; }
.deek-template-image-card-body .elementor-widget-deek_text { margin-top: 14px; }

.deek-template-about {
  background: var(--deek-gold);
  color: var(--deek-navy-deep);
  padding: var(--deek-section-y) 0 !important;
}

.deek-template-about-grid {
  width: 100%;
  max-width: var(--deek-container);
  margin-inline: auto;
  padding-inline: var(--deek-gutter);
  display: grid !important;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(42px, 8vw, 104px);
}

.deek-template-about-content {
  gap: 0 !important;
}

.deek-template-about-stats {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid rgba(7, 17, 31, .22);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
}

.deek-template-about-stat {
  gap: 4px !important;
}

.deek-template-about-stat .deek-atomic-heading {
  line-height: 1;
  font-size: clamp(34px, 4vw, 48px);
}

.deek-template-about-stat .deek-eyebrow {
  font-size: 10px;
  letter-spacing: .22em;
}

.deek-template-contact {
  background: var(--deek-navy-deep);
  padding: var(--deek-section-y) 0 !important;
}

.deek-template-contact-grid {
  width: 100%;
  max-width: var(--deek-container);
  margin-inline: auto;
  padding-inline: var(--deek-gutter);
  display: grid !important;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  gap: clamp(42px, 8vw, 104px);
}

.deek-template-contact-copy .elementor-widget-deek_heading {
  margin-top: 22px;
}

.deek-template-contact-list {
  border-left: 1px solid var(--deek-border-gold);
  padding-left: clamp(24px, 4vw, 44px);
  gap: 32px !important;
}

.deek-template-contact-list .elementor-widget-deek_contact_detail + .elementor-widget-deek_contact_detail {
  margin-top: 30px;
}

.elementor-editor-active .deek-template-section::before {
  pointer-events: none;
}

.elementor-editor-active .deek-template-image-card {
  outline: 1px dashed rgba(185, 148, 87, .24);
  outline-offset: -1px;
}

@media (max-width: 1024px) {
  .deek-template-rail-wrap { display: none !important; }
  .deek-template-hero-grid,
  .deek-template-services-wrap,
  .deek-template-mosaic,
  .deek-template-about-grid,
  .deek-template-contact-grid {
    grid-template-columns: 1fr;
  }
  .deek-template-hero-media { order: 2; }
  .deek-template-hero-copy { order: 1; }
  .deek-template-image-card-large { grid-row: auto; min-height: 560px; }
  .deek-template-sticky-intro { position: static; }
}

@media (max-width: 767px) {
  .deek-template-hero::before {
    width: 460px;
    height: 460px;
    left: -220px;
    top: 188px;
  }
  .deek-template-hero::after {
    width: 420px;
    height: 420px;
    left: -205px;
    top: 204px;
  }
  .deek-template-hero-grid {
    padding-top: 112px;
    padding-bottom: 44px;
    gap: 32px;
  }
  .deek-template-actions {
    align-items: flex-start;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .deek-template-stats-grid,
  .deek-template-services-grid,
  .deek-template-about-stats {
    grid-template-columns: 1fr 1fr;
  }
  .deek-template-mosaic {
    grid-template-rows: auto;
  }
  .deek-template-image-card,
  .deek-template-image-card-large {
    min-height: 440px;
  }
  .deek-template-contact-list {
    padding-left: 22px;
  }
}

@media (max-width: 480px) {
  .deek-template-stats-grid,
  .deek-template-services-grid,
  .deek-template-about-stats {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
 * v2.2.0 Fixed enterprise editable homepage
 * Uses classic Elementor Sections/Columns for maximum compatibility.
 * This fixes collapsed/white output when Elementor Flexbox Containers are off.
 * -------------------------------------------------------------------------- */
.elementor-page .deek-classic-section,
.elementor-page .deek-classic-section * {
  box-sizing: border-box;
}

.elementor-page .deek-classic-section {
  position: relative;
  width: 100%;
  margin: 0 !important;
  overflow: hidden;
  font-family: var(--deek-font-body);
  color: var(--deek-cream);
}

.elementor-page .deek-classic-section > .elementor-container {
  max-width: var(--deek-container) !important;
  margin-inline: auto;
  padding-inline: var(--deek-gutter);
}

.elementor-page .deek-classic-section .elementor-column-gap-default > .elementor-column > .elementor-element-populated,
.elementor-page .deek-classic-section .elementor-column > .elementor-element-populated {
  padding: 0;
}

.elementor-page .deek-classic-section .elementor-widget:not(:last-child) {
  margin-bottom: 0;
}

.elementor-page .deek-classic-section .deek-root.deek-element {
  background: transparent;
  color: inherit;
  overflow: visible;
}

/* Hero */
.elementor-page .deek-classic-hero {
  min-height: 100svh;
  padding: clamp(124px, 12vw, 168px) 0 72px !important;
  background: var(--deek-navy-deep) !important;
}

.elementor-page .deek-classic-hero::before,
.elementor-page .deek-classic-hero::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  z-index: 0;
}

.elementor-page .deek-classic-hero::before {
  left: -20vw;
  top: 8vh;
  width: 85vh;
  height: 85vh;
  background: var(--deek-gold);
}

.elementor-page .deek-classic-hero::after {
  left: -18vw;
  top: 10vh;
  width: 80vh;
  height: 80vh;
  border: 1px solid var(--deek-border-gold);
}

.elementor-page .deek-classic-hero > .elementor-container {
  position: relative;
  z-index: 2;
  min-height: calc(100svh - 240px);
  align-items: center;
}

.elementor-page .deek-classic-hero-media > .elementor-element-populated,
.elementor-page .deek-classic-hero-copy > .elementor-element-populated {
  align-content: center;
  align-items: flex-start;
}

.elementor-page .deek-classic-hero-image img {
  display: block;
  width: min(100%, 820px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 40px 60px rgba(0, 0, 0, .6));
}

.elementor-page .deek-classic-hero-copy .elementor-widget-deek_heading {
  margin-top: 24px;
}

.elementor-page .deek-classic-hero-copy .elementor-widget-deek_text {
  margin-top: 28px;
}

.elementor-page .deek-classic-actions {
  margin-top: 40px !important;
  background: transparent !important;
  overflow: visible;
}

.elementor-page .deek-classic-actions > .elementor-container {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 24px;
}

.elementor-page .deek-classic-action-col {
  width: auto !important;
  flex: 0 0 auto;
}

.elementor-page .deek-classic-action-col > .elementor-element-populated {
  padding: 0 !important;
}

/* Stats */
.elementor-page .deek-classic-statsbar {
  background: var(--deek-navy-deep) !important;
  border-top: 1px solid var(--deek-border);
}

.elementor-page .deek-classic-statsbar > .elementor-container {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--deek-border);
}

.elementor-page .deek-classic-statsbar .deek-classic-stat-col {
  width: auto !important;
  background: var(--deek-navy-deep);
}

.elementor-page .deek-classic-statsbar .deek-classic-stat-col > .elementor-element-populated {
  padding: 24px !important;
}

.elementor-page .deek-classic-statsbar .deek-stat-single .deek-stat {
  border: 0;
  padding: 0;
}

/* Services */
.elementor-page .deek-classic-services {
  background: var(--deek-navy) !important;
  padding: var(--deek-section-y) 0 !important;
}

.elementor-page .deek-classic-services > .elementor-container {
  align-items: flex-start;
  gap: clamp(42px, 7vw, 96px);
}

.elementor-page .deek-classic-services-intro > .elementor-element-populated {
  position: sticky;
  top: 96px;
  align-content: flex-start;
}

.elementor-page .deek-classic-services-intro .elementor-widget-deek_heading,
.elementor-page .deek-classic-contact-copy .elementor-widget-deek_heading {
  margin-top: 22px;
}

.elementor-page .deek-classic-services-intro .elementor-widget-deek_text {
  margin-top: 22px;
}

.elementor-page .deek-classic-services-grid-col > .elementor-element-populated {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  padding: 0 !important;
  border-top: 1px solid var(--deek-border);
  border-left: 1px solid var(--deek-border);
}

.elementor-page .deek-classic-services-grid-col .elementor-widget-deek_service_card {
  margin: 0 !important;
  min-width: 0;
}

.elementor-page .deek-classic-services-grid-col .elementor-widget-container,
.elementor-page .deek-classic-services-grid-col .deek-root,
.elementor-page .deek-classic-services-grid-col .deek-service-card {
  height: 100%;
}

/* Fleet */
.elementor-page .deek-classic-fleet {
  background: var(--deek-navy-deep) !important;
  padding: var(--deek-section-y) 0 !important;
}

.elementor-page .deek-classic-fleet > .elementor-container {
  align-items: stretch;
  gap: clamp(24px, 4vw, 48px);
}

.elementor-page .deek-classic-fleet-large > .elementor-element-populated,
.elementor-page .deek-classic-fleet-small-stack > .elementor-element-populated {
  height: 100%;
  padding: 0 !important;
}

.elementor-page .deek-classic-fleet-large .deek-image-card {
  min-height: 760px;
}

.elementor-page .deek-classic-fleet-small-stack > .elementor-element-populated {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 4vw, 48px);
}

.elementor-page .deek-classic-fleet-small-stack .elementor-widget-deek_image_card {
  flex: 1 1 0;
  margin: 0 !important;
}

.elementor-page .deek-classic-fleet-small-stack .deek-image-card {
  min-height: 356px;
  height: 100%;
}

/* About */
.elementor-page .deek-classic-about {
  background: var(--deek-gold) !important;
  color: var(--deek-navy-deep);
  padding: var(--deek-section-y) 0 !important;
}

.elementor-page .deek-classic-about > .elementor-container {
  align-items: flex-start;
  gap: clamp(42px, 8vw, 104px);
}

.elementor-page .deek-classic-about-stats {
  margin-top: 56px !important;
  padding-top: 40px !important;
  border-top: 1px solid rgba(7,17,31,.22);
  background: transparent !important;
  overflow: visible;
}

.elementor-page .deek-classic-about-stats > .elementor-container {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-page .deek-classic-about-stat > .elementor-element-populated {
  padding: 0 !important;
}

.elementor-page .deek-classic-about-stat .elementor-widget-deek_eyebrow {
  margin-top: 6px;
}

/* Contact */
.elementor-page .deek-classic-contact {
  background: var(--deek-navy-deep) !important;
  padding: var(--deek-section-y) 0 !important;
}

.elementor-page .deek-classic-contact > .elementor-container {
  align-items: flex-start;
  gap: clamp(42px, 8vw, 104px);
}

.elementor-page .deek-classic-contact-list > .elementor-element-populated {
  border-left: 1px solid var(--deek-border-gold);
  padding-left: clamp(24px, 4vw, 44px) !important;
}

.elementor-page .deek-classic-contact-list .deek-contact-detail {
  border-left: 0;
  padding-left: 0;
}

.elementor-page .deek-classic-contact-list .elementor-widget-deek_contact_detail + .elementor-widget-deek_contact_detail {
  margin-top: 30px;
}

/* Editor quality: visible drop zones without hurting frontend */
.elementor-editor-active .deek-classic-section {
  outline: 1px dashed rgba(185, 148, 87, .22);
  outline-offset: -1px;
}

.elementor-editor-active .deek-classic-section > .elementor-container {
  min-height: 48px;
}

@media (max-width: 1024px) {
  .elementor-page .deek-classic-hero > .elementor-container,
  .elementor-page .deek-classic-services > .elementor-container,
  .elementor-page .deek-classic-fleet > .elementor-container,
  .elementor-page .deek-classic-about > .elementor-container,
  .elementor-page .deek-classic-contact > .elementor-container {
    flex-direction: column;
  }

  .elementor-page .deek-classic-hero-media,
  .elementor-page .deek-classic-hero-copy,
  .elementor-page .deek-classic-services-intro,
  .elementor-page .deek-classic-services-grid-col,
  .elementor-page .deek-classic-fleet-large,
  .elementor-page .deek-classic-fleet-small-stack,
  .elementor-page .deek-classic-about-label,
  .elementor-page .deek-classic-about-content,
  .elementor-page .deek-classic-contact-copy,
  .elementor-page .deek-classic-contact-list {
    width: 100% !important;
  }

  .elementor-page .deek-classic-hero-copy { order: 1; }
  .elementor-page .deek-classic-hero-media { order: 2; }
  .elementor-page .deek-classic-services-intro > .elementor-element-populated { position: static; }
}

@media (max-width: 767px) {
  .elementor-page .deek-classic-hero {
    min-height: auto;
    padding-top: 112px !important;
  }
  .elementor-page .deek-classic-hero::before {
    width: 460px;
    height: 460px;
    left: -220px;
    top: 188px;
  }
  .elementor-page .deek-classic-hero::after {
    width: 420px;
    height: 420px;
    left: -205px;
    top: 204px;
  }
  .elementor-page .deek-classic-statsbar > .elementor-container,
  .elementor-page .deek-classic-services-grid-col > .elementor-element-populated {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .elementor-page .deek-classic-fleet-large .deek-image-card,
  .elementor-page .deek-classic-fleet-small-stack .deek-image-card {
    min-height: 440px;
  }
  .elementor-page .deek-classic-about-stats > .elementor-container {
    flex-direction: column;
  }
  .elementor-page .deek-classic-about-stat {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .elementor-page .deek-classic-statsbar > .elementor-container,
  .elementor-page .deek-classic-services-grid-col > .elementor-element-populated {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
 * v2.3.0 Enterprise gravity editable homepage overrides
 * Full-width body, editable DE Gold Disc widgets, UAE/header-safe output,
 * premium motion reveal and Lovable-style tension.
 * -------------------------------------------------------------------------- */
.deek-gold-disc {
  width: var(--deek-disc-size, 360px);
  height: var(--deek-disc-size, 360px);
  border-radius: 999px;
  background: var(--deek-disc-color, var(--deek-gold));
  opacity: var(--deek-disc-opacity, 1);
  display: block;
}
.deek-gold-disc.is-ring {
  background: transparent;
  border: var(--deek-disc-ring-width, 1px) solid var(--deek-disc-ring-color, var(--deek-border-gold));
}

.elementor-page .deek-enterprise-fullwidth.elementor-section {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  left: auto !important;
  right: auto !important;
  clear: both;
}

.elementor-page .deek-enterprise-fullwidth.elementor-section > .elementor-container {
  max-width: var(--deek-container) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.elementor-page .deek-enterprise-gravity-hero {
  isolation: isolate;
  min-height: 100svh;
  padding: clamp(120px, 12vw, 166px) 0 64px !important;
  overflow: hidden !important;
}

.elementor-page .deek-enterprise-gravity-hero::before,
.elementor-page .deek-enterprise-gravity-hero::after {
  display: none !important;
}

.elementor-page .deek-enterprise-gravity-hero > .elementor-container {
  position: relative;
  z-index: 3;
  min-height: calc(100svh - 230px);
  display: flex;
  align-items: center;
  gap: clamp(28px, 5vw, 88px);
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-media,
.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy {
  position: relative;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-media {
  z-index: 2;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy {
  z-index: 4;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated,
.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy > .elementor-element-populated {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(420px, 64vh, 760px);
}

.elementor-page .deek-enterprise-gravity-hero .deek-hero-disc-widget,
.elementor-page .deek-enterprise-gravity-hero .deek-hero-ring-widget,
.elementor-page .deek-enterprise-gravity-hero .deek-hero-rail-widget {
  position: absolute !important;
  pointer-events: none;
  margin: 0 !important;
}

.elementor-page .deek-enterprise-gravity-hero .deek-hero-disc-widget {
  left: -20vw;
  top: 8vh;
  z-index: 1;
}

.elementor-page .deek-enterprise-gravity-hero .deek-hero-ring-widget {
  left: -18vw;
  top: 10vh;
  z-index: 1;
}

.elementor-page .deek-enterprise-gravity-hero .deek-hero-rail-widget {
  left: 24px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  z-index: 5;
}

.elementor-page .deek-enterprise-gravity-hero .deek-hero-rail-widget .deek-vertical-rail.is-static {
  writing-mode: initial;
  transform: none;
  white-space: nowrap;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-image {
  position: relative;
  z-index: 3;
  width: 100%;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-image .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-image img {
  width: min(100%, 820px) !important;
  max-width: 820px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 42px 64px rgba(0,0,0,.62));
  transform: translateX(-2%);
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading.is-hero {
  font-size: clamp(52px, 7vw, 102px);
  line-height: .93;
  letter-spacing: -0.06em;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy .elementor-widget-deek_text {
  max-width: 480px;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-actions {
  overflow: visible !important;
}

.elementor-page .deek-enterprise-gravity-hero .deek-classic-actions > .elementor-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 22px;
}

.elementor-page .deek-enterprise-statsbar {
  margin-top: 0 !important;
  border-top: 1px solid var(--deek-border);
}

.elementor-page .deek-enterprise-statsbar > .elementor-container {
  padding-left: var(--deek-gutter) !important;
  padding-right: var(--deek-gutter) !important;
}

.elementor-page .deek-classic-services-grid-col .deek-service-card {
  border-top: 0;
  border-left: 0;
  border-right: 1px solid var(--deek-border);
  border-bottom: 1px solid var(--deek-border);
}

.elementor-page .deek-classic-services-grid-col .elementor-widget-deek_service_card:nth-child(2n) .deek-service-card {
  border-right: 0;
}

.elementor-page .deek-classic-fleet .deek-image-card {
  box-shadow: 0 30px 80px -42px rgba(0,0,0,.72);
}

.elementor-page .deek-classic-contact,
.elementor-page .deek-classic-services,
.elementor-page .deek-classic-fleet,
.elementor-page .deek-classic-about {
  scroll-margin-top: 96px;
}

.deek-motion-reveal,
.deek-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .66s var(--deek-ease), transform .66s var(--deek-ease), filter .66s var(--deek-ease);
  will-change: opacity, transform;
}
.deek-reveal.deek-revealed,
.deek-motion-reveal.deek-revealed,
.deek-revealed {
  opacity: 1;
  transform: translateY(0);
}
.elementor-editor-active .deek-reveal,
.elementor-editor-active .deek-motion-reveal {
  opacity: 1 !important;
  transform: none !important;
}

@media (max-width: 1180px) {
  .elementor-page .deek-enterprise-gravity-hero > .elementor-container {
    gap: clamp(24px, 4vw, 56px);
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading.is-hero {
    font-size: clamp(48px, 8vw, 82px);
  }
}

@media (max-width: 1024px) {
  .elementor-page .deek-enterprise-gravity-hero > .elementor-container {
    min-height: auto;
    align-items: flex-start;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-media,
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy {
    width: 100% !important;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy {
    order: 1;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-media {
    order: 2;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated,
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy > .elementor-element-populated {
    min-height: auto;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-hero-rail-widget {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .elementor-page .deek-enterprise-gravity-hero {
    padding: 112px 0 42px !important;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-hero-disc-widget {
    left: -210px;
    top: 315px;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-hero-ring-widget {
    left: -196px;
    top: 330px;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-hero-disc-widget .deek-gold-disc {
    width: 460px !important;
    height: 460px !important;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-hero-ring-widget .deek-gold-disc {
    width: 420px !important;
    height: 420px !important;
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-image img {
    width: min(100%, 680px) !important;
    transform: translateX(0);
  }
  .elementor-page .deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading.is-hero {
    font-size: clamp(48px, 15vw, 68px);
  }
  .elementor-page .deek-enterprise-statsbar > .elementor-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .elementor-page .deek-classic-services-grid-col .elementor-widget-deek_service_card:nth-child(2n) .deek-service-card {
    border-right: 1px solid var(--deek-border);
  }
}

@media (prefers-reduced-motion: reduce) {
  .deek-motion-reveal,
  .deek-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* --------------------------------------------------------------------------
 * v2.4.0 Enterprise layout hardening
 * Why: some themes/templates do not add the body.elementor-page class, so the
 * earlier premium layout selectors did not always apply. These selectors target
 * the generated sections directly and keep the page editable while preserving
 * the Lovable gravity/tension layout.
 * -------------------------------------------------------------------------- */

/* Full-width sections with controlled inner max width and real gutters. */
.deek-enterprise-fullwidth.elementor-section,
.elementor-section.deek-enterprise-fullwidth {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  left: auto !important;
  right: auto !important;
  clear: both;
  position: relative;
  overflow: hidden;
}

.deek-classic-section,
.deek-classic-section * {
  box-sizing: border-box;
}

.deek-classic-section {
  font-family: var(--deek-font-body) !important;
  color: var(--deek-cream);
  margin: 0 !important;
}

.deek-enterprise-fullwidth.elementor-section > .elementor-container,
.elementor-section.deek-enterprise-fullwidth > .elementor-container,
.deek-classic-section > .elementor-container {
  width: 100% !important;
  max-width: var(--deek-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(24px, 4vw, 64px) !important;
  padding-right: clamp(24px, 4vw, 64px) !important;
}

.deek-classic-section .elementor-column > .elementor-element-populated {
  padding: 0 !important;
}

.deek-classic-section .elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}

.deek-classic-section .deek-root.deek-element {
  background: transparent !important;
  color: inherit;
  overflow: visible;
}

/* Hero: recreate the Lovable gravity layout using editable Elementor atoms. */
.deek-enterprise-gravity-hero {
  min-height: 100svh;
  padding: 0 !important;
  background: var(--deek-navy-deep) !important;
  isolation: isolate;
}

.deek-enterprise-gravity-hero > .elementor-container {
  position: relative;
  z-index: 3;
  min-height: 100svh;
  display: flex !important;
  align-items: center !important;
  gap: clamp(28px, 5vw, 88px) !important;
  padding-top: clamp(128px, 12vw, 164px) !important;
  padding-bottom: clamp(56px, 6vw, 84px) !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-media,
.deek-enterprise-gravity-hero .deek-classic-hero-copy {
  min-width: 0;
}

.deek-enterprise-gravity-hero .deek-classic-hero-media {
  width: 58.333333% !important;
  position: static !important;
  z-index: 2;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy {
  width: 41.666667% !important;
  position: relative !important;
  z-index: 6;
}

.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated,
.deek-enterprise-gravity-hero .deek-classic-hero-copy > .elementor-element-populated {
  min-height: clamp(520px, 70vh, 760px);
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  overflow: visible !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated {
  align-items: flex-start;
  padding-left: clamp(36px, 5vw, 96px) !important;
}

/* Editable gold disc and ring: positioned against the whole hero, not trapped in the image column. */
.deek-enterprise-gravity-hero .deek-hero-disc-widget,
.deek-enterprise-gravity-hero .deek-hero-ring-widget,
.deek-enterprise-gravity-hero .deek-hero-rail-widget {
  position: absolute !important;
  margin: 0 !important;
}

.deek-enterprise-gravity-hero .deek-hero-disc-widget,
.deek-enterprise-gravity-hero .deek-hero-ring-widget {
  pointer-events: none;
}

.elementor-editor-active .deek-enterprise-gravity-hero .deek-hero-disc-widget,
.elementor-editor-active .deek-enterprise-gravity-hero .deek-hero-ring-widget {
  pointer-events: auto;
}

.deek-enterprise-gravity-hero .deek-hero-disc-widget {
  left: max(-260px, calc(50% - 980px));
  top: 8vh;
  z-index: 1;
}

.deek-enterprise-gravity-hero .deek-hero-ring-widget {
  left: max(-230px, calc(50% - 930px));
  top: 10vh;
  z-index: 2;
}

.deek-enterprise-gravity-hero .deek-hero-disc-widget .deek-gold-disc,
.deek-enterprise-gravity-hero .deek-hero-ring-widget .deek-gold-disc {
  transform: translateZ(0);
}

.deek-enterprise-gravity-hero .deek-hero-rail-widget {
  left: max(24px, calc(50% - 760px));
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: center;
  z-index: 7;
  pointer-events: none;
}

.elementor-editor-active .deek-enterprise-gravity-hero .deek-hero-rail-widget {
  pointer-events: auto;
}

.deek-enterprise-gravity-hero .deek-hero-rail-widget .deek-vertical-rail.is-static {
  writing-mode: initial;
  transform: none;
  white-space: nowrap;
}

.deek-enterprise-gravity-hero .deek-classic-hero-image {
  position: relative;
  z-index: 4;
  width: 100%;
}

.deek-enterprise-gravity-hero .deek-classic-hero-image .elementor-widget-container {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
}

.deek-enterprise-gravity-hero .deek-classic-hero-image img {
  display: block;
  width: min(100%, 760px) !important;
  max-width: 760px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 42px 64px rgba(0,0,0,.62));
  transform: translateX(-3%);
  position: relative;
  z-index: 4;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy .elementor-widget-deek_eyebrow {
  margin-bottom: 24px !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading.is-hero {
  font-size: clamp(54px, 7vw, 96px) !important;
  line-height: .95 !important;
  letter-spacing: -0.05em !important;
  color: var(--deek-cream) !important;
  margin: 0 !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading em {
  color: var(--deek-gold) !important;
  font-style: italic;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy .elementor-widget-deek_text {
  margin-top: 30px !important;
  max-width: 460px;
}

.deek-enterprise-gravity-hero .deek-classic-actions {
  margin-top: 40px !important;
  background: transparent !important;
  overflow: visible !important;
}

.deek-enterprise-gravity-hero .deek-classic-actions > .elementor-container {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}

.deek-enterprise-gravity-hero .deek-classic-action-col {
  width: auto !important;
  flex: 0 0 auto !important;
}

.deek-enterprise-gravity-hero .deek-classic-action-col > .elementor-element-populated {
  padding: 0 !important;
}

/* Stats bar: same bottom rhythm as the source. */
.deek-enterprise-statsbar {
  background: var(--deek-navy-deep) !important;
  border-top: 1px solid var(--deek-border);
  padding: 0 !important;
}

.deek-enterprise-statsbar > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--deek-border);
}

.deek-enterprise-statsbar .deek-classic-stat-col {
  width: auto !important;
  background: var(--deek-navy-deep);
}

.deek-enterprise-statsbar .deek-classic-stat-col > .elementor-element-populated {
  padding: 24px clamp(22px, 3vw, 34px) !important;
}

.deek-enterprise-statsbar .deek-stat-single .deek-stat {
  padding: 0 !important;
  border: 0 !important;
}

/* Services: protected two-column editorial layout. */
.deek-classic-services {
  background: var(--deek-navy) !important;
  padding: clamp(96px, 10vw, 160px) 0 !important;
}

.deek-classic-services > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr);
  gap: clamp(56px, 7vw, 96px) !important;
  align-items: flex-start !important;
}

.deek-classic-services > .elementor-container > .elementor-column {
  width: auto !important;
}

.deek-classic-services-intro > .elementor-element-populated {
  position: sticky;
  top: 96px;
  align-content: flex-start;
}

.deek-classic-services-intro .elementor-widget-deek_heading {
  margin-top: 24px !important;
}

.deek-classic-services-intro .elementor-widget-deek_text {
  margin-top: 24px !important;
}

.deek-classic-services-grid-col > .elementor-element-populated {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  padding: 0 !important;
  border-top: 1px solid var(--deek-border);
  border-left: 1px solid var(--deek-border);
}

.deek-classic-services-grid-col .elementor-widget-deek_service_card {
  margin: 0 !important;
  min-width: 0;
}

.deek-classic-services-grid-col .deek-service-card {
  height: 100%;
  min-height: 232px;
  border: 0 !important;
  border-right: 1px solid var(--deek-border) !important;
  border-bottom: 1px solid var(--deek-border) !important;
}

.deek-classic-services-grid-col .elementor-widget-deek_service_card:nth-child(2n) .deek-service-card {
  border-right: 0 !important;
}

/* Fleet: exact 7/5 mosaic, large left and two stacked right cards. */
.deek-classic-fleet {
  background: var(--deek-navy-deep) !important;
  padding: clamp(96px, 10vw, 160px) 0 !important;
}

.deek-classic-fleet > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: clamp(36px, 5vw, 64px) !important;
  align-items: stretch !important;
}

.deek-classic-fleet > .elementor-container > .elementor-column {
  width: auto !important;
}

.deek-classic-fleet-large > .elementor-element-populated,
.deek-classic-fleet-small-stack > .elementor-element-populated {
  height: 100%;
  padding: 0 !important;
}

.deek-classic-fleet-large .deek-image-card {
  min-height: min(880px, 78vw) !important;
  height: 100%;
  aspect-ratio: 4 / 5;
}

.deek-classic-fleet-small-stack > .elementor-element-populated {
  display: grid !important;
  grid-template-rows: 1fr 1fr;
  gap: clamp(28px, 4vw, 48px);
}

.deek-classic-fleet-small-stack .elementor-widget-deek_image_card,
.deek-classic-fleet-small-stack .elementor-widget-container,
.deek-classic-fleet-small-stack .deek-root {
  height: 100%;
}

.deek-classic-fleet-small-stack .deek-image-card {
  min-height: 0 !important;
  height: 100%;
  aspect-ratio: 4 / 3;
}

.deek-classic-fleet .deek-image-card {
  box-shadow: 0 34px 86px -44px rgba(0,0,0,.75);
}

/* About and contact: keep readable, premium gutters. */
.deek-classic-about {
  background: var(--deek-gold) !important;
  color: var(--deek-navy-deep) !important;
  padding: clamp(90px, 9vw, 150px) 0 !important;
}

.deek-classic-about > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(220px, 5fr) minmax(0, 7fr);
  gap: clamp(48px, 8vw, 108px) !important;
  align-items: start !important;
}

.deek-classic-about > .elementor-container > .elementor-column {
  width: auto !important;
}

.deek-classic-about .deek-atomic-text.is-story,
.deek-classic-about .deek-atomic-text {
  font-family: var(--deek-font-display) !important;
  font-size: clamp(34px, 4.25vw, 60px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em;
}

.deek-classic-about-stats {
  margin-top: clamp(42px, 6vw, 64px) !important;
  padding-top: 34px !important;
  border-top: 1px solid rgba(7,17,31,.22);
  background: transparent !important;
  overflow: visible;
}

.deek-classic-about-stats > .elementor-container {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
}

.deek-classic-contact {
  background: var(--deek-navy-deep) !important;
  padding: clamp(90px, 9vw, 150px) 0 !important;
}

.deek-classic-contact > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  gap: clamp(48px, 8vw, 108px) !important;
  align-items: start !important;
}

.deek-classic-contact > .elementor-container > .elementor-column {
  width: auto !important;
}

.deek-classic-contact-copy .elementor-widget-deek_heading {
  margin-top: 24px !important;
}

.deek-classic-contact-list > .elementor-element-populated {
  border-left: 1px solid var(--deek-border-gold);
  padding-left: clamp(26px, 4vw, 44px) !important;
}

.deek-classic-contact-list .deek-contact-detail {
  border-left: 0 !important;
  padding-left: 0 !important;
}

.deek-classic-contact-list .elementor-widget-deek_contact_detail + .elementor-widget-deek_contact_detail {
  margin-top: 30px !important;
}

/* Editor quality: clear drop zones without breaking frontend layout. */
.elementor-editor-active .deek-classic-section {
  outline: 1px dashed rgba(201,154,57,.25);
  outline-offset: -1px;
}

.elementor-editor-active .deek-classic-section > .elementor-container {
  min-height: 56px;
}

.elementor-editor-active .deek-hero-disc-widget,
.elementor-editor-active .deek-hero-ring-widget {
  outline: 1px dashed rgba(244,239,231,.45);
  outline-offset: 6px;
}

@media (max-width: 1180px) {
  .deek-enterprise-gravity-hero > .elementor-container {
    gap: clamp(24px, 4vw, 56px) !important;
  }
  .deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading.is-hero {
    font-size: clamp(48px, 8vw, 82px) !important;
  }
  .deek-enterprise-gravity-hero .deek-classic-hero-image img {
    max-width: 690px !important;
  }
}

@media (max-width: 1024px) {
  .deek-enterprise-gravity-hero > .elementor-container,
  .deek-classic-services > .elementor-container,
  .deek-classic-fleet > .elementor-container,
  .deek-classic-about > .elementor-container,
  .deek-classic-contact > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
  }

  .deek-enterprise-gravity-hero .deek-classic-hero-media,
  .deek-enterprise-gravity-hero .deek-classic-hero-copy,
  .deek-classic-services-intro,
  .deek-classic-services-grid-col,
  .deek-classic-fleet-large,
  .deek-classic-fleet-small-stack,
  .deek-classic-about-label,
  .deek-classic-about-content,
  .deek-classic-contact-copy,
  .deek-classic-contact-list {
    width: 100% !important;
  }

  .deek-enterprise-gravity-hero .deek-classic-hero-copy { order: 1; }
  .deek-enterprise-gravity-hero .deek-classic-hero-media { order: 2; }
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated,
  .deek-enterprise-gravity-hero .deek-classic-hero-copy > .elementor-element-populated {
    min-height: auto;
  }
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated {
    padding-left: 0 !important;
  }
  .deek-enterprise-gravity-hero .deek-hero-rail-widget {
    display: none !important;
  }
  .deek-classic-services-intro > .elementor-element-populated {
    position: static;
  }
  .deek-classic-fleet-large .deek-image-card,
  .deek-classic-fleet-small-stack .deek-image-card {
    min-height: 520px !important;
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 767px) {
  .deek-enterprise-fullwidth.elementor-section > .elementor-container,
  .elementor-section.deek-enterprise-fullwidth > .elementor-container,
  .deek-classic-section > .elementor-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .deek-enterprise-gravity-hero > .elementor-container {
    padding-top: 112px !important;
    padding-bottom: 42px !important;
  }

  .deek-enterprise-gravity-hero .deek-hero-disc-widget {
    left: -210px;
    top: 320px;
  }

  .deek-enterprise-gravity-hero .deek-hero-ring-widget {
    left: -196px;
    top: 336px;
  }

  .deek-enterprise-gravity-hero .deek-hero-disc-widget .deek-gold-disc {
    width: 460px !important;
    height: 460px !important;
  }

  .deek-enterprise-gravity-hero .deek-hero-ring-widget .deek-gold-disc {
    width: 420px !important;
    height: 420px !important;
  }

  .deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading.is-hero {
    font-size: clamp(48px, 15vw, 68px) !important;
  }

  .deek-enterprise-gravity-hero .deek-classic-hero-image img {
    width: min(100%, 680px) !important;
    max-width: 680px !important;
    transform: translateX(0);
  }

  .deek-enterprise-statsbar > .elementor-container,
  .deek-classic-services-grid-col > .elementor-element-populated {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .deek-classic-services-grid-col .elementor-widget-deek_service_card:nth-child(2n) .deek-service-card {
    border-right: 1px solid var(--deek-border) !important;
  }

  .deek-classic-fleet-large .deek-image-card,
  .deek-classic-fleet-small-stack .deek-image-card {
    min-height: 440px !important;
  }

  .deek-classic-about-stats > .elementor-container {
    flex-direction: column !important;
  }

  .deek-classic-about-stat {
    width: 100% !important;
  }
}

@media (max-width: 480px) {
  .deek-enterprise-statsbar > .elementor-container,
  .deek-classic-services-grid-col > .elementor-element-populated {
    grid-template-columns: 1fr !important;
  }
}


/* --------------------------------------------------------------------------
 * v2.5.0 FINAL HERO HARDENING
 * Reason: in some Elementor installs, widget _css_classes are not reliable on
 * generated pages. These nth-child fallbacks keep the editable Gold Disc/Ring
 * out of normal flow and restore the Lovable gravity/tension composition.
 * -------------------------------------------------------------------------- */
.deek-enterprise-gravity-hero {
  position: relative !important;
  min-height: 100svh !important;
  overflow: hidden !important;
  background: var(--deek-navy-deep) !important;
  isolation: isolate !important;
}

.deek-enterprise-gravity-hero > .elementor-container {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important;
  align-items: center !important;
  gap: clamp(34px, 5.5vw, 92px) !important;
  width: 100% !important;
  max-width: 1400px !important;
  min-height: 100svh !important;
  margin-inline: auto !important;
  padding-top: clamp(130px, 11vw, 174px) !important;
  padding-bottom: clamp(58px, 6vw, 86px) !important;
  padding-left: clamp(24px, 4vw, 56px) !important;
  padding-right: clamp(24px, 4vw, 56px) !important;
}

.deek-enterprise-gravity-hero > .elementor-container > .elementor-column {
  width: auto !important;
  min-width: 0 !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated,
.deek-enterprise-gravity-hero .deek-classic-hero-copy > .elementor-element-populated {
  min-height: clamp(520px, 72vh, 760px) !important;
  padding: 0 !important;
  overflow: visible !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy > .elementor-element-populated {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  position: relative !important;
  z-index: 8 !important;
}

/* Gold Disc: class selector + nth-child fallback. */
.deek-enterprise-gravity-hero .deek-hero-disc-widget,
.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(1) {
  position: absolute !important;
  left: clamp(-360px, -21vw, -180px) !important;
  top: clamp(36px, 8vh, 86px) !important;
  z-index: 0 !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  pointer-events: none;
}

/* Gold Ring: class selector + nth-child fallback. */
.deek-enterprise-gravity-hero .deek-hero-ring-widget,
.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(2) {
  position: absolute !important;
  left: clamp(-330px, -19vw, -154px) !important;
  top: clamp(58px, 10vh, 112px) !important;
  z-index: 1 !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  pointer-events: none;
}

/* Vertical Rail: class selector + nth-child fallback. */
.deek-enterprise-gravity-hero .deek-hero-rail-widget,
.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(3) {
  position: absolute !important;
  left: clamp(-36px, -2vw, 10px) !important;
  top: 50% !important;
  z-index: 6 !important;
  margin: 0 !important;
  transform: translateY(-50%) rotate(-90deg) !important;
  transform-origin: center !important;
  pointer-events: none;
}

.elementor-editor-active .deek-enterprise-gravity-hero .deek-hero-disc-widget,
.elementor-editor-active .deek-enterprise-gravity-hero .deek-hero-ring-widget,
.elementor-editor-active .deek-enterprise-gravity-hero .deek-hero-rail-widget,
.elementor-editor-active .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(1),
.elementor-editor-active .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(2),
.elementor-editor-active .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(3) {
  pointer-events: auto;
}

.deek-enterprise-gravity-hero .deek-hero-disc-widget .deek-root,
.deek-enterprise-gravity-hero .deek-hero-ring-widget .deek-root,
.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(1) .deek-root,
.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(2) .deek-root {
  width: max-content !important;
  height: max-content !important;
  overflow: visible !important;
}

.deek-enterprise-gravity-hero .deek-gold-disc {
  width: var(--deek-disc-size, 85vh) !important;
  height: var(--deek-disc-size, 85vh) !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
}

/* Hero image: class selector + nth-child fallback. */
.deek-enterprise-gravity-hero .deek-classic-hero-image,
.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(4) {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  margin: 0 !important;
  align-self: center !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-image .elementor-widget-container,
.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(4) .elementor-widget-container {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  overflow: visible !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-image img,
.deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(4) img {
  width: min(100%, 840px) !important;
  max-width: 840px !important;
  height: auto !important;
  object-fit: contain !important;
  position: relative !important;
  z-index: 5 !important;
  transform: translateX(-5%) !important;
  filter: drop-shadow(0 42px 66px rgba(0,0,0,.64)) !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading.is-hero {
  font-size: clamp(58px, 7vw, 104px) !important;
  line-height: .92 !important;
  letter-spacing: -0.06em !important;
  margin: 0 !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy .elementor-widget-deek_text {
  margin-top: 30px !important;
}

.deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-text {
  max-width: 470px !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

.deek-enterprise-gravity-hero .deek-classic-actions {
  margin-top: 40px !important;
}

/* Better top-level full-width behavior for UAE/header use. */
body .deek-enterprise-fullwidth,
body .elementor-section.deek-enterprise-fullwidth {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

/* Reconfirm spacing after any Elementor/theme stylesheet. */
.deek-enterprise-statsbar { padding: 0 !important; }
.deek-classic-services { padding-top: clamp(104px, 11vw, 164px) !important; padding-bottom: clamp(104px, 11vw, 164px) !important; }
.deek-classic-fleet { padding-top: clamp(104px, 11vw, 164px) !important; padding-bottom: clamp(104px, 11vw, 164px) !important; }
.deek-classic-about { padding-top: clamp(96px, 10vw, 152px) !important; padding-bottom: clamp(96px, 10vw, 152px) !important; }
.deek-classic-contact { padding-top: clamp(96px, 10vw, 152px) !important; padding-bottom: clamp(96px, 10vw, 152px) !important; }

@media (max-width: 1024px) {
  .deek-enterprise-gravity-hero > .elementor-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 40px !important;
  }
  .deek-enterprise-gravity-hero .deek-classic-hero-copy { order: 1 !important; width: 100% !important; }
  .deek-enterprise-gravity-hero .deek-classic-hero-media { order: 2 !important; width: 100% !important; }
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated,
  .deek-enterprise-gravity-hero .deek-classic-hero-copy > .elementor-element-populated {
    min-height: auto !important;
  }
  .deek-enterprise-gravity-hero .deek-hero-rail-widget,
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(3) {
    display: none !important;
  }
  .deek-enterprise-gravity-hero .deek-classic-hero-image img,
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(4) img {
    transform: translateX(0) !important;
    width: min(100%, 760px) !important;
  }
}

@media (max-width: 767px) {
  .deek-enterprise-gravity-hero > .elementor-container {
    padding-top: 112px !important;
    padding-bottom: 44px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .deek-enterprise-gravity-hero .deek-hero-disc-widget,
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(1) {
    left: -240px !important;
    top: 24px !important;
  }
  .deek-enterprise-gravity-hero .deek-hero-ring-widget,
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(2) {
    left: -220px !important;
    top: 44px !important;
  }
  .deek-enterprise-gravity-hero .deek-hero-disc-widget .deek-gold-disc,
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(1) .deek-gold-disc {
    width: 440px !important;
    height: 440px !important;
  }
  .deek-enterprise-gravity-hero .deek-hero-ring-widget .deek-gold-disc,
  .deek-enterprise-gravity-hero .deek-classic-hero-media > .elementor-element-populated > .elementor-element:nth-child(2) .deek-gold-disc {
    width: 400px !important;
    height: 400px !important;
  }
  .deek-enterprise-gravity-hero .deek-classic-hero-copy .deek-atomic-heading.is-hero {
    font-size: clamp(46px, 15vw, 68px) !important;
  }
}

/* --------------------------------------------------------------------------
 * Legacy locked-hero compatibility: generated homepage can still use the tested DE Gravity Hero
 * section widget for the top hero. These selectors remove Elementor wrapper
 * spacing around that widget and expose editable gravity color variables.
 * -------------------------------------------------------------------------- */
.deek-generated-hero-widget-shell,
.elementor-section.deek-generated-hero-widget-shell {
  padding: 0 !important;
  margin: 0 !important;
  background: var(--deek-navy-deep) !important;
  overflow: visible !important;
}

.deek-generated-hero-widget-shell > .elementor-container {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.deek-generated-hero-widget-shell .elementor-column,
.deek-generated-hero-widget-shell .elementor-widget-wrap,
.deek-generated-hero-widget-shell .elementor-element-populated,
.deek-generated-hero-widget-shell .elementor-widget-deek_gravity_hero,
.deek-generated-hero-widget-shell .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.deek-hero__gold-disc {
  background: var(--deek-hero-disc-color, var(--deek-gold)) !important;
  opacity: var(--deek-hero-disc-opacity, 1) !important;
}

.deek-hero__gold-ring {
  border-color: var(--deek-hero-ring-color, rgba(201,154,57,.42)) !important;
  opacity: var(--deek-hero-ring-opacity, 1) !important;
}

/* Ensure the generated hero stays visually close to the Lovable source even
   when Traveler/UAE/Elementor global styles attempt to box content. */
.deek-generated-hero-widget-shell .deek-hero {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.deek-generated-hero-widget-shell .deek-hero__grid,
.deek-generated-hero-widget-shell .deek-hero__statsbar > .deek-container {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1024px) {
  .deek-generated-hero-widget-shell .deek-hero__grid {
    grid-template-columns: 1fr !important;
  }
}

/* --------------------------------------------------------------------------
 * v0.0.2.7.0 Premium Container Generator
 * Elementor Flexbox Container data output, not legacy Sections/Columns.
 * These selectors target the generated container classes directly so UAE,
 * Traveler, and theme wrappers do not collapse the Lovable gravity layout.
 * -------------------------------------------------------------------------- */
.deek-container-editable-page,
.deek-enterprise-fullwidth {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
}

.e-con.deek-c-section,
.elementor-element.deek-c-section,
.deek-c-section {
  --padding-block-start: 0px !important;
  --padding-block-end: 0px !important;
  --padding-inline-start: 0px !important;
  --padding-inline-end: 0px !important;
  --gap: 0px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

.deek-c-inner,
.e-con.deek-c-inner,
.elementor-element.deek-c-inner {
  width: min(var(--deek-container, 1400px), calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: var(--deek-container, 1400px) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.deek-c-section .elementor-widget:not(:last-child) {
  margin-block-end: 0 !important;
}

.deek-c-section .elementor-widget-container,
.deek-c-section .deek-root,
.deek-c-section .deek-element {
  width: 100%;
  box-sizing: border-box;
}

/* Hero: true gravity composition. */
.deek-c-hero,
.e-con.deek-c-hero,
.elementor-element.deek-c-hero {
  position: relative !important;
  overflow: hidden !important;
  min-height: 100svh !important;
  background: var(--deek-navy-deep, #07111f) !important;
  color: var(--deek-cream, #f4efe7) !important;
  display: block !important;
  isolation: isolate !important;
}

.deek-c-hero-shapes,
.e-con.deek-c-hero-shapes,
.elementor-element.deek-c-hero-shapes {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}

.deek-c-hero-disc-widget,
.elementor-widget-deek_gold_disc.deek-c-hero-disc-widget {
  position: absolute !important;
  left: -20vw !important;
  top: 8vh !important;
  z-index: 0 !important;
  width: 85vh !important;
  height: 85vh !important;
  max-width: none !important;
}

.deek-c-hero-ring-widget,
.elementor-widget-deek_gold_disc.deek-c-hero-ring-widget {
  position: absolute !important;
  left: -18vw !important;
  top: 10vh !important;
  z-index: 0 !important;
  width: 80vh !important;
  height: 80vh !important;
  max-width: none !important;
}

.deek-c-hero-disc-widget .elementor-widget-container,
.deek-c-hero-ring-widget .elementor-widget-container,
.deek-c-hero-disc-widget .deek-root,
.deek-c-hero-ring-widget .deek-root,
.deek-c-hero-disc-widget .deek-element,
.deek-c-hero-ring-widget .deek-element {
  width: 100% !important;
  height: 100% !important;
}

.deek-c-hero-disc-widget .deek-gold-disc,
.deek-c-hero-ring-widget .deek-gold-disc {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
}

.deek-c-hero-rail-widget,
.elementor-widget-deek_vertical_rail.deek-c-hero-rail-widget {
  position: absolute !important;
  left: clamp(16px, 2.2vw, 32px) !important;
  top: 50% !important;
  transform: translateY(-50%) rotate(-90deg) !important;
  transform-origin: center !important;
  z-index: 4 !important;
  width: auto !important;
  max-width: none !important;
}

.deek-c-hero-rail-widget .deek-vertical-rail.is-static {
  transform: none !important;
  white-space: nowrap !important;
  font-family: var(--deek-font-mono, 'JetBrains Mono', monospace) !important;
  font-size: .65rem !important;
  letter-spacing: .5em !important;
  text-transform: uppercase !important;
  color: rgba(244, 239, 231, .5) !important;
}

.deek-c-hero-grid,
.e-con.deek-c-hero-grid,
.elementor-element.deek-c-hero-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(420px, 5fr) !important;
  align-items: center !important;
  gap: clamp(48px, 6vw, 96px) !important;
  width: min(var(--deek-container, 1400px), calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: var(--deek-container, 1400px) !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  padding: clamp(118px, 15vh, 170px) 0 clamp(64px, 9vh, 96px) !important;
  box-sizing: border-box !important;
}

.deek-c-hero-media,
.e-con.deek-c-hero-media,
.elementor-element.deek-c-hero-media {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
}

.deek-c-hero-image-widget,
.elementor-widget-image.deek-c-hero-image-widget {
  width: 100% !important;
  max-width: 840px !important;
  margin: 0 !important;
}

.deek-c-hero-image-widget img {
  display: block !important;
  width: 100% !important;
  max-width: 840px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 40px 60px rgba(0,0,0,.6)) !important;
}

.deek-c-hero-copy,
.e-con.deek-c-hero-copy,
.elementor-element.deek-c-hero-copy {
  position: relative !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
  min-width: 0 !important;
}

.deek-c-hero-copy .deek-eyebrow,
.deek-c-hero-copy .deek-atomic-heading,
.deek-c-hero-copy .deek-atomic-text {
  text-align: left !important;
}

.deek-c-hero-copy .deek-atomic-heading.is-hero {
  font-size: clamp(3rem, 7vw, 6rem) !important;
  line-height: .95 !important;
  letter-spacing: -.04em !important;
  margin: 22px 0 26px !important;
  color: var(--deek-cream, #f4efe7) !important;
}

.deek-c-hero-copy .deek-atomic-heading.is-hero em {
  color: var(--deek-gold, #c99a39) !important;
  font-style: italic !important;
}

.deek-c-hero-copy .deek-atomic-text {
  max-width: 460px !important;
  margin-bottom: 34px !important;
}

.deek-c-hero-actions,
.e-con.deek-c-hero-actions,
.elementor-element.deek-c-hero-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 26px !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.deek-c-hero-actions .elementor-widget {
  width: auto !important;
  max-width: max-content !important;
}

.deek-c-phone-link .deek-button.is-plain {
  font-size: .78rem !important;
  letter-spacing: .16em !important;
  color: rgba(244, 239, 231, .82) !important;
  padding: 0 !important;
}

/* Stats bar directly after hero. */
.deek-c-statsbar,
.e-con.deek-c-statsbar,
.elementor-element.deek-c-statsbar {
  background: var(--deek-navy-deep, #07111f) !important;
  border-top: 1px solid rgba(244,239,231,.10) !important;
  overflow: hidden !important;
}

.deek-c-stats-grid,
.e-con.deek-c-stats-grid,
.elementor-element.deek-c-stats-grid {
  width: min(var(--deek-container, 1400px), 100%) !important;
  max-width: var(--deek-container, 1400px) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  background: rgba(244,239,231,.10) !important;
  padding: 0 !important;
}

.deek-c-stat-box,
.e-con.deek-c-stat-box,
.elementor-element.deek-c-stat-box {
  background: var(--deek-navy-deep, #07111f) !important;
  padding: 26px 28px !important;
  display: block !important;
}

/* Services. */
.deek-c-services {
  background: var(--deek-navy, #0d1b2e) !important;
  color: var(--deek-cream, #f4efe7) !important;
  padding: clamp(96px, 12vw, 160px) 0 !important;
}

.deek-c-services-inner {
  display: grid !important;
  grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr) !important;
  gap: clamp(52px, 7vw, 110px) !important;
  align-items: start !important;
}

.deek-c-services-intro {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.deek-c-services-intro .deek-atomic-heading.is-xl {
  margin: 24px 0 24px !important;
}

.deek-c-services-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: stretch !important;
}

.deek-c-service-widget,
.elementor-widget-deek_service_card.deek-c-service-widget {
  height: 100% !important;
  border-top: 1px solid rgba(244,239,231,.10) !important;
}

.deek-c-service-widget:nth-child(odd) {
  border-right: 1px solid rgba(244,239,231,.10) !important;
}

.deek-c-service-widget:nth-last-child(-n+2) {
  border-bottom: 1px solid rgba(244,239,231,.10) !important;
}

.deek-c-service-widget .deek-service-card {
  min-height: 222px !important;
  border: 0 !important;
  padding: clamp(30px, 4vw, 44px) !important;
}

/* Fleet mosaic. */
.deek-c-fleet {
  background: var(--deek-navy-deep, #07111f) !important;
  padding: clamp(96px, 12vw, 160px) 0 !important;
  overflow: hidden !important;
}

.deek-c-fleet-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important;
  gap: clamp(36px, 5vw, 64px) !important;
  align-items: stretch !important;
}

.deek-c-fleet-large,
.deek-c-fleet-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(26px, 4vw, 42px) !important;
}

.deek-c-fleet .deek-image-card {
  width: 100% !important;
}

.deek-c-fleet-large .deek-image-card.is-large {
  min-height: clamp(680px, 76vw, 980px) !important;
}

.deek-c-fleet-stack .deek-image-card.is-wide {
  min-height: clamp(315px, 36vw, 470px) !important;
}

/* About. */
.deek-c-about {
  background: var(--deek-gold, #c99a39) !important;
  color: var(--deek-navy-deep, #07111f) !important;
  padding: clamp(92px, 12vw, 156px) 0 !important;
}

.deek-c-about-inner {
  display: grid !important;
  grid-template-columns: minmax(220px, 5fr) minmax(0, 7fr) !important;
  gap: clamp(42px, 6vw, 84px) !important;
  align-items: start !important;
}

.deek-c-about-content .deek-atomic-text.is-story {
  font-family: var(--deek-font-display, 'Playfair Display', serif) !important;
  font-size: clamp(2rem, 4vw, 4.4rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
  color: var(--deek-navy-deep, #07111f) !important;
}

.deek-c-about-stats {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(28px, 5vw, 72px) !important;
  border-top: 1px solid rgba(7,17,31,.22) !important;
  margin-top: clamp(42px, 5vw, 62px) !important;
  padding-top: 34px !important;
}

/* Contact. */
.deek-c-contact {
  background: var(--deek-navy-deep, #07111f) !important;
  color: var(--deek-cream, #f4efe7) !important;
  padding: clamp(92px, 12vw, 150px) 0 !important;
}

.deek-c-contact-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 6fr) minmax(360px, 6fr) !important;
  gap: clamp(44px, 7vw, 104px) !important;
  align-items: start !important;
}

.deek-c-contact-copy .deek-atomic-heading.is-xl {
  margin-top: 24px !important;
}

.deek-c-contact-list {
  border-left: 1px solid rgba(201,154,57,.45) !important;
  padding-left: clamp(28px, 4vw, 48px) !important;
  gap: 30px !important;
}

/* Motion polish for generated container pages. */
.deek-motion-reveal,
.deek-c-section .deek-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s cubic-bezier(.16,1,.32,1), transform .7s cubic-bezier(.16,1,.32,1);
}

.deek-motion-reveal.deek-revealed,
.deek-c-section .deek-reveal.deek-revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .deek-motion-reveal,
  .deek-c-section .deek-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 1180px) {
  .deek-c-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(350px, .95fr) !important;
    gap: 44px !important;
  }
  .deek-c-hero-copy .deek-atomic-heading.is-hero {
    font-size: clamp(3rem, 8vw, 5rem) !important;
  }
}

@media (max-width: 1024px) {
  .deek-c-hero-grid,
  .deek-c-services-inner,
  .deek-c-fleet-inner,
  .deek-c-about-inner,
  .deek-c-contact-inner {
    grid-template-columns: 1fr !important;
  }
  .deek-c-hero-grid {
    min-height: auto !important;
    padding-top: 124px !important;
    padding-bottom: 56px !important;
  }
  .deek-c-hero-copy {
    order: 1 !important;
  }
  .deek-c-hero-media {
    order: 2 !important;
  }
  .deek-c-hero-image-widget {
    max-width: 780px !important;
  }
  .deek-c-hero-disc-widget {
    left: -280px !important;
    top: 190px !important;
    width: 620px !important;
    height: 620px !important;
  }
  .deek-c-hero-ring-widget {
    left: -240px !important;
    top: 230px !important;
    width: 560px !important;
    height: 560px !important;
  }
  .deek-c-hero-rail-widget {
    display: none !important;
  }
  .deek-c-stats-grid,
  .deek-c-services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .deek-c-about-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .deek-c-inner,
  .deek-c-hero-grid {
    width: min(100% - 40px, 1400px) !important;
  }
  .deek-c-hero {
    min-height: 0 !important;
  }
  .deek-c-hero-grid {
    padding-top: 104px !important;
    gap: 38px !important;
  }
  .deek-c-hero-copy .deek-atomic-heading.is-hero {
    font-size: clamp(3rem, 14vw, 4.7rem) !important;
  }
  .deek-c-hero-actions {
    align-items: flex-start !important;
    gap: 18px !important;
  }
  .deek-c-stats-grid,
  .deek-c-services-grid,
  .deek-c-about-stats {
    grid-template-columns: 1fr !important;
  }
  .deek-c-service-widget:nth-child(odd) {
    border-right: 0 !important;
  }
  .deek-c-service-widget:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }
  .deek-c-service-widget:last-child {
    border-bottom: 1px solid rgba(244,239,231,.10) !important;
  }
  .deek-c-fleet-large .deek-image-card.is-large,
  .deek-c-fleet-stack .deek-image-card.is-wide {
    min-height: 420px !important;
  }
  .deek-c-contact-list {
    padding-left: 22px !important;
  }
}

/* --------------------------------------------------------------------------
 * v0.0.2.9.0 Premium responsive container hardening
 * Targets generated Elementor container IDs/data-id directly so the layout
 * does not depend only on user-facing CSS classes.
 * -------------------------------------------------------------------------- */

:where(.elementor-element-decHero, [data-id="decHero"], .deek-c-hero) {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  min-height: 100svh !important;
  background: #07111f !important;
  color: #f4efe7 !important;
  display: block !important;
  padding: 0 !important;
}

:where(.elementor-element-decHeroShapes, [data-id="decHeroShapes"], .deek-c-hero-shapes) {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

:where(.elementor-element-decHeroDisc, [data-id="decHeroDisc"], .deek-c-hero-disc-widget) {
  position: absolute !important;
  left: -20vw !important;
  top: 8vh !important;
  z-index: 0 !important;
  width: min(85vh, 820px) !important;
  height: min(85vh, 820px) !important;
  max-width: none !important;
  pointer-events: none !important;
  margin: 0 !important;
  transform: none !important;
}

:where(.elementor-element-decHeroRing, [data-id="decHeroRing"], .deek-c-hero-ring-widget) {
  position: absolute !important;
  left: -18vw !important;
  top: 10vh !important;
  z-index: 0 !important;
  width: min(80vh, 780px) !important;
  height: min(80vh, 780px) !important;
  max-width: none !important;
  pointer-events: none !important;
  margin: 0 !important;
  transform: none !important;
}

:where(.elementor-element-decHeroDisc, [data-id="decHeroDisc"], .deek-c-hero-disc-widget) :is(.elementor-widget-container,.deek-root,.deek-element,.deek-gold-disc),
:where(.elementor-element-decHeroRing, [data-id="decHeroRing"], .deek-c-hero-ring-widget) :is(.elementor-widget-container,.deek-root,.deek-element,.deek-gold-disc) {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

:where(.elementor-element-decHeroRail, [data-id="decHeroRail"], .deek-c-hero-rail-widget) {
  position: absolute !important;
  left: clamp(14px, 2.1vw, 28px) !important;
  top: 50% !important;
  z-index: 5 !important;
  width: max-content !important;
  max-width: none !important;
  transform: translateY(-50%) rotate(-90deg) !important;
  transform-origin: center center !important;
  pointer-events: none !important;
}

:where(.elementor-element-decHeroRail, [data-id="decHeroRail"], .deek-c-hero-rail-widget) .deek-vertical-rail {
  transform: none !important;
  white-space: nowrap !important;
}

:where(.elementor-element-decHeroGrid, [data-id="decHeroGrid"], .deek-c-hero-grid) {
  position: relative !important;
  z-index: 2 !important;
  width: min(1400px, calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: 1400px !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
  padding: clamp(120px, 14vh, 168px) 0 clamp(66px, 8vh, 96px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(420px, 5fr) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(44px, 6vw, 96px) !important;
  box-sizing: border-box !important;
}

:where(.elementor-element-decHeroMedia, [data-id="decHeroMedia"], .deek-c-hero-media) {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
}

:where(.elementor-element-decHeroSuv, [data-id="decHeroSuv"], .deek-c-hero-image-widget) {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 !important;
}

:where(.elementor-element-decHeroSuv, [data-id="decHeroSuv"], .deek-c-hero-image-widget) img {
  width: 100% !important;
  max-width: 820px !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  filter: drop-shadow(0 40px 60px rgba(0,0,0,.58)) !important;
}

:where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}

:where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) .deek-atomic-heading.is-hero {
  font-size: clamp(3.4rem, 7vw, 6rem) !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;
  margin: 22px 0 26px !important;
  max-width: 560px !important;
}

:where(.elementor-element-decHeroText, [data-id="decHeroText"]) .deek-atomic-text {
  max-width: 460px !important;
  line-height: 1.68 !important;
  margin-bottom: 34px !important;
}

:where(.elementor-element-decHeroActions, [data-id="decHeroActions"], .deek-c-hero-actions) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 26px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

:where(.elementor-element-decStatsBar, [data-id="decStatsBar"], .deek-c-statsbar) {
  border-top: 1px solid rgba(244,239,231,.10) !important;
  background: #07111f !important;
}

:where(.elementor-element-decStatsGrid, [data-id="decStatsGrid"], .deek-c-stats-grid) {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: min(1400px, 100%) !important;
  margin-inline: auto !important;
  gap: 1px !important;
  background: rgba(244,239,231,.10) !important;
}

:where(.elementor-element-decStatBox0, .elementor-element-decStatBox1, .elementor-element-decStatBox2, .elementor-element-decStatBox3, [data-id^="decStatBox"], .deek-c-stat-box) {
  background: #07111f !important;
  padding: clamp(20px, 2.2vw, 28px) !important;
  min-width: 0 !important;
}

/* Full-width generated section hardening. */
:where(.elementor-element-decServices, .elementor-element-decFleet, .elementor-element-decAbout, .elementor-element-decContact, [data-id="decServices"], [data-id="decFleet"], [data-id="decAbout"], [data-id="decContact"]) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

:where(.elementor-element-decServicesInner, .elementor-element-decFleetInner, .elementor-element-decAboutInner, .elementor-element-decContactInner, [data-id="decServicesInner"], [data-id="decFleetInner"], [data-id="decAboutInner"], [data-id="decContactInner"], .deek-c-inner) {
  width: min(1400px, calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: 1400px !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

:where(.elementor-element-decServicesInner, [data-id="decServicesInner"], .deek-c-services-inner) {
  display: grid !important;
  grid-template-columns: minmax(260px, 4fr) minmax(0, 8fr) !important;
  gap: clamp(52px, 7vw, 110px) !important;
  align-items: start !important;
}

:where(.elementor-element-decServicesGrid, [data-id="decServicesGrid"], .deek-c-services-grid) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

:where(.elementor-element-decFleetInner, [data-id="decFleetInner"], .deek-c-fleet-inner) {
  display: grid !important;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important;
  gap: clamp(32px, 5vw, 64px) !important;
  align-items: stretch !important;
}

:where(.elementor-element-decFleetStack, [data-id="decFleetStack"], .deek-c-fleet-stack) {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(26px, 4vw, 42px) !important;
}

:where(.elementor-element-decAboutInner, [data-id="decAboutInner"], .deek-c-about-inner) {
  display: grid !important;
  grid-template-columns: minmax(220px, 5fr) minmax(0, 7fr) !important;
  gap: clamp(42px, 6vw, 84px) !important;
  align-items: start !important;
}

:where(.elementor-element-decContactInner, [data-id="decContactInner"], .deek-c-contact-inner) {
  display: grid !important;
  grid-template-columns: minmax(0, 6fr) minmax(360px, 6fr) !important;
  gap: clamp(44px, 7vw, 104px) !important;
  align-items: start !important;
}

@media (max-width: 1180px) {
  :where(.elementor-element-decHeroGrid, [data-id="decHeroGrid"], .deek-c-hero-grid) {
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr) !important;
    gap: clamp(34px, 5vw, 58px) !important;
  }
  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) .deek-atomic-heading.is-hero {
    font-size: clamp(3.2rem, 7.5vw, 5.2rem) !important;
  }
}

@media (max-width: 1024px) {
  :where(.elementor-element-decHeroGrid, [data-id="decHeroGrid"], .deek-c-hero-grid),
  :where(.elementor-element-decServicesInner, [data-id="decServicesInner"], .deek-c-services-inner),
  :where(.elementor-element-decFleetInner, [data-id="decFleetInner"], .deek-c-fleet-inner),
  :where(.elementor-element-decAboutInner, [data-id="decAboutInner"], .deek-c-about-inner),
  :where(.elementor-element-decContactInner, [data-id="decContactInner"], .deek-c-contact-inner) {
    grid-template-columns: 1fr !important;
  }
  :where(.elementor-element-decHeroGrid, [data-id="decHeroGrid"], .deek-c-hero-grid) {
    min-height: auto !important;
    padding-top: clamp(92px, 12vw, 126px) !important;
    padding-bottom: clamp(50px, 8vw, 72px) !important;
    align-items: start !important;
  }
  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) {
    order: 1 !important;
    max-width: 650px !important;
  }
  :where(.elementor-element-decHeroMedia, [data-id="decHeroMedia"], .deek-c-hero-media) {
    order: 2 !important;
    justify-content: flex-start !important;
  }
  :where(.elementor-element-decHeroSuv, [data-id="decHeroSuv"], .deek-c-hero-image-widget) {
    max-width: 760px !important;
  }
  :where(.elementor-element-decHeroDisc, [data-id="decHeroDisc"], .deek-c-hero-disc-widget) {
    width: 600px !important;
    height: 600px !important;
    left: -270px !important;
    top: 290px !important;
  }
  :where(.elementor-element-decHeroRing, [data-id="decHeroRing"], .deek-c-hero-ring-widget) {
    width: 540px !important;
    height: 540px !important;
    left: -220px !important;
    top: 336px !important;
  }
  :where(.elementor-element-decHeroRail, [data-id="decHeroRail"], .deek-c-hero-rail-widget) {
    display: none !important;
  }
  :where(.elementor-element-decStatsGrid, [data-id="decStatsGrid"], .deek-c-stats-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  :where(.elementor-element-decServicesGrid, [data-id="decServicesGrid"], .deek-c-services-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

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

  :where(.elementor-element-decHero, [data-id="decHero"], .deek-c-hero) {
    min-height: auto !important;
  }

  :where(.elementor-element-decHeroGrid, [data-id="decHeroGrid"], .deek-c-hero-grid) {
    width: calc(100% - (var(--deek-mobile-gutter) * 2)) !important;
    max-width: none !important;
    min-height: auto !important;
    padding-top: 86px !important;
    padding-bottom: 46px !important;
    gap: 34px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) {
    order: 1 !important;
    width: 100% !important;
  }

  :where(.elementor-element-decHeroMedia, [data-id="decHeroMedia"], .deek-c-hero-media) {
    order: 2 !important;
    width: 100% !important;
    justify-content: center !important;
    margin-top: 4px !important;
  }

  :where(.elementor-element-decHeroSuv, [data-id="decHeroSuv"], .deek-c-hero-image-widget) {
    width: min(100%, 430px) !important;
    max-width: 430px !important;
    margin-inline: auto !important;
  }

  :where(.elementor-element-decHeroSuv, [data-id="decHeroSuv"], .deek-c-hero-image-widget) img {
    width: 100% !important;
    max-width: 430px !important;
    filter: drop-shadow(0 28px 40px rgba(0,0,0,.48)) !important;
  }

  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) .deek-eyebrow {
    font-size: 9px !important;
    letter-spacing: .32em !important;
  }

  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) .deek-atomic-heading.is-hero {
    font-size: clamp(3.05rem, 16vw, 4.55rem) !important;
    line-height: .92 !important;
    margin: 18px 0 18px !important;
    max-width: 370px !important;
  }

  :where(.elementor-element-decHeroText, [data-id="decHeroText"]) .deek-atomic-text {
    font-size: 14px !important;
    line-height: 1.65 !important;
    max-width: 340px !important;
    margin-bottom: 24px !important;
  }

  :where(.elementor-element-decHeroActions, [data-id="decHeroActions"], .deek-c-hero-actions) {
    gap: 18px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  :where(.elementor-element-decHeroButton, [data-id="decHeroButton"]) .deek-button {
    min-height: 46px !important;
    padding: 14px 20px !important;
    font-size: 10px !important;
  }

  :where(.elementor-element-decHeroPhone, [data-id="decHeroPhone"]) .deek-button.is-plain {
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  :where(.elementor-element-decHeroDisc, [data-id="decHeroDisc"], .deek-c-hero-disc-widget) {
    width: 390px !important;
    height: 390px !important;
    left: -210px !important;
    top: 285px !important;
  }

  :where(.elementor-element-decHeroRing, [data-id="decHeroRing"], .deek-c-hero-ring-widget) {
    width: 350px !important;
    height: 350px !important;
    left: -150px !important;
    top: 332px !important;
  }

  :where(.elementor-element-decStatsGrid, [data-id="decStatsGrid"], .deek-c-stats-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  :where(.elementor-element-decStatBox0, .elementor-element-decStatBox1, .elementor-element-decStatBox2, .elementor-element-decStatBox3, [data-id^="decStatBox"], .deek-c-stat-box) {
    padding: 20px !important;
  }

  :where(.elementor-element-decServices, [data-id="decServices"], .deek-c-services),
  :where(.elementor-element-decFleet, [data-id="decFleet"], .deek-c-fleet),
  :where(.elementor-element-decAbout, [data-id="decAbout"], .deek-c-about),
  :where(.elementor-element-decContact, [data-id="decContact"], .deek-c-contact) {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
  }

  :where(.elementor-element-decServicesInner, .elementor-element-decFleetInner, .elementor-element-decAboutInner, .elementor-element-decContactInner, [data-id="decServicesInner"], [data-id="decFleetInner"], [data-id="decAboutInner"], [data-id="decContactInner"], .deek-c-inner) {
    width: calc(100% - 40px) !important;
  }

  :where(.elementor-element-decServicesInner, [data-id="decServicesInner"], .deek-c-services-inner),
  :where(.elementor-element-decFleetInner, [data-id="decFleetInner"], .deek-c-fleet-inner),
  :where(.elementor-element-decAboutInner, [data-id="decAboutInner"], .deek-c-about-inner),
  :where(.elementor-element-decContactInner, [data-id="decContactInner"], .deek-c-contact-inner) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }

  :where(.elementor-element-decServicesGrid, [data-id="decServicesGrid"], .deek-c-services-grid) {
    grid-template-columns: 1fr !important;
  }

  :where(.elementor-widget-deek_service_card, .deek-c-service-widget) .deek-service-card {
    min-height: 0 !important;
    padding: 30px 0 !important;
  }

  :where(.elementor-widget-deek_image_card, .deek-c-fleet .deek-image-card) .deek-image-card {
    min-height: 360px !important;
  }

  :where(.elementor-element-decAboutContent, [data-id="decAboutContent"], .deek-c-about-content) .deek-atomic-text.is-story {
    font-size: clamp(2rem, 11vw, 3rem) !important;
    line-height: .98 !important;
  }

  :where(.elementor-element-decAboutStats, [data-id="decAboutStats"], .deek-c-about-stats) {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 18px !important;
    margin-top: 34px !important;
    padding-top: 24px !important;
  }

  :where(.elementor-element-decContactList, [data-id="decContactList"], .deek-c-contact-list) {
    border-left: 1px solid rgba(201,154,57,.45) !important;
    padding-left: 20px !important;
    gap: 24px !important;
  }
}

@media (max-width: 420px) {
  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) .deek-atomic-heading.is-hero {
    font-size: clamp(2.75rem, 15vw, 3.55rem) !important;
  }
  :where(.elementor-element-decHeroDisc, [data-id="decHeroDisc"], .deek-c-hero-disc-widget) {
    width: 330px !important;
    height: 330px !important;
    left: -190px !important;
    top: 300px !important;
  }
  :where(.elementor-element-decHeroRing, [data-id="decHeroRing"], .deek-c-hero-ring-widget) {
    width: 300px !important;
    height: 300px !important;
    left: -140px !important;
    top: 338px !important;
  }
  :where(.elementor-element-decAboutStats, [data-id="decAboutStats"], .deek-c-about-stats) {
    grid-template-columns: 1fr !important;
  }
}

/*
 * v0.0.2.9.0 Final enterprise UX hardening
 * Sticky anchors, true vertical rail, full-card service hover, scroll reveal,
 * Fleet/Method/Trust sections, and stronger responsive spacing.
 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

/* Sticky DE header. This also helps when used as an Elementor Theme Builder header. */
.deek-header.is-sticky,
.elementor-widget-deek_brand_header .deek-header.is-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  width: 100% !important;
  backdrop-filter: blur(18px) saturate(130%);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  background: color-mix(in srgb, var(--deek-navy-deep, #07111f) 82%, transparent) !important;
  border-bottom: 1px solid rgba(244,239,231,.10) !important;
}

.deek-header.is-sticky.is-absolute { position: sticky !important; }
.deek-header .deek-nav a { scroll-margin-top: 110px; }

/* User requested the hero rail to be vertical, not a giant rotated line. */
.deek-hero__side-label,
.deek-c-hero-rail-widget,
.elementor-widget-deek_vertical_rail.deek-c-hero-rail-widget {
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  transform: translateY(-50%) !important;
  left: clamp(14px, 1.9vw, 26px) !important;
  top: 50% !important;
  width: auto !important;
  height: auto !important;
  white-space: nowrap !important;
}

.deek-hero__side-label,
.deek-vertical-rail.is-static,
.deek-c-hero-rail-widget .deek-vertical-rail.is-static,
.deek-vertical-rail.is-vertical {
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  transform: none !important;
  white-space: nowrap !important;
  letter-spacing: .34em !important;
}

.deek-vertical-rail.is-rotated {
  writing-mode: horizontal-tb !important;
  transform: rotate(-90deg) !important;
}

/* Full-card service hover. No isolated hover block on numbers/arrows. */
.deek-service-card,
.deek-c-service-widget .deek-service-card,
.elementor-widget-deek_service_card .deek-service-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: transparent !important;
}

.deek-service-card::before,
.deek-c-service-widget .deek-service-card::before,
.elementor-widget-deek_service_card .deek-service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: var(--deek-navy-deep, #07111f);
  transition: opacity .28s var(--deek-ease, cubic-bezier(.16,1,.3,1));
}

.deek-service-card:hover::before,
.deek-c-service-widget .deek-service-card:hover::before,
.elementor-widget-deek_service_card .deek-service-card:hover::before {
  opacity: 1;
}

.deek-service-card__top,
.deek-service-card__number,
.deek-service-card__arrow,
.deek-service-card__top:hover,
.deek-service-card__number:hover,
.deek-service-card__arrow:hover {
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Locked homepage scroll reveal targets. */
.deek-homepage-body .deek-hero__media,
.deek-homepage-body .deek-hero__content,
.deek-homepage-body .deek-service-card,
.deek-homepage-body .deek-image-card,
.deek-homepage-body .deek-story,
.deek-homepage-body .deek-contact-list,
.deek-reveal-section .deek-heading,
.deek-reveal-section .deek-heading-text,
.deek-reveal-section .deek-split-intro,
.deek-reveal-section .deek-fleet-class-card,
.deek-reveal-section .deek-method-step,
.deek-reveal-section .deek-trust-badge,
.deek-reveal-section .deek-trusted-strip {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .72s var(--deek-ease, cubic-bezier(.16,1,.3,1)), transform .72s var(--deek-ease, cubic-bezier(.16,1,.3,1));
  will-change: opacity, transform;
}

.deek-homepage-body .deek-revealed,
.deek-reveal-section.deek-revealed,
.deek-reveal-section .deek-revealed,
.deek-homepage-body .deek-hero__media.deek-revealed,
.deek-homepage-body .deek-hero__content.deek-revealed,
.deek-homepage-body .deek-service-card.deek-revealed,
.deek-homepage-body .deek-image-card.deek-revealed,
.deek-homepage-body .deek-story.deek-revealed,
.deek-homepage-body .deek-contact-list.deek-revealed {
  opacity: 1;
  transform: translateY(0);
}

/* Bottom blur trail while scrolling. JS toggles opacity. */
.deek-bottom-scroll-blur {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: clamp(74px, 11vh, 148px);
  pointer-events: none;
  z-index: 900;
  opacity: 0;
  transition: opacity .28s ease;
  background: linear-gradient(to top, rgba(7,17,31,.78), rgba(7,17,31,.28), transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
body.deek-is-scrolling .deek-bottom-scroll-blur { opacity: 1; }
.elementor-editor-active .deek-bottom-scroll-blur { display: none !important; }

/* Shared split-intro system used by Fleet / Method / Trust. */
.deek-split-intro,
.deek-c-split-intro-inner {
  display: grid !important;
  grid-template-columns: minmax(260px, 5fr) minmax(0, 7fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  align-items: start !important;
  width: 100% !important;
}

.deek-c-split-intro-copy,
.deek-c-split-intro-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.deek-c-split-intro-text {
  justify-content: flex-end !important;
  padding-top: clamp(36px, 5vw, 58px) !important;
}

.deek-heading.is-lg,
.deek-c-split-intro-copy .deek-atomic-heading.is-lg {
  margin: 24px 0 0 !important;
  font-size: clamp(42px, 4.4vw, 72px) !important;
  line-height: .95 !important;
  letter-spacing: -.055em !important;
}

.deek-heading.is-lg em,
.deek-c-split-intro-copy .deek-atomic-heading.is-lg em { color: var(--deek-gold, #c99a39) !important; }

/* Fleet classes section. */
.deek-fleet-classes,
.deek-c-fleet-classes {
  background: var(--deek-navy, #0d1b2e) !important;
  color: var(--deek-cream, #f4efe7) !important;
  padding: clamp(96px, 12vw, 160px) 0 !important;
}

.deek-fleet-classes-grid,
.deek-c-fleet-classes-grid {
  width: min(var(--deek-container, 1400px), calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: var(--deek-container, 1400px) !important;
  margin: clamp(54px, 7vw, 92px) auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2vw, 24px) !important;
  align-items: stretch !important;
}

.deek-fleet-class-card {
  border: 1px solid rgba(244,239,231,.10);
  background: var(--deek-navy-deep, #07111f);
  padding: clamp(26px, 3vw, 34px);
  min-height: 292px;
  transition: border-color .28s var(--deek-ease), transform .28s var(--deek-ease), background-color .28s var(--deek-ease);
}
.deek-fleet-class-card:hover { border-color: rgba(201,154,57,.42); transform: translateY(-4px); background: color-mix(in srgb, var(--deek-navy-deep) 82%, var(--deek-gold) 18%); }
.deek-fleet-class-card__icon { width: 64px; height: 40px; color: var(--deek-gold, #c99a39); }
.deek-fleet-class-card__icon svg { width: 100%; height: 100%; display: block; }
.deek-fleet-class-card h3 { margin: 32px 0 0; font-family: var(--deek-font-display); font-size: clamp(22px, 2vw, 28px); line-height: 1; color: var(--deek-cream); }
.deek-fleet-class-card p { margin: 12px 0 0; font-size: 14px; line-height: 1.72; color: var(--deek-muted); }
.deek-fleet-class-card__specs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.deek-fleet-class-card__spec { border: 1px solid rgba(244,239,231,.10); padding: 6px 8px; font-family: var(--deek-font-mono); font-size: 10px; line-height: 1; letter-spacing: .12em; text-transform: uppercase; color: rgba(244,239,231,.56); }

/* Method section. */
.deek-method,
.deek-c-method {
  background: var(--deek-navy-deep, #07111f) !important;
  color: var(--deek-cream, #f4efe7) !important;
  padding: clamp(96px, 12vw, 160px) 0 !important;
}
.deek-method-grid,
.deek-c-method-grid {
  width: min(var(--deek-container, 1400px), calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: var(--deek-container, 1400px) !important;
  margin: clamp(54px, 7vw, 92px) auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  background: rgba(244,239,231,.10) !important;
}
.deek-method-step { background: var(--deek-navy-deep, #07111f); padding: clamp(32px, 4vw, 46px); min-height: 260px; }
.deek-method-step__idx { font-family: var(--deek-font-mono); color: var(--deek-gold); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
.deek-method-step h3 { margin: 34px 0 0; font-family: var(--deek-font-display); font-size: clamp(26px, 2.4vw, 36px); line-height: 1; color: var(--deek-cream); }
.deek-method-step p { margin: 14px 0 0; font-size: 14px; line-height: 1.76; color: var(--deek-muted); }

/* Trust section. */
.deek-trust,
.deek-c-trust {
  background: var(--deek-navy, #0d1b2e) !important;
  color: var(--deek-cream, #f4efe7) !important;
  padding: clamp(96px, 12vw, 160px) 0 !important;
}
.deek-trust-grid,
.deek-c-trust-grid {
  width: min(var(--deek-container, 1400px), calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: var(--deek-container, 1400px) !important;
  margin: clamp(54px, 7vw, 92px) auto 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(24px, 4vw, 54px) !important;
}
.deek-trust-badge { display: flex; flex-direction: column; gap: 16px; }
.deek-trust-badge__icon { width: 44px; height: 44px; color: var(--deek-gold); }
.deek-trust-badge__icon svg { width: 100%; height: 100%; }
.deek-trust-badge h3 { margin: 0; font-family: var(--deek-font-display); font-size: clamp(21px, 1.8vw, 28px); line-height: 1.05; color: var(--deek-cream); }
.deek-trust-badge p { margin: 0; color: var(--deek-muted); font-size: 14px; line-height: 1.74; }
.deek-trusted-strip,
.deek-c-trusted-strip {
  width: min(var(--deek-container, 1400px), calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: var(--deek-container, 1400px) !important;
  margin: clamp(54px, 7vw, 92px) auto 0 !important;
  padding-top: 34px !important;
  border-top: 1px solid rgba(244,239,231,.10) !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
}
.deek-trusted-strip span,
.deek-trusted-chip .deek-eyebrow,
.deek-trusted-label .deek-eyebrow {
  display: inline-flex !important;
  border: 1px solid rgba(244,239,231,.10) !important;
  padding: 9px 12px !important;
  font-family: var(--deek-font-mono) !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(244,239,231,.62) !important;
  line-height: 1 !important;
}
.deek-trusted-strip > span:first-child,
.deek-trusted-label .deek-eyebrow { border-color: transparent !important; padding-left: 0 !important; color: rgba(244,239,231,.42) !important; }

/* Container generated inner widths for new sections. */
.deek-c-fleet-classes .deek-c-inner,
.deek-c-method .deek-c-inner,
.deek-c-trust .deek-c-inner,
.deek-c-split-intro-inner {
  width: min(var(--deek-container, 1400px), calc(100% - clamp(40px, 7vw, 96px))) !important;
  max-width: var(--deek-container, 1400px) !important;
  margin: 0 auto !important;
}

@media (max-width: 1180px) {
  .deek-fleet-classes-grid,
  .deek-c-fleet-classes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .deek-trust-grid,
  .deek-c-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 1024px) {
  .deek-split-intro,
  .deek-c-split-intro-inner { grid-template-columns: 1fr !important; gap: 22px !important; }
  .deek-c-split-intro-text { padding-top: 0 !important; }
  .deek-method-grid,
  .deek-c-method-grid { grid-template-columns: 1fr !important; }
  .deek-hero__side-label,
  .deek-c-hero-rail-widget { display: none !important; }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 78px; }
  .deek-header.is-sticky .deek-header__inner { padding-top: 14px; padding-bottom: 14px; }
  .deek-header .deek-nav { display: none !important; }

  .deek-fleet-classes,
  .deek-c-fleet-classes,
  .deek-method,
  .deek-c-method,
  .deek-trust,
  .deek-c-trust { padding-top: 76px !important; padding-bottom: 76px !important; }

  .deek-fleet-classes-grid,
  .deek-c-fleet-classes-grid,
  .deek-trust-grid,
  .deek-c-trust-grid { grid-template-columns: 1fr !important; width: calc(100% - 40px) !important; margin-top: 38px !important; gap: 18px !important; }

  .deek-method-grid,
  .deek-c-method-grid { width: calc(100% - 40px) !important; margin-top: 38px !important; }
  .deek-method-step { min-height: 0 !important; padding: 30px 22px !important; }
  .deek-fleet-class-card { min-height: 0 !important; padding: 28px 22px !important; }
  .deek-trust-badge { gap: 12px; padding: 2px 0; }

  .deek-c-split-intro-inner,
  .deek-split-intro { width: calc(100% - 40px) !important; }
  .deek-heading.is-lg,
  .deek-c-split-intro-copy .deek-atomic-heading.is-lg { font-size: clamp(2.65rem, 12vw, 3.45rem) !important; }
  .deek-fleet-class-card h3,
  .deek-method-step h3,
  .deek-trust-badge h3 { font-size: clamp(1.45rem, 6vw, 1.85rem) !important; }
  .deek-trusted-strip,
  .deek-c-trusted-strip { width: calc(100% - 40px) !important; margin-top: 38px !important; gap: 8px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .deek-homepage-body .deek-hero__media,
  .deek-homepage-body .deek-hero__content,
  .deek-homepage-body .deek-service-card,
  .deek-homepage-body .deek-image-card,
  .deek-homepage-body .deek-story,
  .deek-homepage-body .deek-contact-list,
  .deek-reveal,
  .deek-motion-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .deek-bottom-scroll-blur { display: none !important; }
}

/* --------------------------------------------------------------------------
 * v0.0.3.0 Native responsive cleanup
 * Goal: make generated Elementor Containers feel native, not patched.
 * -------------------------------------------------------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }

/* Sticky header + smooth anchor compatibility for UAE / DE headers. */
.deek-header.is-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: rgba(7, 17, 31, .82) !important;
  border-bottom: 1px solid rgba(244,239,231,.10) !important;
  backdrop-filter: blur(16px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.1) !important;
  transition: background-color .32s var(--deek-ease), box-shadow .32s var(--deek-ease), border-color .32s var(--deek-ease);
}
body.deek-has-scrolled .deek-header.is-sticky {
  background: rgba(7, 17, 31, .94) !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.22) !important;
}
.deek-header.is-sticky .deek-header__inner { min-height: 78px !important; }

/* Native Elementor container hygiene. */
.deek-c-section,
.deek-c-section .elementor-widget,
.deek-c-section .elementor-widget-container,
.deek-c-section .deek-root,
.deek-c-section .deek-element {
  box-sizing: border-box !important;
}
.deek-c-section .elementor-widget { margin: 0 !important; }
.deek-c-section .deek-root { background: transparent; }

/* Hero vertical rail: true vertical text, not rotated horizontal. */
.deek-c-hero-rail-widget,
.elementor-widget-deek_vertical_rail.deek-c-hero-rail-widget {
  left: clamp(18px, 2vw, 32px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  height: auto !important;
  z-index: 6 !important;
}
.deek-c-hero-rail-widget .deek-vertical-rail,
.deek-c-hero-rail-widget .deek-vertical-rail.is-static,
.deek-vertical-rail.is-vertical {
  writing-mode: vertical-rl !important;
  text-orientation: mixed !important;
  transform: none !important;
  white-space: nowrap !important;
  letter-spacing: .46em !important;
  line-height: 1 !important;
}

/* Hero: better premium balance with stable gravity tension. */
.deek-c-hero,
.e-con.deek-c-hero,
.elementor-element.deek-c-hero {
  min-height: min(100svh, 960px) !important;
  overflow: hidden !important;
}
.deek-c-hero-grid,
.e-con.deek-c-hero-grid,
.elementor-element.deek-c-hero-grid {
  grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr) !important;
  align-items: center !important;
  gap: clamp(54px, 7vw, 108px) !important;
  min-height: min(100svh, 960px) !important;
  padding-top: clamp(120px, 14vh, 172px) !important;
  padding-bottom: clamp(70px, 8vh, 104px) !important;
}
.deek-c-hero-disc-widget,
.elementor-widget-deek_gold_disc.deek-c-hero-disc-widget {
  left: max(-22vw, -340px) !important;
  top: clamp(70px, 8vh, 110px) !important;
  width: clamp(540px, 85vh, 850px) !important;
  height: clamp(540px, 85vh, 850px) !important;
}
.deek-c-hero-ring-widget,
.elementor-widget-deek_gold_disc.deek-c-hero-ring-widget {
  left: max(-20vw, -310px) !important;
  top: clamp(96px, 10vh, 135px) !important;
  width: clamp(500px, 80vh, 800px) !important;
  height: clamp(500px, 80vh, 800px) !important;
}
.deek-c-hero-image-widget img {
  filter: drop-shadow(0 42px 64px rgba(0,0,0,.56)) !important;
}
.deek-c-hero-copy .deek-atomic-heading.is-hero {
  font-size: clamp(3.4rem, 7vw, 6.65rem) !important;
  line-height: .92 !important;
  letter-spacing: -.058em !important;
  margin: 18px 0 26px !important;
}
.deek-c-hero-copy .deek-atomic-text {
  font-size: clamp(.95rem, 1vw, 1rem) !important;
  line-height: 1.72 !important;
  max-width: 480px !important;
}

/* Services hover: background belongs to the whole card, not number/arrow fragments. */
.deek-c-service-widget,
.elementor-widget-deek_service_card.deek-c-service-widget,
.deek-c-service-widget > .elementor-widget-container,
.deek-c-service-widget .deek-root,
.deek-c-service-widget .deek-element {
  height: 100% !important;
  min-height: 100% !important;
  display: block !important;
  background: transparent !important;
}
.deek-c-service-widget .deek-service-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 244px !important;
  background: transparent !important;
  outline: 0 solid transparent;
}
.deek-c-service-widget:hover .deek-service-card,
.deek-c-service-widget .deek-service-card:hover {
  background: var(--deek-navy-deep, #07111f) !important;
  border-color: rgba(201,154,57,.42) !important;
  transform: translateY(-4px) !important;
  outline: 1px solid rgba(201,154,57,.18);
  box-shadow: 0 24px 60px rgba(0,0,0,.12);
}
.deek-c-service-widget .deek-service-card__top,
.deek-c-service-widget .deek-service-card__number,
.deek-c-service-widget .deek-service-card__arrow {
  background: transparent !important;
}

/* Clean split intro system for Fleet / Method / Trust, based on the supplied Lovable screenshot. */
.deek-c-fleet-classes,
.deek-c-method,
.deek-c-trust {
  position: relative !important;
  overflow: clip !important;
}
.deek-c-fleet-classes { background: var(--deek-navy, #0d1b2e) !important; padding: clamp(116px, 12vw, 176px) 0 clamp(110px, 11vw, 164px) !important; }
.deek-c-method { background: var(--deek-navy-deep, #07111f) !important; padding: clamp(116px, 12vw, 176px) 0 clamp(110px, 11vw, 164px) !important; }
.deek-c-trust { background: var(--deek-navy, #0d1b2e) !important; padding: clamp(116px, 12vw, 176px) 0 clamp(110px, 11vw, 164px) !important; }
.deek-c-fleet-classes .deek-c-inner,
.deek-c-method .deek-c-inner,
.deek-c-trust .deek-c-inner,
.deek-c-split-intro-inner {
  width: min(1120px, calc(100% - clamp(40px, 9vw, 132px))) !important;
  max-width: 1120px !important;
}
.deek-c-split-intro-inner {
  display: grid !important;
  grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr) !important;
  gap: clamp(48px, 10vw, 180px) !important;
  align-items: start !important;
}
.deek-c-split-intro-text {
  justify-content: start !important;
  padding-top: clamp(34px, 4vw, 50px) !important;
}
.deek-c-split-intro-copy .deek-atomic-heading.is-lg {
  font-size: clamp(42px, 4.45vw, 66px) !important;
  max-width: 480px !important;
  line-height: .97 !important;
}
.deek-c-split-intro-text .deek-atomic-text {
  max-width: 560px !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: rgba(244,239,231,.63) !important;
}

/* Fleet class cards: compact, even, readable. */
.deek-c-fleet-classes-grid {
  width: min(1120px, calc(100% - clamp(40px, 9vw, 132px))) !important;
  max-width: 1120px !important;
  margin-top: clamp(56px, 6vw, 72px) !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 22px !important;
}
.deek-fleet-class-card {
  min-height: 258px !important;
  padding: clamp(28px, 2.6vw, 34px) clamp(22px, 2.2vw, 28px) !important;
  background: rgba(7,17,31,.78) !important;
  border: 1px solid rgba(244,239,231,.10) !important;
  transform: translateZ(0);
}
.deek-fleet-class-card:hover {
  background: rgba(7,17,31,.96) !important;
  border-color: rgba(201,154,57,.48) !important;
  transform: translateY(-5px) !important;
}
.deek-fleet-class-card__icon { width: 54px !important; height: 34px !important; }
.deek-fleet-class-card h3 { margin-top: 30px !important; font-size: clamp(21px, 1.6vw, 25px) !important; }
.deek-fleet-class-card p { font-size: 13.5px !important; line-height: 1.74 !important; }

/* Method: three open columns with separators, not bulky cards. */
.deek-c-method-grid {
  width: min(1120px, calc(100% - clamp(40px, 9vw, 132px))) !important;
  max-width: 1120px !important;
  margin-top: clamp(64px, 7vw, 88px) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  background: transparent !important;
}
.deek-method-step {
  background: transparent !important;
  min-height: 190px !important;
  padding: clamp(16px, 2vw, 24px) clamp(28px, 4vw, 46px) clamp(16px, 2vw, 24px) 0 !important;
  border-right: 1px solid rgba(244,239,231,.10) !important;
}
.deek-method-step:last-child { border-right: 0 !important; }
.deek-method-step h3 { margin-top: 42px !important; font-size: clamp(25px, 2vw, 34px) !important; }
.deek-method-step p { max-width: 320px !important; font-size: 13.8px !important; }

/* Trust: clean four-column badge row and chip strip. */
.deek-c-trust-grid {
  width: min(1120px, calc(100% - clamp(40px, 9vw, 132px))) !important;
  max-width: 1120px !important;
  margin-top: clamp(56px, 6vw, 76px) !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(34px, 5vw, 64px) !important;
}
.deek-trust-badge { gap: 18px !important; min-width: 0 !important; }
.deek-trust-badge__icon { width: 42px !important; height: 42px !important; }
.deek-trust-badge h3 { font-size: clamp(20px, 1.8vw, 25px) !important; }
.deek-trust-badge p { font-size: 13.8px !important; max-width: 280px !important; }
.deek-c-trusted-strip {
  width: min(1120px, calc(100% - clamp(40px, 9vw, 132px))) !important;
  max-width: 1120px !important;
  margin-top: clamp(58px, 6vw, 76px) !important;
  padding-top: 30px !important;
  gap: 10px !important;
}
.deek-c-trusted-strip .elementor-widget { width: auto !important; max-width: max-content !important; }

/* Reveal + scroll blur synchronized. */
.deek-reveal,
.deek-motion-reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  transition: opacity .78s var(--deek-ease), transform .78s var(--deek-ease), filter .78s var(--deek-ease);
  will-change: opacity, transform;
}
.deek-reveal.deek-revealed,
.deek-motion-reveal.deek-revealed,
.deek-revealed {
  opacity: 1 !important;
  transform: translate3d(0,0,0) !important;
  filter: none !important;
}
.deek-bottom-scroll-blur {
  height: clamp(92px, 13vh, 170px) !important;
  background: linear-gradient(to top, rgba(7,17,31,.82) 0%, rgba(7,17,31,.44) 38%, rgba(7,17,31,.08) 74%, transparent 100%) !important;
  backdrop-filter: blur(12px) saturate(1.06) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.06) !important;
  transition: opacity .34s var(--deek-ease) !important;
}
body.deek-is-scrolling .deek-bottom-scroll-blur,
body.deek-reveal-active .deek-bottom-scroll-blur { opacity: 1 !important; }

/* Desktop to tablet transitions. */
@media (max-width: 1180px) {
  .deek-c-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr) !important; gap: 48px !important; }
  .deek-c-fleet-classes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .deek-c-trust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 1024px) {
  .deek-c-hero-grid {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding-top: 120px !important;
    padding-bottom: 58px !important;
    gap: 36px !important;
  }
  .deek-c-hero-copy { order: 1 !important; max-width: 620px !important; }
  .deek-c-hero-media { order: 2 !important; justify-content: center !important; }
  .deek-c-hero-image-widget { max-width: min(680px, 92vw) !important; }
  .deek-c-hero-disc-widget { width: 520px !important; height: 520px !important; left: -190px !important; top: 150px !important; }
  .deek-c-hero-ring-widget { width: 480px !important; height: 480px !important; left: -160px !important; top: 230px !important; }
  .deek-c-hero-rail-widget { display: none !important; }
  .deek-c-split-intro-inner { grid-template-columns: 1fr !important; gap: 22px !important; }
  .deek-c-split-intro-text { padding-top: 0 !important; }
}

@media (max-width: 767px) {
  html { scroll-padding-top: 78px; }
  .deek-container-editable-page,
  .deek-enterprise-fullwidth { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }

  .deek-c-hero {
    min-height: auto !important;
  }
  .deek-c-hero-grid {
    width: calc(100% - 38px) !important;
    min-height: auto !important;
    padding: 100px 0 46px !important;
    gap: 30px !important;
  }
  .deek-c-hero-copy .deek-atomic-heading.is-hero {
    font-size: clamp(3.35rem, 17vw, 4.55rem) !important;
    line-height: .92 !important;
    margin: 14px 0 22px !important;
  }
  .deek-c-hero-copy .deek-atomic-text {
    font-size: .94rem !important;
    line-height: 1.72 !important;
    max-width: 32rem !important;
    margin-bottom: 28px !important;
  }
  .deek-c-hero-actions { gap: 16px !important; }
  .deek-c-hero-actions .deek-button { padding: 14px 18px !important; font-size: 10px !important; letter-spacing: .18em !important; }
  .deek-c-phone-link .deek-button.is-plain { font-size: 10px !important; }
  .deek-c-hero-image-widget { max-width: min(440px, 92vw) !important; }
  .deek-c-hero-image-widget img { max-width: 100% !important; }
  .deek-c-hero-disc-widget { width: 390px !important; height: 390px !important; left: -145px !important; top: 240px !important; }
  .deek-c-hero-ring-widget { width: 350px !important; height: 350px !important; left: -120px !important; top: 315px !important; }

  .deek-c-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .deek-c-stat-box { padding: 22px 20px !important; }

  .deek-c-services { padding: 78px 0 !important; }
  .deek-c-services-inner,
  .deek-c-fleet-inner,
  .deek-c-about-inner,
  .deek-c-contact-inner {
    width: calc(100% - 38px) !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  .deek-c-services-grid { grid-template-columns: 1fr !important; }
  .deek-c-service-widget { border-right: 0 !important; border-bottom: 1px solid rgba(244,239,231,.10) !important; }
  .deek-c-service-widget .deek-service-card { min-height: 190px !important; padding: 28px 22px !important; }

  .deek-c-fleet { padding: 76px 0 !important; }
  .deek-c-fleet-inner { display: grid !important; grid-template-columns: 1fr !important; }
  .deek-c-fleet-large,
  .deek-c-fleet-stack { gap: 20px !important; }
  .deek-image-card { min-height: 360px !important; }
  .deek-image-card h3 { font-size: clamp(2.15rem, 10vw, 3.1rem) !important; }

  .deek-c-about { padding: 68px 0 !important; }
  .deek-c-about-content .deek-atomic-text.is-story,
  .deek-atomic-text.is-story { font-size: clamp(2.35rem, 11vw, 3.25rem) !important; line-height: 1.05 !important; }
  .deek-c-about-stats { grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important; }

  .deek-c-fleet-classes,
  .deek-c-method,
  .deek-c-trust { padding: 78px 0 !important; }
  .deek-c-fleet-classes .deek-c-inner,
  .deek-c-method .deek-c-inner,
  .deek-c-trust .deek-c-inner,
  .deek-c-split-intro-inner,
  .deek-c-fleet-classes-grid,
  .deek-c-method-grid,
  .deek-c-trust-grid,
  .deek-c-trusted-strip { width: calc(100% - 38px) !important; max-width: none !important; }
  .deek-c-split-intro-copy .deek-atomic-heading.is-lg { font-size: clamp(2.75rem, 12vw, 3.65rem) !important; line-height: .96 !important; }
  .deek-c-fleet-classes-grid { grid-template-columns: 1fr !important; gap: 16px !important; margin-top: 38px !important; }
  .deek-fleet-class-card { min-height: 0 !important; padding: 28px 22px !important; }
  .deek-c-method-grid { grid-template-columns: 1fr !important; gap: 0 !important; margin-top: 38px !important; }
  .deek-method-step { border-right: 0 !important; border-bottom: 1px solid rgba(244,239,231,.10) !important; padding: 30px 0 !important; min-height: 0 !important; }
  .deek-method-step:last-child { border-bottom: 0 !important; }
  .deek-method-step h3 { margin-top: 26px !important; }
  .deek-c-trust-grid { grid-template-columns: 1fr !important; gap: 30px !important; margin-top: 38px !important; }
  .deek-trust-badge { max-width: 34rem; }
  .deek-c-trusted-strip { margin-top: 42px !important; padding-top: 28px !important; gap: 8px !important; }
  .deek-trusted-chip .deek-eyebrow,
  .deek-trusted-label .deek-eyebrow { font-size: 9px !important; letter-spacing: .13em !important; padding: 8px 9px !important; }

  .deek-c-contact { padding: 76px 0 !important; }
  .deek-c-contact-list { border-left: 1px solid rgba(201,154,57,.42) !important; padding-left: 22px !important; }
}


/* --------------------------------------------------------------------------
 * v0.0.3.1 Final Der Everest implementation polish.
 * -------------------------------------------------------------------------- */
.deek-brand__image {
  display: block !important;
  width: clamp(150px, 15vw, 235px) !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
.deek-header .deek-brand__image,
.deek-header-element .deek-brand__image {
  max-height: 56px !important;
}
.deek-header.is-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 998 !important;
  backdrop-filter: blur(16px) saturate(1.08) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.08) !important;
  transition: background-color .32s var(--deek-ease), border-color .32s var(--deek-ease), transform .32s var(--deek-ease) !important;
}
body.deek-has-scrolled .deek-header.is-sticky {
  background: rgba(7, 17, 31, .92) !important;
  border-bottom: 1px solid rgba(244,239,231,.10) !important;
}
.deek-service-card,
.elementor-widget-deek_service_card,
.elementor-widget-deek_service_card > .elementor-widget-container,
.deek-c-service-widget,
.deek-c-service-widget > .elementor-widget-container {
  height: 100% !important;
}
.deek-service-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
  transition: background-color .32s var(--deek-ease), border-color .32s var(--deek-ease), transform .32s var(--deek-ease) !important;
}
.elementor-widget-deek_service_card:hover .deek-service-card,
.deek-c-service-widget:hover .deek-service-card,
.deek-service-card:hover {
  background: rgba(7,17,31,.96) !important;
  border-color: rgba(201,154,57,.38) !important;
  transform: translateY(-4px) !important;
}
.deek-c-contact-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 30px !important;
}
.deek-c-contact-actions .elementor-widget {
  width: auto !important;
  max-width: max-content !important;
}
@media (max-width: 767px) {
  .deek-brand__image { width: min(180px, 58vw) !important; }
  .deek-header__inner { min-height: 74px !important; padding-inline: 18px !important; }
  .deek-nav { display: none !important; }
  .deek-header__cta { padding: 12px 14px !important; font-size: 9px !important; letter-spacing: .16em !important; }
  .deek-c-hero-actions,
  .deek-c-contact-actions { align-items: stretch !important; }
  .deek-c-hero-actions .elementor-widget,
  .deek-c-contact-actions .elementor-widget { width: auto !important; }
}


/*
 * v0.0.3.2 — Remove scrolling backdrop
 * The previous bottom fixed blur/backdrop has been removed. Reveal animations,
 * smooth anchors and sticky header remain active.
 */
.deek-bottom-scroll-blur,
body.deek-is-scrolling .deek-bottom-scroll-blur,
body.deek-reveal-active .deek-bottom-scroll-blur {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* v0.0.3.5 — Theme header/dropdown CSS removed from plugin. Child theme owns Traveler header styling. */


/* v0.0.3.6 Major copy, placeholder media and proof-led service pages */
:root {
  --de-navy-deep: #07111F;
  --de-navy: #0B1728;
  --de-navy-soft: #101F33;
  --de-gold: #C99A39;
  --de-gold-soft: #E0B95A;
  --de-cream: #F5EAD2;
  --de-cream-muted: rgba(245, 234, 210, 0.68);
  --de-cream-border: rgba(245, 234, 210, 0.12);
  --de-gold-border: rgba(201, 154, 57, 0.42);
}

.deek-image-card img,
.deek-c-hero-media img,
.deek-fleet-class-card__media img,
.deek-support-figure img {
  background: linear-gradient(135deg, var(--de-navy-soft), var(--de-navy-deep));
  border: 1px solid var(--de-gold-border);
}

.deek-fleet-class-card__media {
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  margin-bottom: 22px;
  background: var(--de-navy-soft);
  border-bottom: 1px solid var(--de-gold-border);
}

.deek-fleet-class-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .55s var(--deek-ease), filter .55s var(--deek-ease);
}

.deek-fleet-class-card:hover .deek-fleet-class-card__media img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.03);
}

.deek-support-page {
  --deek-support-max: 1080px;
  max-width: var(--deek-support-max);
  margin: 0 auto;
  padding: clamp(48px, 8vw, 110px) clamp(20px, 5vw, 52px);
  background: var(--de-navy-deep);
  color: var(--de-cream);
  font-family: var(--font-sans, Inter, system-ui, sans-serif);
}

.deek-support-page .deek-support-kicker {
  margin: 0 0 18px;
  color: var(--de-gold-soft);
  font-family: var(--font-mono, monospace);
  font-size: 12px;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.deek-support-page h1,
.deek-support-page h2,
.deek-support-page h3 {
  color: var(--de-cream);
  font-family: var(--font-display, Georgia, serif);
  letter-spacing: -0.025em;
}

.deek-support-page h1 {
  max-width: 820px;
  margin: 0 0 20px;
  font-size: clamp(42px, 8vw, 92px);
  line-height: .95;
}

.deek-support-page h2 {
  margin: clamp(34px, 5vw, 60px) 0 12px;
  font-size: clamp(28px, 4vw, 48px);
}

.deek-support-page h3 {
  margin: 26px 0 8px;
  font-size: clamp(21px, 3vw, 30px);
}

.deek-support-page p,
.deek-support-page li {
  color: var(--de-cream-muted);
  font-size: clamp(16px, 1.7vw, 19px);
  line-height: 1.75;
}

.deek-support-page .deek-support-lead {
  max-width: 760px;
  margin-bottom: 34px;
  font-size: clamp(18px, 2.2vw, 24px);
  color: rgba(245, 234, 210, .84);
}

.deek-support-figure {
  margin: clamp(28px, 5vw, 56px) 0;
  overflow: hidden;
  border: 1px solid var(--de-gold-border);
  box-shadow: 0 34px 100px rgba(0, 0, 0, .36);
}

.deek-support-figure img {
  width: 100%;
  height: auto;
  display: block;
}

.deek-support-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 22px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.deek-support-list li {
  position: relative;
  padding: 14px 16px 14px 34px;
  background: rgba(255, 255, 255, .035);
  border: 1px solid var(--de-cream-border);
}

.deek-support-list li::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 24px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--de-gold);
}

.deek-support-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 42px;
}

.deek-support-cta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 20px;
  border: 1px solid var(--de-gold-border);
  color: var(--de-cream);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  font-weight: 700;
}

.deek-support-cta a:first-child {
  background: var(--de-gold);
  color: var(--de-navy-deep);
  border-color: var(--de-gold);
}

@media (max-width: 767px) {
  .deek-support-list {
    grid-template-columns: 1fr;
  }
}

/* --------------------------------------------------------------------------
 * v0.0.4.1 — Native Elementor service elements
 * -------------------------------------------------------------------------- */
.deek-service-card-pro { position: relative; height: 100%; overflow: hidden; border: 1px solid rgba(7,17,31,.12); background: #fff; transition: transform .28s cubic-bezier(.16,1,.3,1), border-color .28s ease, background-color .28s ease; }
.deek-service-card-pro:hover { transform: translateY(-3px); border-color: rgba(201,154,57,.48); }
.deek-service-card-pro__media { margin: 0; overflow: hidden; background: #101f33; }
.deek-service-card-pro__media img { display: block; width: 100%; height: 260px; object-fit: cover; transition: transform .55s cubic-bezier(.16,1,.3,1); }
.deek-service-card-pro:hover .deek-service-card-pro__media img { transform: scale(1.025); }
.deek-service-card-pro__body { padding: 26px; }
.deek-service-card-pro__eyebrow { margin: 0 0 14px; color: #c99a39; font: 600 10px/1.4 "JetBrains Mono", monospace; letter-spacing: .13em; text-transform: uppercase; }
.deek-service-card-pro__title { margin: 0; color: #142033; font: 500 24px/1.15 "Playfair Display", Georgia, serif; letter-spacing: -.02em; }
.deek-service-card-pro__text { margin-top: 12px; color: #52606f; font: 400 14px/1.7 Inter, sans-serif; }
.deek-service-card-pro__text p:last-child { margin-bottom: 0; }
.deek-service-card-pro__link { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(7,17,31,.11); color: #142033 !important; font: 600 11px/1.2 Inter, sans-serif; letter-spacing: .04em; text-decoration: none !important; text-transform: uppercase; }
.deek-service-card-pro__link span { color: #c99a39; }
.deek-service-card-pro.is-fact { background: transparent; border-color: rgba(245,234,210,.14); }
.deek-service-card-pro.is-fact .deek-service-card-pro__body { padding: 22px; }
.deek-service-card-pro.is-fact .deek-service-card-pro__title { color: #f5ead2; font: 500 15px/1.3 Inter, sans-serif; }
.deek-service-card-pro.is-fact .deek-service-card-pro__eyebrow { margin-bottom: 10px; }
.deek-service-card-pro.is-value .deek-service-card-pro__title,
.deek-service-card-pro.is-quote .deek-service-card-pro__title,
.deek-service-card-pro.is-proof .deek-service-card-pro__title { font-size: 20px; }
.deek-service-card-pro.is-proof { background: transparent; border-color: rgba(245,234,210,.14); }
.deek-service-card-pro.is-proof .deek-service-card-pro__title { color: #f5ead2; }
.deek-service-card-pro.is-proof .deek-service-card-pro__text { color: rgba(245,234,210,.68); }
.deek-service-card-pro.is-proof .deek-service-card-pro__body { padding: 24px; }
.deek-service-card-pro.is-related .deek-service-card-pro__body { min-height: 210px; display: flex; flex-direction: column; }
.deek-service-card-pro.is-related .deek-service-card-pro__link { margin-top: auto; }

.deek-service-list { display: grid; gap: 0; margin-top: 22px; border-top: 1px solid rgba(7,17,31,.11); }
.deek-service-list.columns-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.deek-service-list.columns-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.deek-service-list__item { display: flex; align-items: flex-start; gap: 14px; padding: 16px 0; border-bottom: 1px solid rgba(7,17,31,.11); }
.deek-service-list__marker { flex: 0 0 18px; width: auto; height: auto; display: inline-flex; align-items: flex-start; justify-content: flex-start; border: 0; border-radius: 0; color: #c99a39; font-size: 12px; line-height: 1; }
.deek-service-list strong { display: block; color: #142033; font: 600 14px/1.4 Inter, sans-serif; }
.deek-service-list p { margin: 5px 0 0; color: #52606f; font: 400 13px/1.6 Inter, sans-serif; }

.deek-faq-item { border-top: 1px solid rgba(245,234,210,.14); }
.deek-faq-item:last-child { border-bottom: 1px solid rgba(245,234,210,.14); }
.deek-faq-item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; color: #f5ead2; font: 500 16px/1.45 Inter, sans-serif; }
.deek-faq-item summary::-webkit-details-marker { display: none; }
.deek-faq-item summary b { color: #c99a39; font: 400 22px/1 Inter, sans-serif; transition: transform .2s ease; }
.deek-faq-item[open] summary b { transform: rotate(45deg); }
.deek-faq-item__answer { padding: 0 40px 22px 0; color: rgba(245,234,210,.68); font: 400 14px/1.75 Inter, sans-serif; }
.deek-faq-item__answer p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
  .deek-service-list.columns-2,
  .deek-service-list.columns-3 { grid-template-columns: 1fr; }
  .deek-service-card-pro__body { padding: 22px; }
  .deek-service-card-pro__media img { height: 230px; }
}
.deek-service-media { margin: 0; width: 100%; height: 100%; overflow: hidden; background: #101f33; }
.deek-service-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.deek-service-media figcaption { padding: 10px 12px; color: rgba(245,234,210,.68); background:#101f33; font: 500 10px/1.45 "JetBrains Mono", monospace; letter-spacing:.06em; }


/* --------------------------------------------------------------------------
 * v0.0.4.2 — Font Awesome 5 service UI + safe light-surface defaults
 * -------------------------------------------------------------------------- */
.deek-service-card-pro__icon {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  height: auto;
  margin-bottom: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #C99A39;
  font-size: 18px;
  line-height: 1;
}

.deek-service-card-pro__link-icon,
.deek-button__arrow {
  display: inline-grid;
  place-items: center;
  line-height: 1;
}

.deek-service-card-pro__link-icon {
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: currentColor;
}

.deek-service-list__marker {
  background: transparent;
  border-color: transparent;
  color: #C99A39;
}

.deek-service-card-pro__eyebrow {
  color: #142033;
}

.deek-faq-item__toggle {
  display: inline-grid;
  place-items: center;
  line-height: 1;
  transition: transform .2s ease;
}

.deek-faq-item[open] .deek-faq-item__toggle {
  transform: rotate(45deg);
}


/* Service widgets are light-safe by default. Dark page regions opt in through
   the Traveler child-theme context rather than assuming a dark canvas. */
.deek-service-card-pro.is-fact,
.deek-service-card-pro.is-proof {
  background: #fff;
  border-color: rgba(7,17,31,.12);
}

.deek-service-card-pro.is-fact .deek-service-card-pro__title,
.deek-service-card-pro.is-proof .deek-service-card-pro__title {
  color: #142033;
}

.deek-service-card-pro.is-proof .deek-service-card-pro__text {
  color: #52606f;
}

.deek-faq-item {
  border-top-color: rgba(7,17,31,.12);
}

.deek-faq-item:last-child {
  border-bottom-color: rgba(7,17,31,.12);
}

.deek-faq-item summary {
  color: #142033;
}

.deek-faq-item__answer {
  color: #52606f;
}

.deek-faq-item__toggle {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  background: #C99A39;
  color: #07111F;
}

/* v0.0.4.3 — Service hero image/navy fade fallback. Primary layout lives in child theme. */
body .de-service-v5-hero-media { position: relative; }
body .de-service-v5-hero-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(90deg, #07111F 0%, rgba(7,17,31,.88) 18%, rgba(7,17,31,.38) 48%, rgba(7,17,31,0) 82%);
}
@media (max-width: 767px) {
  body .de-service-v5-hero-media::before {
    background: linear-gradient(180deg, #07111F 0%, rgba(7,17,31,.44) 22%, rgba(7,17,31,0) 56%);
  }
}

/* --------------------------------------------------------------------------
 * v0.0.4.4 — Journey desk forms + mobile/tablet homepage contrast
 * -------------------------------------------------------------------------- */
.deek-journey-form-wrap,
.deek-journey-form {
  width: 100%;
}

.deek-journey-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 16px;
  margin: 28px 0 0;
}

.deek-journey-form__field {
  min-width: 0;
}

.deek-journey-form__field.is-wide,
.deek-journey-form__actions,
.deek-journey-form__notice {
  grid-column: 1 / -1;
}

.deek-journey-form label {
  display: block;
  margin: 0 0 8px;
  color: #07111F;
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
}

.deek-journey-form__control {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 50px;
  border: 1px solid rgba(7, 17, 31, .14);
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.deek-journey-form__control:focus-within {
  border-color: rgba(201, 154, 57, .85);
  box-shadow: 0 0 0 3px rgba(201, 154, 57, .10);
}

.deek-journey-form__control > i {
  flex: 0 0 42px;
  width: 42px;
  color: #8C929A;
  font-size: 13px;
  text-align: center;
}

.deek-journey-form__prefix {
  flex: 0 0 auto;
  padding-right: 8px;
  color: #07111F;
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 600;
}

.deek-journey-form input,
.deek-journey-form select,
.deek-journey-form textarea {
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 13px 14px 13px 0 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: #07111F !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
}

.deek-journey-form input::placeholder,
.deek-journey-form textarea::placeholder {
  color: #9298A1;
  opacity: 1;
}

.deek-journey-form select {
  appearance: auto;
  cursor: pointer;
}

.deek-journey-form__control.is-textarea {
  align-items: flex-start;
  min-height: 72px;
}

.deek-journey-form__control.is-textarea > i {
  padding-top: 17px;
}

.deek-journey-form textarea {
  min-height: 70px;
  resize: vertical;
}

.deek-journey-form__actions {
  margin-top: 4px;
}

.deek-journey-form__submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  min-height: 54px;
  padding: 15px 24px;
  border: 1px solid #C99A39;
  border-radius: 2px;
  background: #C99A39;
  color: #07111F;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.deek-journey-form__submit:hover,
.deek-journey-form__submit:focus-visible {
  background: #E0B95A;
  border-color: #E0B95A;
  transform: translateY(-1px);
}

.deek-journey-form__secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 12px 0 0;
  color: #707782;
  font-size: 10px;
  line-height: 1.5;
}

.deek-journey-form__secure i {
  color: #66707B;
  font-size: 10px;
}

.deek-journey-form__hp {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.deek-journey-form__notice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 16px;
  padding: 13px 15px;
  border: 1px solid rgba(7,17,31,.12);
  background: #F7F5F1;
  color: #07111F;
  font-size: 12px;
  line-height: 1.55;
}

.deek-journey-form__notice.is-success i { color: #557A55; }
.deek-journey-form__notice.is-error i { color: #9A4E45; }

.deek-journey-visual {
  position: relative;
  width: 100%;
  min-height: 680px;
  overflow: hidden;
  background:
    radial-gradient(circle at 105% -5%, rgba(201,154,57,.30) 0 13%, transparent 13.3%),
    radial-gradient(circle at 105% -5%, transparent 0 15%, rgba(201,154,57,.42) 15.1% 15.25%, transparent 15.4%),
    linear-gradient(145deg, #07111F 0%, #0B1728 100%);
}

.deek-journey-visual::before,
.deek-journey-visual::after {
  content: "";
  position: absolute;
  left: -8%;
  width: 116%;
  height: 190px;
  opacity: .26;
  background: repeating-radial-gradient(ellipse at 50% 110%, transparent 0 12px, rgba(201,154,57,.23) 13px 14px, transparent 15px 25px);
  transform: rotate(-5deg);
}

.deek-journey-visual::before { top: 42%; }
.deek-journey-visual::after { bottom: -40px; transform: rotate(4deg); }

.deek-journey-visual__orb {
  position: absolute;
  top: -95px;
  right: -80px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(201,154,57,.60);
  border-radius: 50%;
}

.deek-journey-visual__icon {
  position: absolute;
  display: grid;
  place-items: center;
  color: rgba(201,154,57,.78);
  z-index: 2;
}

.deek-journey-visual__icon svg,
.deek-journey-visual__icon i {
  width: 1em;
  height: 1em;
  font-size: inherit;
}

.deek-journey-visual__icon.is-location {
  top: 34%;
  left: 27%;
  font-size: 92px;
}

.deek-journey-visual__icon.is-calendar {
  top: 48%;
  left: 53%;
  font-size: 102px;
}

.deek-journey-visual__icon.is-time {
  top: 56%;
  left: 66%;
  font-size: 76px;
}

@media (max-width: 1024px) {
  /* Mobile/tablet homepage contrast: copy sits over the gold disc. */
  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) .deek-eyebrow {
    color: #FFFFFF !important;
  }
  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) .deek-atomic-heading.is-hero em {
    color: #07111F !important;
  }
  :where(.elementor-element-decHeroCopy, [data-id="decHeroCopy"], .deek-c-hero-copy) .deek-atomic-text {
    color: #07111F !important;
    font-weight: 500 !important;
  }
  :where(.elementor-element-decHeroBook, [data-id="decHeroBook"]) .deek-button.is-ghost,
  .deek-c-hero-actions .deek-button.is-ghost {
    color: #07111F !important;
    border-color: rgba(7,17,31,.72) !important;
  }
  :where(.elementor-element-decHeroBook, [data-id="decHeroBook"]) .deek-button.is-ghost:hover,
  .deek-c-hero-actions .deek-button.is-ghost:hover {
    background: #07111F !important;
    color: #FFFFFF !important;
    border-color: #07111F !important;
  }
  :where(.elementor-element-decHeroPhone, [data-id="decHeroPhone"], .deek-c-phone-link) .deek-button.is-plain {
    color: #07111F !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .15em !important;
  }
}

@media (max-width: 767px) {
  .deek-journey-form { grid-template-columns: 1fr; gap: 15px; }
  .deek-journey-form__field.is-wide,
  .deek-journey-form__actions { grid-column: 1; }
  .deek-journey-form__control { min-height: 48px; }
  .deek-journey-form__submit { min-height: 52px; font-size: 10px; }
  :where(.elementor-element-decHeroPhone, [data-id="decHeroPhone"], .deek-c-phone-link) .deek-button.is-plain {
    font-size: 13px !important;
  }
}


/* --------------------------------------------------------------------------
 * v0.0.4.6 FINAL — homepage scroll/overflow stability + flat service icons
 * -------------------------------------------------------------------------- */

/* Elementor Full Width already provides the viewport canvas. Avoid 100vw
   breakout maths, which can include the browser scrollbar and create a
   permanent horizontal scroll track. */
.deek-container-editable-page,
.deek-container-editable-page.e-con,
body .deek-enterprise-fullwidth,
body .elementor-section.deek-enterprise-fullwidth,
:where(.elementor-element-decServices, .elementor-element-decFleet, .elementor-element-decAbout, .elementor-element-decContact, [data-id="decServices"], [data-id="decFleet"], [data-id="decAbout"], [data-id="decContact"]),
.deek-generated-hero-widget-shell .deek-hero {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
  box-sizing: border-box !important;
}

/* Prevent flex/grid descendants from forcing the viewport wider. */
.deek-native-homepage,
.deek-native-homepage *,
.deek-homepage-body,
.deek-homepage-body *,
.deek-container-editable-page,
.deek-container-editable-page * {
  min-width: 0;
  box-sizing: border-box;
}

.deek-native-homepage,
.deek-homepage-body,
.deek-container-editable-page {
  max-width: 100%;
  overflow-x: clip;
  overscroll-behavior-x: none;
}

.deek-c-hero-grid,
.deek-c-hero-media,
.deek-c-hero-copy,
.deek-c-services-inner,
.deek-c-services-grid,
.deek-c-fleet-inner,
.deek-c-about-inner,
.deek-c-contact-inner {
  min-width: 0 !important;
  max-width: 100% !important;
}

.deek-c-hero-image-widget,
.deek-c-hero-image-widget .elementor-widget-container,
.deek-c-hero-image-widget img,
.deek-image-card img,
.deek-fleet-class-card__media img {
  max-width: 100% !important;
}

/* The reveal system must never become a scroll performance dependency. */
.deek-reveal,
.deek-motion-reveal,
.deek-reveal-section,
.deek-homepage-body .deek-hero__media,
.deek-homepage-body .deek-hero__content {
  will-change: auto !important;
}

/* Service Font Awesome 5: flat icons. No circles, ring borders or round icon
   backgrounds. Typography and spacing carry the hierarchy instead. */
.deek-service-card-pro__icon,
.deek-service-list__marker,
.deek-service-card-pro__link-icon,
.deek-faq-item__toggle {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.deek-service-card-pro__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-bottom: 14px !important;
  color: #C99A39 !important;
  font-size: 18px !important;
}

.deek-service-list__marker {
  flex: 0 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: 2px !important;
  color: #C99A39 !important;
  font-size: 12px !important;
}

.deek-service-card-pro__link-icon,
.deek-faq-item__toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: currentColor !important;
}

/* Touch devices: native vertical scrolling wins. Desktop anchor scrolling can
   remain smooth through CSS without JS click interception. */
@media (hover: none), (pointer: coarse) {
  html { scroll-behavior: auto !important; }
  .deek-native-homepage,
  .deek-homepage-body,
  .deek-container-editable-page {
    touch-action: pan-y pinch-zoom;
    overscroll-behavior-y: auto;
  }
}
