:root {
  --ivory: #FAFBFC;
  --forest: #111111;
  --terracotta: #F1A73C;
  --sky: #6ABEC9;
  --charcoal: #1A1A1A;
  --sage: #EEF6F7;
  --white: #FFFFFF;
  --line: rgba(17, 17, 17, 0.1);
  --muted: #5C5C5C;
  --radius: 12px;
  --wrap: 1280px;
  --display: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;
  --ui: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --t-fast: 180ms;
  --t-med: 480ms;
  --t-slow: 780ms;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  height: 100%;
  scroll-padding-top: 112px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: clip;
}
[hidden] { display: none !important; }
body.dd-body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--forest);
  color: var(--charcoal);
  font-family: var(--ui);
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.01em;
  word-spacing: normal;
}
body.dd-body > * { min-width: 0; max-width: 100%; }
#main {
  flex: 1 0 auto;
  width: 100%;
  min-width: 0;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  background: var(--ivory);
}
#main > * { min-width: 0; max-width: 100%; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.dd-wrap { width: min(var(--wrap), calc(100% - 48px)); margin-inline: auto; min-width: 0; max-width: 100%; }
.dd-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.dd-skip { position: absolute; left: -999px; }
.dd-skip:focus { left: 16px; top: 16px; background: #fff; padding: 8px 12px; z-index: 40; }
:focus-visible { outline: 2px solid var(--sky); outline-offset: 3px; }

.dd-topbar {
  background: var(--forest);
  color: #fff;
  font-size: 13px;
}
.dd-topbar__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 42px;
  gap: 16px;
}
.dd-topbar a { color: #fff; text-decoration: none; }
.dd-topbar__contacts { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.dd-topbar__contacts i { color: var(--terracotta); margin-right: 7px; }
.dd-topbar__social { display: flex; gap: 14px; font-size: 15px; }
.dd-topbar__social a:hover { color: var(--terracotta); }

.dd-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #fff;
  border-bottom: 1px solid var(--line);
  transition: box-shadow var(--t-med) var(--ease);
}
.dd-header.is-stuck { box-shadow: 0 10px 28px rgba(17, 17, 17, 0.06); }
.dd-header__row {
  display: flex;
  align-items: center;
  gap: 36px;
  min-height: 92px;
}
.dd-logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  transition: opacity var(--t-fast) var(--ease);
}
.dd-logo:hover { opacity: 0.78; }
.dd-logo__img {
  display: block;
  height: 68px;
  width: auto;
  max-height: 68px;
  max-width: 210px;
  object-fit: contain;
}
.dd-icon { display: block; flex: 0 0 auto; }
.dd-nav .dd-icon,
.dd-drawer__link .dd-icon,
.dd-footer a .dd-icon { opacity: 0.85; }
.dd-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 auto;
  gap: 4px 20px;
  min-width: 0;
  flex-wrap: wrap;
}
.dd-nav__link {
  background: none;
  border: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 4px;
  color: var(--forest);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0;
  word-spacing: normal;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
  transition: color var(--t-fast) var(--ease);
}
.dd-nav__link:hover,
.dd-nav__link.is-current,
.dd-nav button[aria-expanded="true"] {
  color: var(--terracotta);
}
.dd-nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1.5px;
  background: var(--terracotta);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--t-med) var(--ease);
}
.dd-nav__link:hover::after,
.dd-nav__link.is-current::after,
.dd-nav button[aria-expanded="true"]::after {
  transform: scaleX(1);
}
.dd-nav__secondary { color: var(--muted); font-weight: 500; }
.dd-nav__chevron { transition: transform .2s ease; opacity: 0.7; }
.dd-nav button[aria-expanded="true"] .dd-nav__chevron { transform: rotate(180deg); }
.dd-nav__item { position: relative; }
.dd-drop {
  position: absolute;
  top: calc(100% - 4px);
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 18px 40px rgba(17, 17, 17, 0.12);
  padding: 8px 0;
  z-index: 40;
  animation: dd-soft-in 240ms var(--ease);
}
.dd-drop a {
  display: block;
  padding: 10px 18px;
  text-decoration: none;
  color: var(--forest);
  font-size: 14px;
  font-weight: 500;
}
.dd-drop a:hover { background: var(--sage); color: var(--terracotta); }
.dd-mega {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: #fff;
  border-top: 1px solid var(--line);
  box-shadow: 0 28px 60px rgba(17, 17, 17, 0.12);
  padding: 28px 0;
  animation: dd-soft-in 320ms var(--ease);
}
.dd-mega__layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}
.dd-mega__rail p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dd-mega__tab {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: var(--forest);
  font: inherit;
  font-weight: 600;
  font-size: 15px;
  padding: 11px 12px;
  cursor: pointer;
  transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.dd-mega__tab:hover,
.dd-mega__tab.is-active {
  background: var(--sage);
}
.dd-mega__all {
  display: block;
  margin-top: 10px;
  padding: 8px 12px;
  color: var(--terracotta);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.dd-mega__panel-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 16px;
}
.dd-mega__panel-head h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
  color: var(--forest);
}
.dd-mega__panel-head span { color: var(--muted); font-size: 13px; }
.dd-mega__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.dd-mega__card {
  display: block;
  background: var(--ivory);
  text-decoration: none;
  color: var(--charcoal);
  overflow: hidden;
}
.dd-mega__card img {
  width: 100%;
  height: 118px;
  object-fit: cover;
  transition: transform .4s ease;
}
.dd-mega__card:hover img { transform: scale(1.04); }
.dd-mega__card strong {
  display: block;
  padding: 10px 12px 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--forest);
}
.dd-mega__card span {
  display: block;
  padding: 4px 12px 12px;
  color: var(--muted);
  font-size: 12px;
}

.dd-search {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 1 220px;
  width: 220px;
  min-width: 180px;
  background: var(--ivory);
  border: 1px solid var(--line);
  padding: 3px 3px 3px 14px;
  overflow: visible;
  transition: border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.dd-search:focus-within {
  border-color: rgba(17, 17, 17, 0.35);
  box-shadow: 0 0 0 4px rgba(17, 17, 17, 0.06);
}
.dd-search input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  border: 0;
  background: transparent;
  outline: none;
  color: var(--charcoal);
  font-size: 14px;
  -webkit-appearance: none;
  appearance: none;
}
.dd-search input[type="search"]::placeholder { color: var(--muted); opacity: 1; }
.dd-search input[type="search"]::-webkit-search-decoration,
.dd-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.dd-search__go {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border: 0;
  background: var(--forest);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
}
.dd-search__go { transition: background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease); }
.dd-search__go:hover { background: var(--terracotta); transform: scale(1.04); }
.dd-search__btn,
.dd-search--hero .dd-btn,
.dd-search--drawer .dd-btn {
  flex: 0 0 auto;
  border-radius: 0;
  padding: 10px 16px;
}
.dd-search--hero,
.dd-search--drawer {
  flex: 1 1 auto;
  width: 100%;
  max-width: 520px;
  margin-top: 36px;
  padding: 6px 6px 6px 18px;
  border: 1px solid var(--forest);
  background: var(--white);
}
.dd-search--drawer { margin-top: 0; max-width: none; }
.dd-live {
  position: absolute;
  top: calc(100% + 8px);
  left: auto;
  right: 0;
  width: min(440px, 92vw);
  z-index: 50;
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 18px 48px rgba(17, 17, 17, 0.12);
  max-height: 420px;
  overflow-y: auto;
  padding: 8px 0;
  animation: dd-soft-in 240ms var(--ease);
}
.dd-search--hero .dd-live,
.dd-search--drawer .dd-live {
  left: 0;
  right: 0;
  width: auto;
}
.dd-live__row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  text-decoration: none;
  color: var(--charcoal);
}
.dd-live__row { transition: background var(--t-fast) var(--ease); }
.dd-live__row:hover { background: var(--ivory); }
.dd-live__row img {
  width: 88px;
  height: 64px;
  object-fit: cover;
  flex: 0 0 auto;
}
.dd-live__copy { min-width: 0; }
.dd-live__copy strong {
  display: block;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.35;
  color: var(--forest);
}
.dd-live__copy em {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}
.dd-live__row b {
  font-family: var(--display);
  font-size: 16px;
  font-weight: 500;
  color: var(--forest);
  white-space: nowrap;
}
.dd-live__more {
  display: block;
  margin: 6px 14px 4px;
  padding: 10px 0 2px;
  border-top: 1px solid var(--line);
  color: var(--terracotta);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.dd-live__empty { padding: 16px 14px; margin: 0; color: var(--muted); font-size: 14px; }
.dd-header__utils { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; padding-left: 4px; }
.dd-icon-link, .dd-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--forest);
  text-decoration: none;
}
.dd-icon-link, .dd-icon-btn { transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease); }
.dd-icon-link:hover { background: var(--sage); color: var(--terracotta); transform: translateY(-1px); }
.dd-icon-btn.dd-header__menu { display: none; }
.dd-cart-count {
  position: absolute;
  top: 4px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  border-radius: 99px;
  background: var(--terracotta);
  color: #111;
  font-size: 10px;
  display: grid;
  place-items: center;
}

.dd-drawer { position: fixed; inset: 0; z-index: 40; }
.dd-drawer__panel {
  width: min(400px, 90vw);
  height: 100%;
  background: var(--ivory);
  padding: 24px;
  overflow: auto;
  animation: dd-slide-in 420ms var(--ease);
}
.dd-drawer__head, .dd-drawer__contact { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.dd-drawer details { border-top: 1px solid var(--line); padding: 12px 0; }
.dd-drawer details a, .dd-drawer__link { display: flex; align-items: center; gap: 10px; padding: 8px 0; text-decoration: none; }
.dd-overlay { position: fixed; inset: 0; background: rgba(17,17,17,.4); z-index: 35; animation: dd-fade 240ms var(--ease); }
.dd-drawer .dd-btn--quote { margin-top: 18px; width: 100%; }

.dd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  min-height: 46px;
  padding: 12px 20px;
  font-weight: 650;
  font-size: 14px;
  letter-spacing: 0.01em;
  text-transform: none;
  text-decoration: none;
  cursor: pointer;
  transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.dd-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(17, 17, 17, 0.12); }
.dd-btn--primary { background: var(--terracotta); color: #111; }
.dd-btn--primary:hover { background: #D9922E; color: #111; }
.dd-btn--quote {
  background: var(--forest);
  color: #fff;
  border-radius: 999px;
  min-height: 44px;
  padding: 10px 22px;
  font-weight: 700;
}
.dd-btn--quote:hover { background: #000; color: #fff; }
.dd-btn--dark { background: var(--forest); color: #fff; }
.dd-btn--dark:hover { background: #000; }
.dd-btn--ghost { background: transparent; border: 1px solid var(--forest); color: var(--forest); }
.dd-btn--ghost:hover { background: var(--forest); color: #fff; }
.dd-btn--whatsapp { background: #128C7E; color: #fff; }
.dd-btn--whatsapp:hover { background: #0e7368; }
.dd-textlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--terracotta);
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.dd-textlink { transition: color var(--t-fast) var(--ease), gap var(--t-fast) var(--ease); }
.dd-textlink .dd-icon { transition: transform var(--t-fast) var(--ease); }
.dd-textlink:hover { color: var(--terracotta); gap: 10px; }
.dd-textlink:hover .dd-icon { transform: translateX(3px); }

.dd-hero { padding: 28px 0 0; }
.dd-hero--cinema {
  position: relative;
  padding: 0;
  min-height: min(86vh, 820px);
  overflow: hidden;
}
.dd-hero__scene { margin: 0; }
.dd-hero__scene img {
  width: 100%;
  height: min(86vh, 820px);
  object-fit: cover;
  animation: dd-kenburns 22s var(--ease) both;
}
.dd-hero__overlay {
  position: absolute;
  inset: auto 0 48px;
}
.dd-hero__panel {
  width: min(560px, 100%);
  background: rgba(247, 245, 240, 0.94);
  padding: 36px 36px 32px;
  animation: dd-rise 680ms var(--ease) 60ms both;
}
.dd-hero__grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 56px;
  align-items: end;
  padding-bottom: 20px;
}
.dd-kicker {
  color: var(--sky);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 11px;
  margin: 0 0 18px;
}
.dd-hero h1, .dd-page-head h1, .dd-section h2, .dd-activity h1, .dd-catband h1 {
  font-family: var(--display);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--forest);
  margin: 0 0 20px;
}
.dd-hero h1 { font-size: clamp(40px, 5.4vw, 68px); max-width: 14ch; }
.dd-hero__copy p,
.dd-hero__panel p { font-size: 17px; max-width: 42ch; color: var(--muted); }
.dd-hero__panel h1 { margin-bottom: 14px; }
.dd-search--hero { margin-top: 22px; max-width: none; }
.dd-hero__photo { position: relative; }
.dd-hero__photo img {
  width: 100%;
  height: 640px;
  object-fit: cover;
}
.dd-hero__photo figcaption {
  position: absolute;
  left: 0;
  bottom: 24px;
  background: var(--ivory);
  padding: 10px 16px 10px 0;
  font-size: 13px;
  color: var(--muted);
}

.dd-banner {
  position: relative;
  min-height: min(92vh, 900px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #111;
}
.dd-banner__copy,
.dd-welcome,
.dd-section,
.dd-pagebanner__copy,
.dd-endquote__head,
.dd-contact-board,
.dd-purpose,
.dd-whyus,
.dd-whyband,
.dd-offer,
.dd-voice,
.dd-service,
.dd-pack,
.dd-about-offer,
.dd-about-hero,
.dd-contact-page,
.dd-blog-page {
  min-width: 0;
}
.dd-banner__photo {
  position: absolute;
  inset: 0;
  margin: 0;
}
.dd-banner__photo img {
  width: 100%;
  height: 100% !important;
  max-width: none;
  object-fit: cover;
  min-height: min(92vh, 900px);
  transform: scale(1.06);
  animation: dd-kenburns 24s var(--ease) both;
}
.dd-banner__veil {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(17, 17, 17, 0.78) 0%, rgba(17, 17, 17, 0.42) 48%, rgba(17, 17, 17, 0.18) 100%),
    linear-gradient(180deg, rgba(17, 17, 17, 0.12) 0%, rgba(17, 17, 17, 0.55) 100%);
}
.dd-banner__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 440px);
  gap: 40px 56px;
  align-items: center;
  padding: 88px 0 64px;
}
.dd-banner__copy {
  text-align: left;
  max-width: 640px;
  padding: 0;
  color: #fff;
}
.dd-banner__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(241, 167, 60, 0.16);
  color: var(--terracotta);
  border: 1px solid rgba(241, 167, 60, 0.45);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 20px;
}
.dd-banner h1 {
  color: #fff;
  max-width: 14ch;
  margin: 0 0 16px;
  font-size: clamp(42px, 5.8vw, 76px);
  line-height: 0.98;
}
.dd-banner__copy p {
  color: rgba(255, 255, 255, 0.86);
  max-width: 42ch;
  margin: 0;
  font-size: 18px;
}
.dd-quote {
  background: #fff;
  border: 0;
  border-radius: 22px;
  box-shadow: 0 30px 70px rgba(17, 17, 17, 0.22);
  padding: 28px 26px 22px;
}
.dd-quote--hero {
  background: #fff;
  backdrop-filter: none;
  width: 100%;
}
.dd-quote h2 {
  margin: 0 0 18px;
  font-family: var(--ui);
  font-size: 26px;
  font-weight: 750;
  letter-spacing: -0.03em;
  color: var(--forest);
}
.dd-quote__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.dd-quote__grid label:last-child {
  grid-column: 1 / -1;
}
.dd-quote label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--forest);
}
.dd-quote input,
.dd-quote select {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  background: var(--ivory);
  min-height: 48px;
  width: 100%;
  color: var(--forest);
  font-size: 16px;
}
.dd-quote input:focus,
.dd-quote select:focus {
  outline: 2px solid rgba(106, 190, 201, 0.45);
  border-color: var(--sky);
  background: #fff;
}
.dd-quote__submit {
  width: 100%;
  border-radius: 12px;
  min-height: 52px;
  font-size: 16px;
  font-weight: 750;
}
.dd-endquote {
  background: var(--forest);
  color: #fff;
  padding: 72px 0 80px;
  margin: 0;
  scroll-margin-top: 112px;
}
.dd-endquote .dd-wrap {
  display: grid;
  grid-template-columns: minmax(240px, 0.85fr) minmax(300px, 1.15fr);
  gap: 40px 56px;
  align-items: center;
}
.dd-endquote__head {
  max-width: none;
  margin: 0;
}
.dd-endquote .dd-kicker { color: var(--terracotta); }
.dd-endquote__head h2 {
  color: #fff;
  margin: 0 0 12px;
  font-size: clamp(28px, 3.8vw, 44px);
  max-width: 12ch;
  line-height: 1.08;
}
.dd-endquote__head p { margin: 0; color: rgba(255,255,255,0.78); max-width: 36ch; }
.dd-quote--end {
  background: #fff;
  color: var(--forest);
  max-width: none;
  width: 100%;
}
.dd-quote__err { color: #9b1c1c; margin: 0 0 12px; }
.dd-quote__ok { margin: 0 0 16px; color: var(--muted); }
.dd-quote__kicker { color: var(--sky); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; font-size: 11px; margin: 0 0 8px; }
.dd-floats {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 28;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dd-floats__btn {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(17, 17, 17, 0.18);
}
.dd-floats__btn--wa { background: #25D366; }
.dd-floats__btn--call { background: var(--terracotta); color: #111; }
.dd-floats__btn:hover { transform: translateY(-2px); }

.dd-offers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.dd-offers:has(.dd-offer:nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dd-offer {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease);
}
.dd-offer:hover { transform: translateY(-4px); box-shadow: 0 22px 40px rgba(17, 17, 17, 0.1); }
.dd-offer__media { margin: 0; }
.dd-offer__media img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}
.dd-offer__body {
  padding: 22px 22px 26px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.dd-offer__num {
  color: var(--terracotta);
  font-weight: 800;
  letter-spacing: 0.14em;
  font-size: 12px;
}
.dd-offer h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
}
.dd-offer p { margin: 0 0 8px; color: var(--muted); }
.dd-offer .dd-btn { margin-top: auto; align-self: flex-start; }

.dd-packs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.dd-pack {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease);
}
.dd-pack:hover { transform: translateY(-4px); box-shadow: 0 22px 40px rgba(17, 17, 17, 0.1); }
.dd-pack__media {
  margin: 0;
  background: #e8eef0;
  min-height: 200px;
}
.dd-pack__media img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.dd-pack__body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.dd-pack__meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0;
  color: var(--terracotta);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dd-pack h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 500;
}
.dd-pack__price {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: var(--forest);
}
.dd-pack__price em {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  margin-right: 4px;
}
.dd-pack__stay { margin: 0; font-weight: 600; color: var(--forest); }
.dd-pack p { margin: 0; color: var(--muted); }
.dd-pack__includes {
  list-style: none;
  margin: 4px 0 8px;
  padding: 0;
  display: grid;
  gap: 6px;
}
.dd-pack__includes li {
  position: relative;
  padding-left: 16px;
  color: var(--forest);
  font-size: 14px;
}
.dd-pack__includes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--terracotta);
}
.dd-pack .dd-btn { margin-top: auto; align-self: flex-start; }
.dd-pack.is-selected {
  border-color: var(--terracotta);
  box-shadow: 0 18px 36px rgba(241, 167, 60, 0.18);
}
.dd-fleet .dd-pack__media img { height: 220px; object-position: center; }
#pick-drop,
#fleet { scroll-margin-top: 112px; }
.dd-pack-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 22px;
}
.dd-pack-filter {
  appearance: none;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--forest);
  border-radius: 999px;
  padding: 8px 16px;
  font-weight: 600;
  cursor: pointer;
}
.dd-pack-filter.is-active {
  background: var(--forest);
  color: #fff;
  border-color: var(--forest);
}
#packages { scroll-margin-top: 112px; }

.dd-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.dd-steps li {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px 24px;
}
.dd-steps span {
  display: block;
  color: var(--terracotta);
  font-weight: 800;
  letter-spacing: 0.14em;
  margin-bottom: 12px;
}
.dd-steps h3 { margin: 0 0 8px; font-family: var(--display); font-size: 24px; font-weight: 500; }
.dd-steps p { margin: 0; color: var(--muted); }

.dd-places {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.dd-place {
  position: relative;
  display: block;
  border-radius: 18px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
}
.dd-place img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  transition: transform 700ms var(--ease);
}
.dd-place:hover img { transform: scale(1.06); }
.dd-place::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(17, 17, 17, 0.72) 100%);
}
.dd-place strong {
  position: absolute;
  left: 20px;
  bottom: 18px;
  z-index: 1;
  font-family: var(--display);
  font-size: 32px;
  font-weight: 500;
}

.dd-cta {
  background: var(--forest);
  color: #fff;
  padding: 72px 0;
}
.dd-cta .dd-kicker { color: var(--terracotta); }
.dd-cta h2 { color: #fff; margin: 0; max-width: 16ch; }
.dd-cta__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
}
.dd-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.dd-btn--ghost-light { border-color: rgba(255,255,255,0.55); color: #fff; }
.dd-btn--ghost-light:hover { background: #fff; color: #111; }

.dd-trust { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.dd-trust__row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
  padding: 22px 0;
}
.dd-trust article {
  padding: 0;
  transition: transform var(--t-med) var(--ease);
}
.dd-trust article:hover { transform: translateY(-3px); }
.dd-trust .dd-icon { color: var(--terracotta); margin-bottom: 8px; }
.dd-trust strong {
  display: block;
  font-family: var(--display);
  font-size: 18px;
  font-weight: 500;
  color: var(--forest);
}
.dd-trust p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }

.dd-services-band { padding-top: 56px; padding-bottom: 56px; }
.dd-services {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  grid-template-rows: repeat(3, minmax(148px, auto));
  gap: 14px;
}
.dd-service {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 22px;
  background: #fff;
  border: 1px solid var(--line);
  padding: 26px 28px;
  overflow: hidden;
  transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease), border-color var(--t-med) var(--ease);
}
.dd-service:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(17, 17, 17, 0.07);
  border-color: rgba(17, 17, 17, 0.18);
}
.dd-service__num {
  font-family: var(--display);
  font-size: 15px;
  letter-spacing: 0.08em;
  color: var(--terracotta);
  align-self: start;
  padding-top: 4px;
}
.dd-service__body { min-width: 0; }
.dd-service h3 {
  margin: 0 0 6px;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 500;
  color: var(--forest);
}
.dd-service p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}
.dd-service .dd-btn { justify-self: end; white-space: nowrap; }
.dd-service.is-lead {
  grid-row: 1 / span 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 16px;
  min-height: 520px;
  padding: 48px 44px;
  background: var(--forest);
  border-color: transparent;
  color: var(--ivory);
}
.dd-service.is-lead:hover { transform: none; box-shadow: 0 20px 40px rgba(17, 17, 17, 0.18); }
.dd-service.is-lead .dd-service__mark {
  position: absolute;
  right: -24px;
  top: 28px;
  color: #fff;
  opacity: 0.07;
  pointer-events: none;
}
.dd-service.is-lead .dd-service__mark .dd-icon { width: 240px; height: 240px; }
.dd-service.is-lead .dd-service__num {
  color: var(--sky);
  font-size: 13px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.dd-service.is-lead h3 {
  color: #fff;
  font-size: clamp(40px, 5vw, 62px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  max-width: 10ch;
}
.dd-service.is-lead p {
  color: rgba(247, 245, 240, 0.78);
  font-size: 17px;
  max-width: 32ch;
}
.dd-service.is-lead .dd-btn { justify-self: start; margin-top: 8px; }

.dd-section { padding: 88px 0; }
.dd-section--sage { background: var(--sage); }
.dd-section--white { background: var(--ivory); }
.dd-section__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin-bottom: 36px;
}
.dd-section h2 { font-size: clamp(32px, 4vw, 48px); max-width: 22ch; letter-spacing: -0.015em; word-spacing: 0.08em; }

.dd-blog-page { padding-top: 48px; }
.dd-blog-page__intro {
  max-width: 58ch;
  margin-bottom: 28px;
}
.dd-blog-page__intro h2 {
  margin: 0 0 10px;
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 500;
}
.dd-blog-page__intro p { margin: 0; color: var(--muted); }
.dd-journal {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.dd-journal__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid var(--line);
  padding: 0 0 22px;
  transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease);
}
.dd-journal__card:hover { transform: translateY(-3px); box-shadow: 0 16px 32px rgba(17, 17, 17, 0.07); }
.dd-journal__card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.dd-journal__card .dd-kicker,
.dd-journal__card h3,
.dd-journal__card p,
.dd-journal__card em { padding: 0 20px; }
.dd-journal__card .dd-kicker { margin-top: 16px; }
.dd-journal__card h3 {
  margin: 0;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 500;
  color: var(--forest);
  line-height: 1.25;
}
.dd-journal__card p { margin: 0; color: var(--muted); font-size: 14px; }
.dd-journal__card em { font-style: normal; color: var(--muted); font-size: 13px; }

.dd-voices {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.dd-voice {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  padding: 28px 26px 24px;
  min-height: 100%;
}
.dd-voice__stars {
  display: flex;
  gap: 3px;
  color: var(--terracotta);
  margin-bottom: 14px;
}
.dd-voice p {
  margin: 0 0 20px;
  font-family: var(--display);
  font-size: 22px;
  line-height: 1.4;
  color: var(--forest);
  flex: 1;
}
.dd-voice footer { display: flex; flex-direction: column; gap: 2px; }
.dd-voice strong { color: var(--forest); }
.dd-voice span { color: var(--muted); font-size: 13px; }
.dd-voices--empty {
  display: block;
  background: #fff;
  border: 1px solid var(--line);
  padding: 36px 40px;
}
.dd-voices--empty p { max-width: 56ch; color: var(--muted); }
.dd-voices--empty .dd-about__actions { margin-top: 18px; }

.dd-article__hero { position: relative; }
.dd-article__hero img {
  width: 100%;
  height: 420px;
  object-fit: cover;
}
.dd-article__intro { padding: 40px 0 0; }
.dd-article__intro h1 { max-width: 18ch; }
.dd-article__intro p { color: var(--muted); }
.dd-article__body {
  max-width: 720px;
  padding: 28px 0 80px;
}
.dd-article__body p {
  font-size: 18px;
  line-height: 1.7;
  margin: 0 0 18px;
}
.dd-article__cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.dd-cats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 220px;
  gap: 12px;
}
.dd-cat {
  position: relative;
  display: block;
  height: 100%;
  text-decoration: none;
  overflow: hidden;
}
.dd-cat--lg { grid-row: span 2; }
.dd-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.dd-cat:hover img { transform: scale(1.04); }
.dd-cat::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(17, 17, 17, 0.72));
}
.dd-cat span {
  position: absolute;
  inset: auto 18px 18px 18px;
  color: #fff;
  z-index: 1;
}
.dd-cat strong { display: block; font-family: var(--display); font-size: 26px; font-weight: 500; }

.dd-mosaic-head,
.dd-section__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin-bottom: 36px;
}
.dd-mosaic-head { width: min(var(--wrap), calc(100% - 48px)); margin: 0 auto 28px; }
.dd-mosaic {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-template-rows: 240px 240px;
  gap: 12px;
}
.dd-mosaic__item {
  position: relative;
  display: block;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
}
.dd-mosaic__item.is-lead { grid-row: span 2; }
.dd-mosaic__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms var(--ease);
}
.dd-mosaic__item:hover img { transform: scale(1.04); }
.dd-mosaic__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(17, 17, 17, 0.78));
  transition: background var(--t-med) var(--ease);
}
.dd-mosaic__item:hover::after {
  background: linear-gradient(180deg, transparent 28%, rgba(17, 17, 17, 0.86));
}
.dd-mosaic__item span {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 1;
  font-size: 13px;
}
.dd-mosaic__item strong {
  display: block;
  font-family: var(--display);
  font-size: 26px;
  font-weight: 500;
}
.dd-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 28px;
}
.dd-grid--trio { grid-template-columns: repeat(3, 1fr); }
.dd-grid--duo { grid-template-columns: 1fr 1fr; }
.dd-grid--spotlight {
  grid-template-columns: 1.2fr 0.8fr;
  gap: 24px;
  align-items: stretch;
}
.dd-stack { display: grid; gap: 24px; }
.dd-stack .dd-card { min-height: 0; }
.dd-stack .dd-card__media img { height: 168px; }
.dd-stack .dd-badge--note { display: none; }
.dd-stack .dd-card__body { padding: 14px 16px 16px; gap: 6px; }
.dd-stack .dd-card__title { font-size: 20px; }
.dd-stack .dd-card__points { display: none; }
.dd-stack .dd-card__footer .dd-btn { min-height: 40px; padding: 8px 14px; }
.dd-card--feature { min-height: 100%; border: 0; }
.dd-card--feature .dd-badge { z-index: 2; }
.dd-card--feature .dd-card__cover {
  position: relative;
  display: block;
  height: 100%;
  min-height: 560px;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
}
.dd-card--feature .dd-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms var(--ease);
}
.dd-card--feature:hover .dd-card__cover img { transform: scale(1.03); }
.dd-card--feature .dd-card__cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17, 17, 17, 0.2) 15%, rgba(17, 17, 17, 0.92) 100%);
}
.dd-card--feature .dd-card__cover-copy {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 1;
  color: #fff;
  text-shadow: 0 1px 12px rgba(17, 17, 17, 0.35);
}
.dd-card--feature .dd-card__cover-copy em {
  display: block;
  margin-bottom: 8px;
  font-style: normal;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
}
.dd-card--feature .dd-card__cover-copy strong {
  display: block;
  font-family: var(--display);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  word-spacing: 0.08em;
}
.dd-card--feature .dd-card__cover-copy b {
  display: block;
  margin-top: 12px;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
}
.dd-whyband {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 64px;
  align-items: start;
}
.dd-whyband h2 {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 48px);
  max-width: 16ch;
  margin: 0 0 16px;
}
.dd-whyband p { max-width: 42ch; color: var(--muted); }
.dd-whyband ul { list-style: none; margin: 0; padding: 0; }
.dd-whyband li {
  padding: 18px 0;
  border-top: 1px solid var(--line);
  color: var(--muted);
}
.dd-whyband li strong { display: block; color: var(--forest); font-size: 18px; margin-bottom: 4px; }
.dd-card {
  background: #fff;
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.dd-card:hover { border-color: rgba(17, 17, 17, 0.28); transform: translateY(-5px); box-shadow: 0 18px 36px rgba(17, 17, 17, 0.08); }
.dd-card { transition: border-color var(--t-med) var(--ease), transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease); }
.dd-card__media { position: relative; display: block; overflow: hidden; }
.dd-card__media img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  transition: transform .5s ease;
}
.dd-card:hover .dd-card__media img { transform: scale(1.03); }
.dd-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--ivory);
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.dd-badge--sale { background: var(--terracotta); color: #111; }
.dd-badge--note {
  left: auto;
  right: 12px;
  background: var(--forest);
  color: #fff;
}
.dd-card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 16px 18px; flex: 1; }
.dd-card__meta { margin: 0; color: var(--muted); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.dd-card__title { margin: 0; font-family: var(--display); font-size: 24px; font-weight: 500; line-height: 1.2; color: var(--forest); }
.dd-card__title a { text-decoration: none; color: var(--forest); }
.dd-card__rating { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: var(--muted); }
.dd-stars { color: #c9c3b6; letter-spacing: 1px; }
.dd-stars .is-on { color: var(--terracotta); }
.dd-card__points {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.dd-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-top: auto;
  padding-top: 14px;
}
.dd-card__footer .dd-btn { flex: 0 0 auto; }
.dd-price { min-width: 0; }
.dd-price s,
.dd-price strong { display: inline; margin-right: 8px; vertical-align: baseline; }
.dd-price s {
  color: #8b928d;
  font-size: 14px;
  text-decoration: line-through;
}
.dd-price strong { font-size: 22px; font-family: var(--display); font-weight: 500; color: var(--forest); }
.dd-price--sale strong { color: var(--terracotta); }
.dd-price span { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }

.dd-why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; }
.dd-why article {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
  padding: 28px 28px 28px 0;
}
.dd-why article:nth-child(3n+2),
.dd-why article:nth-child(3n+3) { padding-left: 28px; }
.dd-why h3, .dd-page-head p, .dd-form h2 { font-family: var(--display); color: var(--forest); font-weight: 500; }
.dd-why h3 { font-size: 26px; margin: 0 0 8px; }
.dd-empty, .dd-panel, .dd-form, .dd-account, .dd-benefit {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 28px;
}
.dd-empty { margin-bottom: 8px; }
.dd-rail {
  position: sticky;
  top: 96px;
  background: #fff;
  overflow: hidden;
  border: 1px solid var(--line);
}
.dd-rail__head {
  background: var(--forest);
  color: #fff;
  padding: 22px 24px 20px;
}
.dd-rail__head p {
  margin: 0 0 6px;
  color: var(--sky);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dd-rail__head h2 {
  margin: 0;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
  color: #fff;
}
.dd-rail__body { padding: 22px 24px 24px; }
.dd-rail__item {
  display: grid;
  gap: 4px;
  margin: 0 0 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}
.dd-rail__item strong { color: var(--forest); line-height: 1.35; }
.dd-rail__item span { color: var(--muted); font-size: 13px; }
.dd-rail__item b { font-family: var(--display); font-weight: 500; color: var(--forest); }
.dd-rail__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 14px;
}
.dd-rail__row--total {
  margin: 8px 0 18px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--forest);
  font-size: 16px;
}
.dd-rail__row--total strong {
  font-family: var(--display);
  font-size: 26px;
  font-weight: 500;
}
.dd-rail .dd-btn { width: 100%; }
.dd-rail__note { margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

.dd-pagebanner {
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #111;
}
.dd-pagebanner__photo { position: absolute; inset: 0; margin: 0; }
.dd-pagebanner__photo img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
}
.dd-pagebanner__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,17,17,0.25) 0%, rgba(17,17,17,0.72) 100%);
}
.dd-pagebanner__copy {
  position: relative;
  z-index: 1;
  padding: 72px 0 36px;
  color: #fff;
}
.dd-pagebanner .dd-kicker { color: var(--terracotta); }
.dd-pagebanner h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(40px, 5vw, 64px);
}
.dd-welcome {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px 56px;
  align-items: center;
}
.dd-welcome h2 {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 500;
  color: var(--forest);
  margin: 0 0 16px;
}
.dd-welcome__lead { font-size: 18px; color: var(--muted); margin: 0 0 20px; max-width: 54ch; }
.dd-welcome__photo img { width: 100%; height: 420px; object-fit: cover; }
.dd-highlights {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.dd-highlight {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 22px;
  text-decoration: none;
  color: inherit;
}
.dd-highlight__icon {
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(241, 167, 60, 0.16);
  color: var(--terracotta);
}
.dd-highlight h3 {
  margin: 0 0 6px;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  color: var(--forest);
}
.dd-highlight p { margin: 0; color: var(--muted); }
.dd-purpose {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.dd-purpose article {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px;
}
.dd-purpose span {
  display: block;
  color: var(--terracotta);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.dd-purpose h3 {
  margin: 0 0 12px;
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
  color: var(--forest);
}
.dd-purpose p { margin: 0; color: var(--muted); }
.dd-whyus {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.dd-whyus__card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 28px 24px;
}
.dd-whyus__card h3 {
  margin: 14px 0 10px;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 500;
  color: var(--forest);
}
.dd-whyus__card p { margin: 0; color: var(--muted); }
.dd-promoband {
  background:
    linear-gradient(105deg, rgba(17,17,17,0.82), rgba(17,17,17,0.55)),
    url("https://deardestinations.com/wp-content/uploads/2024/08/Burj-Al-Arab-In-Dubai-Night-View.webp") center/cover;
  color: #fff;
  padding: 72px 0;
}
.dd-promoband__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}
.dd-promoband .dd-kicker { color: var(--terracotta); }
.dd-promoband h2 {
  color: #fff;
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 44px);
  max-width: 16ch;
}
.dd-promoband p { margin: 0; color: rgba(255,255,255,0.82); max-width: 48ch; }
.dd-promoband__actions { display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }
.dd-about-hero .dd-hero__grid { align-items: center; }
.dd-about__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.dd-about-page { padding-top: 56px; }
.dd-about-hero {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 48px 56px;
  align-items: center;
}
.dd-about-hero h2 {
  margin: 0 0 14px;
  font-family: var(--display);
  font-size: clamp(32px, 4.4vw, 52px);
  font-weight: 500;
  line-height: 1.15;
}
.dd-about-hero p { margin: 0; color: var(--muted); max-width: 46ch; font-size: 17px; }
.dd-about-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.dd-about-hero__photo { margin: 0; }
.dd-about-hero__photo img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 24px 48px rgba(17, 17, 17, 0.12);
}
.dd-about-offers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.dd-about-offer {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 12px 28px rgba(17, 17, 17, 0.05);
  transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease);
}
.dd-about-offer:hover { transform: translateY(-5px); box-shadow: 0 22px 40px rgba(17, 17, 17, 0.1); }
.dd-about-offer img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}
.dd-about-offer div { padding: 18px 18px 22px; }
.dd-about-offer span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--terracotta);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dd-about-offer h3 {
  margin: 8px 0 6px;
  font-family: var(--display);
  font-size: 24px;
  font-weight: 500;
  color: var(--forest);
}
.dd-about-offer p { margin: 0; color: var(--muted); font-size: 14px; }
.dd-about-desk {
  background: #111;
  color: #d7d7d7;
  padding: 72px 0;
}
.dd-about-desk__row {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 40px;
  align-items: center;
}
.dd-about-desk .dd-kicker { color: var(--terracotta); }
.dd-about-desk h2 {
  margin: 0 0 12px;
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 500;
  color: #fff;
}
.dd-about-desk p { margin: 0; max-width: 42ch; }
.dd-about-desk__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 12px;
}
.dd-about-desk__list a {
  display: grid;
  grid-template-columns: 42px 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  align-items: center;
  padding: 16px 18px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 16px;
  color: #fff;
  text-decoration: none;
}
.dd-about-desk__list a:hover { border-color: var(--terracotta); }
.dd-about-desk__list .dd-icon {
  grid-row: 1 / span 2;
  color: var(--sky);
}
.dd-about-desk__list span {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sky);
}
.dd-about-desk__list strong { font-weight: 600; overflow-wrap: anywhere; }
.dd-about__split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 56px;
  align-items: center;
}
.dd-about__split h2 {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 46px);
  font-weight: 500;
  color: var(--forest);
  margin: 0 0 18px;
}
.dd-about__split p,
.dd-about__lead { font-size: 17px; max-width: 68ch; color: var(--charcoal); }
.dd-about__lead { margin: 0 0 28px; }
.dd-about__split img { width: 100%; height: 420px; object-fit: cover; }
.dd-checklist {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}
.dd-checklist li {
  position: relative;
  padding: 14px 0 14px 32px;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
}
.dd-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 8px;
  height: 8px;
  border-radius: 99px;
  background: var(--terracotta);
}
.dd-about__values {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.dd-about__values--four { grid-template-columns: repeat(4, 1fr); }
.dd-about__values article {
  background: #fff;
  border: 1px solid var(--line);
  padding: 22px;
}
.dd-about__values h3 {
  margin: 0 0 8px;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  color: var(--forest);
}
.dd-about__values p { margin: 0; color: var(--muted); }
.dd-about__featured {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.dd-about__featured .dd-mega__card img { height: 200px; }
.dd-about__cta {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 40px;
  align-items: start;
}
.dd-about__cta h2 {
  font-family: var(--display);
  font-size: clamp(32px, 4vw, 46px);
  font-weight: 500;
  color: var(--forest);
  margin: 0 0 16px;
}
.dd-about__company h3 { margin-top: 0; color: var(--forest); }
.dd-about__company p { margin: 0 0 12px; }
.dd-contact-page { padding-top: 48px; padding-bottom: 28px; }
.dd-contact-page__intro {
  max-width: 58ch;
  margin-bottom: 28px;
}
.dd-contact-page__intro h2 {
  margin: 0 0 10px;
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 500;
}
.dd-contact-page__intro p { margin: 0; color: var(--muted); }
.dd-contact__ways {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.dd-contact__way-icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(241, 167, 60, 0.16);
  color: var(--terracotta);
  margin-bottom: 8px;
}
.dd-contact__way .dd-icon { color: var(--terracotta); margin-bottom: 0; }
.dd-contact__way {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 170px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 10px 24px rgba(17, 17, 17, 0.04);
  transition: border-color var(--t-fast) var(--ease), transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease);
}
.dd-contact__way:hover { border-color: var(--terracotta); transform: translateY(-4px); box-shadow: 0 18px 36px rgba(17, 17, 17, 0.08); }
.dd-contact__way > span:not(.dd-contact__way-icon) {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--terracotta);
}
.dd-contact__way strong {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  color: var(--forest);
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.dd-contact__way em { font-style: normal; color: var(--muted); font-size: 14px; }
.dd-contact-board {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 28px 60px rgba(17, 17, 17, 0.1);
}
.dd-contact-board__side {
  background:
    linear-gradient(180deg, rgba(17, 17, 17, 0.18), rgba(17, 17, 17, 0.92)),
    #111;
  color: #d7d7d7;
  display: flex;
  flex-direction: column;
}
.dd-contact-board__photo { margin: 0; }
.dd-contact-board__photo img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
.dd-contact-board__side-copy { padding: 28px 28px 32px; flex: 1; }
.dd-contact-board__side .dd-kicker { color: var(--terracotta); }
.dd-contact-board__side h3 {
  margin: 0 0 22px;
  font-family: var(--display);
  font-size: 32px;
  font-weight: 500;
  color: #fff;
}
.dd-contact-board__facts {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  display: grid;
  gap: 12px;
}
.dd-contact-board__facts li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 12px;
  align-items: center;
}
.dd-contact-board__facts span {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(106, 190, 201, 0.18);
  color: var(--sky);
}
.dd-contact-board__facts strong {
  display: block;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sky);
}
.dd-contact-board__facts em {
  font-style: normal;
  color: #fff;
}
.dd-contact-board__side a { color: #fff; }
.dd-contact-board__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.dd-contact-board__actions .dd-btn { min-height: 44px; }
.dd-contact-board__main { padding: 40px 44px 44px; background: linear-gradient(180deg, #fff, #f7fbfc); }
.dd-contact-board__main h2 {
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 500;
  color: var(--forest);
  margin: 0 0 10px;
}
.dd-contact-board__intro { margin: 0 0 22px; color: var(--muted); max-width: 48ch; }
.dd-contact__form { background: transparent; border: 0; padding: 0; }
.dd-contact__topics {
  border: 0;
  margin: 0 0 22px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.dd-contact__topics legend {
  width: 100%;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
  color: var(--forest);
}
.dd-contact__topics label {
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding: 9px 14px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  color: var(--forest);
  cursor: pointer;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.dd-contact__topics input { position: absolute; opacity: 0; pointer-events: none; }
.dd-contact__topics label:has(input:checked),
.dd-contact__topics label:hover {
  background: var(--forest);
  border-color: var(--forest);
  color: #fff;
}
.dd-contact__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dd-contact__form .dd-field { margin-bottom: 16px; }
.dd-contact__form .dd-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--forest);
}
.dd-contact__form .dd-field input,
.dd-contact__form .dd-field select,
.dd-contact__form .dd-field textarea {
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.12);
  min-height: 52px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}
.dd-contact__form .dd-field textarea { min-height: 120px; }
.dd-contact__form .dd-field input:focus,
.dd-contact__form .dd-field select:focus,
.dd-contact__form .dd-field textarea:focus {
  outline: 0;
  border-color: var(--sky);
  box-shadow: 0 0 0 4px rgba(106, 190, 201, 0.18);
}
.dd-contact__submit { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 8px; }
.dd-contact__submit .dd-btn { width: auto; min-width: 180px; border-radius: 999px; }
.dd-contact__submit p { margin: 0; color: var(--muted); font-size: 13px; }
.dd-contact-board__receipt { margin: 0 0 20px; padding: 18px 0; border-top: 1px solid var(--line); }

.dd-catband {
  position: relative;
  min-height: 320px;
  display: flex;
  align-items: end;
  margin-bottom: 28px;
  overflow: hidden;
}
.dd-catband img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dd-catband::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,17,17,0.05) 20%, rgba(17,17,17,0.72));
}
.dd-catband .dd-wrap { position: relative; z-index: 1; padding: 56px 0 36px; }
.dd-catband h1,
.dd-catband p { color: #fff; }
.dd-page-head { padding: 56px 0 16px; }
.dd-page-head h1,
.dd-catband h1 { font-size: clamp(40px, 6vw, 64px); }
.dd-toolbar { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin: 18px 0 28px; }
.dd-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin: 56px 0 8px;
  padding: 28px 16px 8px;
  border-top: 1px solid var(--line);
}
.dd-pager__btn,
.dd-pager__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--forest);
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
.dd-pager__btn { padding: 0 22px; }
.dd-pager__num { width: 48px; }
.dd-pager__pages { display: flex; align-items: center; gap: 8px; margin: 0 10px; }
.dd-pager__btn,
.dd-pager__num {
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.dd-pager__btn:hover,
.dd-pager__num:hover {
  border-color: var(--forest);
  background: var(--sage);
  transform: translateY(-1px);
}
.dd-pager__num.is-current {
  background: var(--forest);
  border-color: var(--forest);
  color: #fff;
}
.dd-pager__btn.is-disabled {
  opacity: 0.38;
  pointer-events: none;
}
.dd-toolbar select,
.dd-field input,
.dd-field textarea {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: #fff;
  padding: 12px 14px;
  color: var(--charcoal);
}
.dd-select {
  position: relative;
  display: block;
  background: #fff;
  border: 1px solid var(--line);
}
.dd-select::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid var(--forest);
  transform: translateY(-40%);
  pointer-events: none;
}
.dd-select select,
.dd-form .dd-field .dd-select select {
  display: block;
  width: 100%;
  min-height: 52px;
  border: 0;
  background: transparent;
  padding: 0 44px 0 16px;
  color: #202923;
  font-size: 16px;
  font-weight: 600;
  line-height: 52px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
}
.dd-select select option {
  color: #202923;
  background: #fff;
}
.dd-contact__form .dd-field input,
.dd-contact__form .dd-field select,
.dd-contact__form .dd-field textarea {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--ivory);
  padding: 12px 14px;
  color: var(--charcoal);
  font: inherit;
}
.dd-contact__form .dd-field input:focus,
.dd-contact__form .dd-field select:focus,
.dd-contact__form .dd-field textarea:focus {
  outline: 2px solid var(--forest);
  outline-offset: 1px;
  background: #fff;
}

.dd-product { padding: 28px 0 0; }
.dd-pgallery {
  position: relative;
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 8px;
  height: 520px;
  margin-bottom: 36px;
  overflow: hidden;
}
.dd-pgallery--single { grid-template-columns: 1fr; }
.dd-pgallery button {
  padding: 0;
  border: 0;
  background: #111;
  cursor: pointer;
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
}
.dd-pgallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.dd-pgallery button:hover img { transform: scale(1.03); }
.dd-pgallery__side { display: grid; grid-template-rows: 1fr 1fr; gap: 8px; min-height: 0; }
.dd-pgallery__all {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: auto !important;
  height: auto !important;
  padding: 10px 14px !important;
  background: #fff !important;
  color: var(--forest);
  font-size: 13px;
  font-weight: 600;
}
.dd-pgrid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) 340px;
  gap: 48px;
  align-items: start;
  padding-bottom: 24px;
}
.dd-pmain h1 {
  font-family: var(--display);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: var(--forest);
  margin: 0 0 24px;
}
.dd-chips {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 28px;
}
.dd-chips article {
  background: #fff;
  border: 1px solid var(--line);
  padding: 16px 14px;
  min-height: 118px;
}
.dd-chips strong {
  display: block;
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  color: var(--forest);
  margin-bottom: 8px;
}
.dd-chips span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.dd-plead { font-size: 17px; max-width: 68ch; margin: 0 0 28px; }
.dd-info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 28px; }
.dd-infocard, .dd-whybook, .dd-assist, .dd-fold details {
  background: #fff;
  border: 1px solid var(--line);
  padding: 24px;
}
.dd-infocard h2, .dd-whybook h2, .dd-assist h2, .dd-fold summary {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  color: var(--forest);
  margin: 0 0 14px;
}
.dd-infocard h3 { font-size: 15px; margin: 18px 0 10px; }
.dd-infocard ul, .dd-fold ul { margin: 0; padding-left: 18px; }
.dd-infocard li, .dd-fold li { margin: 8px 0; }
.dd-whybook { margin-bottom: 16px; }
.dd-whybook__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.dd-whybook h3 { margin: 0 0 6px; font-size: 16px; }
.dd-whybook p { margin: 0; color: var(--muted); font-size: 14px; }
.dd-assist {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
}
.dd-assist p { margin: 6px 0 0; color: var(--muted); }
.dd-assist__actions { display: flex; gap: 10px; }
.dd-fold { display: grid; gap: 10px; }
.dd-fold summary { cursor: pointer; list-style: none; }
.dd-fold summary::-webkit-details-marker { display: none; }
.dd-fold details[open] summary { margin-bottom: 12px; }
.dd-review { padding: 12px 0; border-top: 1px solid var(--line); }
.dd-review span { color: var(--muted); font-size: 13px; margin-left: 8px; }
.dd-bookcard {
  position: sticky;
  top: 96px;
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
}
.dd-bookcard__photo {
  position: relative;
  display: block;
  overflow: hidden;
}
.dd-bookcard__photo img {
  width: 100%;
  height: 168px;
  object-fit: cover;
}
.dd-bookcard__photo span {
  position: absolute;
  left: 16px;
  bottom: 14px;
  z-index: 1;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dd-bookcard__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(17, 17, 17, 0.72));
}
.dd-bookcard__body { padding: 22px 22px 24px; }
.dd-bookcard__label {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dd-bookcard__price { margin: 8px 0 14px; }
.dd-bookcard__price s {
  display: inline-block;
  margin-right: 8px;
  color: #8b928d;
  font-size: 15px;
}
.dd-bookcard__price strong {
  display: block;
  font-family: var(--display);
  font-size: 40px;
  font-weight: 500;
  color: var(--forest);
  line-height: 1;
}
.dd-bookcard__price.is-sale strong { color: var(--terracotta); }
.dd-bookcard__price span { display: block; margin-top: 6px; color: var(--muted); font-size: 13px; }
.dd-bookcard__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
}
.dd-bookcard__meta li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: var(--sage);
  color: var(--forest);
  font-size: 13px;
  font-weight: 600;
}
.dd-bookcard__confirm {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #128C7E;
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 16px;
}
.dd-bookcard .dd-btn { width: 100%; }
.dd-bookcard__perks {
  list-style: none;
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--line);
  color: var(--charcoal);
  font-size: 14px;
}
.dd-bookcard__perks li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 9px 0;
}
.dd-bookcard__perks .dd-icon { color: var(--terracotta); }
.dd-bookcard__help {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  color: var(--forest);
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
  transition: color var(--t-fast) var(--ease);
}
.dd-bookcard__help:hover { color: var(--terracotta); }
.dd-book__total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.dd-book__total span { color: var(--muted); font-size: 13px; }
.dd-book__total strong {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
  color: var(--forest);
}
.dd-qty {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}
.dd-qty button {
  width: 34px;
  height: 34px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--forest);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}
.dd-qty button:hover { background: var(--sage); }
.dd-qty input,
.dd-field .dd-qty input,
.dd-form .dd-field .dd-qty input,
.dd-guest .dd-qty input {
  width: 36px;
  min-width: 36px;
  min-height: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: center;
  font-weight: 650;
  color: var(--forest);
}
.dd-guestlist {
  display: grid;
  gap: 0;
  margin: 8px 0 18px;
  background: #fff;
  border: 1px solid var(--line);
}
.dd-guest {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 16px;
}
.dd-guest + .dd-guest { border-top: 1px solid var(--line); }
.dd-guest strong { display: block; color: var(--forest); font-size: 15px; }
.dd-guest span { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.dd-note { background: var(--sage); padding: 14px; font-size: 14px; }
.dd-form--book { background: transparent; border: 0; padding: 22px 24px 0; }
.dd-bookgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}
.dd-form--book .dd-field { margin-bottom: 14px; }
.dd-form--book .dd-field label,
.dd-field__label {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.dd-form--book .dd-field input[type="date"],
.dd-form--book .dd-field input[type="text"] {
  min-height: 48px;
  color: var(--forest);
  font-weight: 600;
}
.dd-timechip {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 0 12px;
  background: var(--sage);
  border: 0;
  color: var(--forest);
  font-size: 16px;
  font-weight: 650;
}
.dd-switch {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 8px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--line);
  cursor: pointer;
}
.dd-switch strong { display: block; color: var(--forest); font-size: 15px; }
.dd-switch em { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-style: normal; }
.dd-switch input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.dd-switch__ui {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 26px;
  background: #d4dcd5;
  border-radius: 99px;
  transition: background var(--t-fast) var(--ease);
}
.dd-switch__ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  transition: transform var(--t-fast) var(--ease);
}
.dd-switch input:checked + .dd-switch__ui { background: var(--forest); }
.dd-switch input:checked + .dd-switch__ui::after { transform: translateX(18px); }
.dd-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(17, 17, 17, 0.45);
  display: flex;
  justify-content: flex-end;
}
.dd-modal__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(440px, 100%);
  height: 100%;
  background: var(--ivory);
  overflow: auto;
}
.dd-modal__close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border: 0;
  background: rgba(255,255,255,.92);
  color: var(--forest);
  display: grid;
  place-items: center;
  cursor: pointer;
}
.dd-modal__hero {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 28px 56px 24px 24px;
  background: var(--forest);
  color: #C8C8C8;
}
.dd-modal__hero img {
  width: 92px;
  height: 92px;
  object-fit: cover;
}
.dd-modal__hero p {
  margin: 0 0 6px;
  color: var(--sky);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.dd-modal__hero h2 {
  margin: 0 0 8px;
  font-family: var(--display);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  color: #fff;
}
.dd-modal__hero strong {
  color: #fff;
  font-size: 14px;
  font-weight: 650;
}
.dd-modal__foot {
  position: sticky;
  bottom: 0;
  margin-top: 20px;
  padding: 18px 0 24px;
  background: var(--ivory);
  border-top: 1px solid var(--line);
}
.dd-modal__foot .dd-btn { width: 100%; margin-top: 12px; }
.dd-modal__secure { text-align: center; color: var(--muted); font-size: 12px; margin: 10px 0 0; }
.dd-lightbox {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(10, 16, 14, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px;
}
.dd-lightbox figure { margin: 0; max-width: min(1100px, 80vw); }
.dd-lightbox img { max-height: 80vh; width: auto; max-width: 100%; object-fit: contain; }
.dd-lightbox figcaption { color: #fff; text-align: center; margin-top: 10px; }
.dd-lightbox__close, .dd-lightbox__nav {
  border: 0;
  background: #fff;
  color: var(--forest);
  width: 44px;
  height: 44px;
  cursor: pointer;
  font-size: 22px;
}
.dd-lightbox__close { position: absolute; top: 20px; right: 20px; width: auto; padding: 0 14px; font-size: 14px; }
.dd-mobile-bar {
  display: none;
  position: sticky;
  bottom: 0;
  background: #fff;
  border-top: 1px solid var(--line);
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  justify-content: space-between;
  align-items: center;
  z-index: 20;
}
.dd-mobile-bar span { display: block; color: var(--muted); font-size: 12px; }

.dd-cart-table { width: 100%; border-collapse: collapse; background: #fff; }
.dd-cart-table th, .dd-cart-table td { padding: 18px 16px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.dd-cart-table th { color: var(--muted); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.dd-cart-item { display: flex; gap: 14px; }
.dd-cart-item img { width: 104px; height: 76px; object-fit: cover; }
.dd-cart-item strong { display: block; color: var(--forest); margin-bottom: 4px; }
.dd-split { display: grid; grid-template-columns: 1.4fr .8fr; gap: 40px; }
.dd-field { margin-bottom: 16px; }
.dd-field label { display: block; font-weight: 600; font-size: 13px; margin-bottom: 6px; }
.dd-form .dd-field input,
.dd-form .dd-field select,
.dd-form .dd-field textarea {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--line);
  background: #fff;
  padding: 12px 14px;
  color: var(--charcoal);
  font-size: 16px;
}
.dd-form .dd-field select { min-height: 50px; }
.dd-form .dd-field input:focus,
.dd-form .dd-field select:focus,
.dd-form .dd-field textarea:focus {
  outline: 2px solid var(--forest);
  outline-offset: 1px;
}
.dd-alert { padding: 14px 16px; background: #f3e6e2; color: #7a2c1c; margin-bottom: 16px; }
.dd-alert--ok { background: var(--sage); color: var(--forest); }
.dd-dests {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  padding-bottom: 80px;
}
.dd-dest {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  transition: transform var(--t-med) var(--ease), box-shadow var(--t-med) var(--ease), border-color var(--t-fast) var(--ease);
}
.dd-dest:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(17, 17, 17, 0.08); border-color: rgba(17, 17, 17, 0.22); }
.dd-dest img { width: 100%; height: 220px; object-fit: cover; transition: transform 500ms var(--ease); }
.dd-dest:hover img { transform: scale(1.04); }
.dd-dest div { padding: 22px; }
.dd-dest h2 {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 500;
  color: var(--forest);
  margin: 0 0 10px;
}
.dd-dest p { margin: 0 0 14px; color: var(--muted); }
.dd-dest span { color: var(--terracotta); font-weight: 700; }
.dd-allcats { padding-bottom: 80px; }
.dd-allcats h2 {
  font-family: var(--display);
  font-size: 32px;
  font-weight: 500;
  color: var(--forest);
  margin: 8px 0 20px;
}
.dd-allcats .dd-cats { margin-bottom: 44px; }
.dd-catband .dd-kicker { color: var(--sky); }

.dd-footer {
  flex-shrink: 0;
  width: 100%;
  background: var(--forest);
  color: #C8C8C8;
  padding: 64px 0 28px;
  margin-top: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.dd-footer a { color: inherit; text-decoration: none; transition: color var(--t-fast) var(--ease); }
.dd-footer li a:hover { color: #fff; }
.dd-footer h3 {
  color: #fff;
  font-family: var(--display);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
.dd-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 36px; }
.dd-footer li a { display: inline-block; }
.dd-footer ul { list-style: none; margin: 0; padding: 0; }
.dd-footer li { margin: 9px 0; font-size: 14px; }
.dd-footer__base {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 48px;
  padding-top: 20px;
  font-size: 13px;
}
.dd-footer__base a { margin-left: 16px; }
.dd-logo--light { display: inline-flex; margin-bottom: 16px; }
.dd-footer .dd-logo__img { height: 80px; }
.dd-footer .dd-social { display: flex; flex-direction: column; gap: 0; }
.dd-footer .dd-social li { margin: 9px 0; }
.dd-footer .dd-social a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font-size: 14px;
}
.dd-footer .dd-social a i {
  width: 1.1em;
  font-size: 15px;
  text-align: center;
  color: var(--sky);
}
.dd-footer .dd-social a:hover { color: #fff; background: none; }
.dd-footer .dd-pay {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 0;
}
.dd-footer .dd-pay li { margin: 0; }
.dd-footer .dd-pay img {
  display: block;
  width: 70px;
  height: 44px;
  object-fit: cover;
  border-radius: 7px;
}
.dd-legal { max-width: 820px; }
.dd-legal h2, .dd-legal h3 { font-family: var(--display); color: var(--forest); font-weight: 500; }

@media (max-width: 1240px) {
  .dd-nav__secondary { display: none; }
  .dd-cats { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 200px; }
  .dd-journal { grid-template-columns: repeat(2, 1fr); }
  .dd-packs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dd-places { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dd-about-offers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dd-nav, .dd-header .dd-search { display: none; }
  .dd-icon-btn.dd-header__menu { display: inline-flex; }
}
@media (max-width: 1100px) {
  .dd-quote__grid { grid-template-columns: 1fr 1fr; }
  .dd-banner { min-height: 0; align-items: stretch; }
  .dd-banner__inner {
    min-width: 0;
    flex: 1 1 auto;
    max-width: 100%;
  }
  .dd-banner__photo img { min-height: 100%; }
  .dd-banner__inner {
    grid-template-columns: minmax(0, 1fr);
    padding: 48px 0 32px;
    gap: 24px;
  }
  .dd-banner h1 { max-width: none; }
  .dd-section__head,
  .dd-mosaic-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 28px;
  }
  .dd-endquote .dd-wrap { grid-template-columns: 1fr; gap: 28px; }
  .dd-endquote__head h2 { max-width: none; }
  .dd-promoband__row { flex-direction: column; align-items: flex-start; }
  .dd-hero__grid, .dd-pgrid, .dd-pgallery, .dd-split, .dd-footer__grid, .dd-trust__row, .dd-services, .dd-cta__row, .dd-why, .dd-info-grid, .dd-about__split, .dd-about__cta, .dd-about__values, .dd-about__values--four, .dd-about__featured, .dd-about-hero, .dd-about-desk__row, .dd-contact-board, .dd-mosaic, .dd-grid--spotlight, .dd-grid--duo, .dd-whyband, .dd-dests, .dd-welcome, .dd-highlights, .dd-purpose, .dd-whyus, .dd-promoband__row { grid-template-columns: minmax(0, 1fr); }
  .dd-offers,
  .dd-packs,
  .dd-steps,
  .dd-places,
  .dd-journal,
  .dd-voices,
  .dd-about-offers,
  .dd-contact__ways { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dd-services { grid-template-rows: none; }
  .dd-service.is-lead { grid-row: auto; min-height: 280px; padding: 28px 22px; }
  .dd-service:not(.is-lead) { grid-template-columns: auto 1fr; }
  .dd-service:not(.is-lead) .dd-btn { grid-column: 2; justify-self: start; margin-top: 10px; }
  .dd-card--feature .dd-card__cover { min-height: 420px; }
  .dd-hero--cinema { min-height: 0; }
  .dd-hero__scene img { height: 52vh; }
  .dd-hero__overlay { position: static; padding: 0 0 8px; }
  .dd-hero__panel { width: 100%; padding: 28px 0 0; background: transparent; }
  .dd-mosaic { grid-template-rows: none; }
  .dd-mosaic__item,
  .dd-mosaic__item.is-lead { height: 220px; grid-row: auto; }
  .dd-chips { grid-template-columns: repeat(2, 1fr); }
  .dd-whybook__grid { grid-template-columns: repeat(2, 1fr); }
  .dd-grid { grid-template-columns: repeat(2, 1fr); }
  .dd-hero__photo img { height: 360px; }
  .dd-article__hero img { height: 240px; }
  .dd-why article { padding-left: 0 !important; }
  .dd-mobile-bar { display: flex; }
  .dd-bookcard { position: static; }
  .dd-pgallery { height: auto; }
  .dd-pgallery__main { height: 280px; }
  .dd-pgallery__side { grid-template-rows: none; grid-template-columns: 1fr 1fr; height: 140px; }
  .dd-assist { flex-direction: column; align-items: stretch; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 88px; }
  #packages,
  #pick-drop,
  #fleet { scroll-margin-top: 88px; }
  body.dd-body { font-size: 15px; line-height: 1.55; }
  #main { display: block; }
  .dd-banner { display: block; min-height: 0; }
  .dd-wrap,
  .dd-mosaic-head {
    width: 100%;
    max-width: var(--wrap);
    padding-inline: 16px;
    box-sizing: border-box;
  }
  .dd-banner,
  .dd-pagebanner,
  .dd-welcome,
  .dd-section h1,
  .dd-section h2,
  .dd-section p,
  .dd-banner h1,
  .dd-banner__copy p,
  .dd-welcome p,
  .dd-welcome h2,
  .dd-offer p,
  .dd-service p,
  .dd-whyband p,
  .dd-contact-board p,
  .dd-about__lead,
  .dd-about__split p,
  .dd-about-hero h2,
  .dd-about-hero p,
  .dd-pack h3,
  .dd-about-offer h3 {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .dd-banner { overflow: hidden; }
  .dd-banner__copy { max-width: none; }
  .dd-quote__grid { grid-template-columns: 1fr; }
  .dd-topbar { font-size: 12px; }
  .dd-topbar__row { min-height: 36px; gap: 10px; padding: 6px 0; }
  .dd-topbar__contacts a:first-child { display: none; }
  .dd-header__row { min-height: 64px; gap: 12px; }
  .dd-logo__img { height: 46px; }
  .dd-header .dd-btn--quote { min-height: 40px; padding: 8px 14px; font-size: 13px; }
  .dd-drawer__panel {
    width: min(100vw, 400px);
    padding: 20px 18px calc(24px + env(safe-area-inset-bottom));
  }
  .dd-drawer__link { min-height: 44px; padding: 12px 0; font-size: 16px; }
  .dd-quote { padding: 18px 16px 16px; border-radius: 16px; }
  .dd-quote h2 { font-size: 20px; margin-bottom: 14px; }
  .dd-banner__inner { padding: 28px 0 24px; gap: 18px; }
  .dd-banner h1 {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 12px;
    max-width: 100%;
  }
  .dd-banner__copy p { font-size: 15px; }
  .dd-banner__badge { font-size: 11px; margin-bottom: 12px; padding: 6px 12px; }
  .dd-endquote { padding: 44px 0 52px; scroll-margin-top: 88px; }
  .dd-endquote .dd-wrap { gap: 20px; }
  .dd-endquote__head h2 { font-size: clamp(24px, 7vw, 32px); max-width: none; line-height: 1.15; }
  .dd-endquote__head p { font-size: 15px; }
  .dd-bookgrid { grid-template-columns: 1fr; }
  .dd-cats, .dd-grid, .dd-mega__cards { grid-template-columns: 1fr; }
  .dd-mega__layout { grid-template-columns: 1fr; }
  .dd-cat--lg { grid-row: auto; }
  .dd-hero { padding-top: 16px; }
  .dd-hero__grid { gap: 20px; }
  .dd-hero h1 { font-size: clamp(28px, 8vw, 36px); max-width: none; }
  .dd-section { padding: 44px 0; }
  .dd-section h2,
  .dd-welcome h2,
  .dd-about__split h2,
  .dd-about__cta h2,
  .dd-whyband h2,
  .dd-promoband h2,
  .dd-pagebanner h1,
  .dd-catband h1 {
    font-size: 26px;
    max-width: 100%;
    line-height: 1.25;
  }
  .dd-kicker { font-size: 11px; }
  .dd-offers { gap: 14px; }
  .dd-offer__media img { height: 180px; }
  .dd-offer__body { padding: 18px 16px 20px; }
  .dd-offer h3 { font-size: 22px; }
  .dd-steps li { padding: 20px 18px; }
  .dd-steps h3 { font-size: 20px; }
  .dd-place img { height: 200px; }
  .dd-whyband p { font-size: 15px; }
  .dd-whyband li { padding: 14px 0; }
  .dd-whyband li strong { font-size: 16px; }
  .dd-voice { padding: 20px 18px 18px; }
  .dd-voice p { font-size: 17px; line-height: 1.45; }
  .dd-journal__card h3 { font-size: 20px; }
  .dd-journal__card img { height: 180px; }
  .dd-service { padding: 18px 16px; gap: 8px 12px; }
  .dd-service h3 { font-size: 20px; }
  .dd-service p { font-size: 14px; }
  .dd-service.is-lead { min-height: 220px; padding: 22px 18px; }
  .dd-service.is-lead h3 { font-size: 26px; }
  .dd-service:not(.is-lead) { grid-template-columns: 1fr; }
  .dd-service:not(.is-lead) .dd-btn { grid-column: auto; width: 100%; }
  .dd-pagebanner { min-height: 0; }
  .dd-pagebanner__copy { padding: 40px 0 28px; }
  .dd-pagebanner__photo img { min-height: 180px; }
  .dd-welcome {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .dd-welcome__copy,
  .dd-legal,
  .dd-legal p,
  .dd-welcome__lead {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .dd-kicker { margin-bottom: 10px; }
  .dd-welcome__lead { font-size: 15px; margin-bottom: 14px; }
  .dd-welcome__photo img { height: 220px; }
  .dd-highlight { padding: 16px; }
  .dd-highlight h3 { font-size: 18px; }
  .dd-purpose article,
  .dd-whyus__card { padding: 20px 18px; }
  .dd-purpose h3 { font-size: 22px; }
  .dd-whyus__card h3 { font-size: 20px; }
  .dd-promoband { padding: 44px 0; }
  .dd-promoband__actions { width: 100%; }
  .dd-promoband__actions .dd-btn { width: 100%; }
  .dd-about__split { gap: 24px; }
  .dd-about__split p,
  .dd-about__lead { font-size: 15px; }
  .dd-about__split img { height: 220px; }
  .dd-contact-board__main { padding: 24px 18px 28px; }
  .dd-contact-board__side-copy { padding: 22px 18px; }
  .dd-contact-board__main h2 { font-size: clamp(22px, 7vw, 30px); }
  .dd-contact__way { min-height: 0; padding: 16px; }
  .dd-contact__way strong { font-size: 18px; word-break: break-word; }
  .dd-contact__topics label { min-height: 44px; }
  .dd-gallery img { height: 220px; }
  .dd-card__media img { height: 180px; }
  .dd-card--feature .dd-card__cover { min-height: 280px; }
  .dd-stack .dd-card__media img { height: 160px; }
  .dd-dest img { height: 180px; }
  .dd-footer { padding: 40px 0 24px; }
  .dd-footer__grid { gap: 28px; }
  .dd-footer .dd-logo__img { height: 56px; }
  .dd-footer__base { flex-direction: column; gap: 10px; margin-top: 28px; }
  .dd-footer__base a { margin-left: 0; margin-right: 14px; }
  .dd-floats { left: auto; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); }
  .dd-floats__btn { width: 48px; height: 48px; }
  .dd-chips, .dd-whybook__grid { grid-template-columns: 1fr; }
  .dd-pager { gap: 10px; padding-top: 24px; }
  .dd-pager__pages { margin: 0; width: 100%; justify-content: center; }
  .dd-pager__btn { min-width: 44%; }
  .dd-btn { min-height: 44px; }
  .dd-about-hero { gap: 24px; }
  .dd-about-hero h2 { font-size: clamp(26px, 8vw, 34px); }
  .dd-about-hero p { font-size: 15px; }
  .dd-about-hero__photo img { height: 240px; border-radius: 18px; }
  .dd-about-hero__actions { width: 100%; }
  .dd-about-hero__actions .dd-btn { flex: 1 1 140px; justify-content: center; }
  .dd-about-offers { grid-template-columns: 1fr; }
  .dd-about-offer img { height: 180px; }
  .dd-about-desk { padding: 44px 0; }
  .dd-about-desk h2 { font-size: 26px; }
  .dd-about-desk__list a { min-height: 64px; }
  .dd-blog-page,
  .dd-contact-page,
  .dd-about-page { padding-top: 32px; }
  .dd-blog-page__intro h2,
  .dd-contact-page__intro h2 { font-size: 26px; }
  .dd-contact__ways { grid-template-columns: 1fr; }
  .dd-contact-board { border-radius: 18px; }
  .dd-contact-board__photo img { height: 180px; }
  .dd-contact-board__actions { width: 100%; }
  .dd-contact-board__actions .dd-btn { flex: 1 1 140px; justify-content: center; }
  .dd-contact__submit .dd-btn { width: 100%; }
  .dd-packs { grid-template-columns: 1fr; }
  .dd-pack h3 { font-size: 22px; }
  .dd-pack__media img { height: 180px; }
  .dd-fleet .dd-pack__media img { height: 200px; }
  .dd-pack__body { padding: 16px 16px 18px; }
  .dd-pack-filters { gap: 8px; }
  .dd-pack-filter { min-height: 40px; padding: 8px 14px; font-size: 13px; }
  .dd-journal { grid-template-columns: 1fr; }
  .dd-steps { grid-template-columns: 1fr; }
  .dd-places { grid-template-columns: 1fr 1fr; }
  .dd-quote input,
  .dd-quote select,
  .dd-contact__form .dd-field input,
  .dd-contact__form .dd-field select,
  .dd-contact__form .dd-field textarea { font-size: 16px; }
}
@keyframes dd-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@keyframes dd-soft-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}
@keyframes dd-slide-in {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: none; }
}
@keyframes dd-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes dd-kenburns {
  from { transform: scale(1.06); }
  to { transform: scale(1); }
}
.dd-modal__panel { animation: dd-slide-in 420ms var(--ease); }

html.dd-motion .dd-reveal {
  transform: translateY(16px);
  transition: transform var(--t-slow) var(--ease);
}
html.dd-motion .dd-reveal.is-in { transform: none; }
html.dd-motion .dd-trust article {
  animation: dd-soft-in 640ms var(--ease) both;
}
html.dd-motion .dd-trust article:nth-child(2) { animation-delay: 70ms; }
html.dd-motion .dd-trust article:nth-child(3) { animation-delay: 140ms; }
html.dd-motion .dd-trust article:nth-child(4) { animation-delay: 210ms; }
html.dd-motion .dd-service {
  animation: dd-soft-in 640ms var(--ease) both;
}
html.dd-motion .dd-service:nth-child(2) { animation-delay: 70ms; }
html.dd-motion .dd-service:nth-child(3) { animation-delay: 140ms; }
html.dd-motion .dd-service:nth-child(4) { animation-delay: 210ms; }

.dd-wc-page .woocommerce,
.dd-wc-page .woocommerce-cart,
.dd-wc-page .woocommerce-checkout,
.dd-wc-page .woocommerce-account {
  color: var(--ink);
}
.dd-wc-page .woocommerce a.button,
.dd-wc-page .woocommerce button.button,
.dd-wc-page .woocommerce #place_order,
.dd-wc-page .woocommerce .checkout-button {
  background: var(--sky) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 12px 20px !important;
  font-weight: 700 !important;
}
.dd-wc-page .woocommerce a.button:hover,
.dd-wc-page .woocommerce button.button:hover,
.dd-wc-page .woocommerce #place_order:hover {
  background: #4ea9b5 !important;
}
.dd-wc-page .woocommerce table.shop_table {
  border: 1px solid #e6eef0;
  border-radius: 16px;
  overflow: hidden;
}
.dd-wc-page .woocommerce-message,
.dd-wc-page .woocommerce-info {
  border-top-color: var(--sky);
  background: var(--sage);
}
.dd-elementor-page .elementor-widget-heading .elementor-heading-title {
  color: var(--ink);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.dd-motion .dd-reveal { transform: none; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* WooCommerce/Elementor image + form rules must not blow up the site header. */
body.dd-body .dd-header .dd-header__row,
.woocommerce .dd-header .dd-header__row,
.woocommerce-page .dd-header .dd-header__row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap;
  gap: 28px;
  min-height: 92px;
}
body.dd-body .dd-header .dd-logo,
.woocommerce .dd-header .dd-logo,
.woocommerce-page .dd-header .dd-logo {
  flex: 0 0 auto !important;
  max-width: 210px;
}
body.dd-body .dd-header .dd-logo__img,
.woocommerce .dd-header img.dd-logo__img,
.woocommerce-page .dd-header img.dd-logo__img,
.woocommerce img.dd-logo__img,
.woocommerce-page img.dd-logo__img {
  display: block !important;
  height: 68px !important;
  width: auto !important;
  max-height: 68px !important;
  max-width: 210px !important;
  object-fit: contain !important;
}
body.dd-body .dd-header .dd-nav,
.woocommerce .dd-header .dd-nav,
.woocommerce-page .dd-header .dd-nav {
  display: flex !important;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}
body.dd-body .dd-header,
.woocommerce .dd-header,
.woocommerce-page .dd-header,
body.elementor-kit-95 .dd-header {
  background: #fff !important;
}
body.dd-body .dd-header .dd-nav__link,
.woocommerce .dd-header .dd-nav__link,
.woocommerce-page .dd-header .dd-nav__link,
body.elementor-kit-95 .dd-header .dd-nav__link {
  color: #111111 !important;
}
body.dd-body .dd-header .dd-nav__link:hover,
body.dd-body .dd-header .dd-nav__link.is-current {
  color: #F1A73C !important;
}
body.dd-body .dd-header .dd-btn--quote,
.woocommerce .dd-header .dd-btn--quote,
.woocommerce-page .dd-header .dd-btn--quote {
  display: inline-flex !important;
  flex: 0 0 auto;
  margin-left: auto;
  background: #111111 !important;
  color: #fff !important;
}
@media (max-width: 1240px) {
  body.dd-body .dd-header .dd-nav,
  .woocommerce .dd-header .dd-nav,
  .woocommerce-page .dd-header .dd-nav {
    display: none !important;
  }
}
@media (max-width: 700px) {
  body.dd-body .dd-header .dd-header__row,
  .woocommerce .dd-header .dd-header__row,
  .woocommerce-page .dd-header .dd-header__row {
    min-height: 64px !important;
    gap: 12px;
  }
  body.dd-body .dd-header .dd-logo,
  .woocommerce .dd-header .dd-logo,
  .woocommerce-page .dd-header .dd-logo {
    max-width: 150px;
  }
  body.dd-body .dd-header .dd-logo__img,
  .woocommerce .dd-header img.dd-logo__img,
  .woocommerce-page .dd-header img.dd-logo__img {
    height: 46px !important;
    max-height: 46px !important;
    max-width: 150px !important;
  }
}

@media (max-width: 480px) {
  .dd-wrap,
  .dd-mosaic-head { padding-inline: 14px; }
  .dd-banner__inner { padding: 22px 0 20px; }
  .dd-banner h1 { font-size: 26px; }
  .dd-section { padding: 36px 0; }
  .dd-section h2 { font-size: 24px; }
  .dd-quote { padding: 16px 14px 14px; }
  .dd-place img { height: 168px; }
  .dd-places { grid-template-columns: 1fr; }
  .dd-offers { grid-template-columns: 1fr; }
  .dd-offer__media img,
  .dd-journal__card img,
  .dd-pack__media img,
  .dd-about-offer img { height: 160px; }
  .dd-welcome__photo img,
  .dd-about__split img,
  .dd-about-hero__photo img,
  .dd-contact-board__photo img { height: 190px; }
  .dd-pagebanner__copy { padding: 32px 0 22px; }
  .dd-about-hero__actions .dd-btn,
  .dd-contact-board__actions .dd-btn { flex: 1 1 100%; }
  .dd-floats { right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); }
  .dd-floats__btn { width: 44px; height: 44px; }
}
