/* Final theme-proof presentation rules, loaded on all Doris Mare demo pages. */
body.doris-mare-demo-page {
  --ink: #102b31 !important;
  --deep: #0b2228 !important;
  --sea: #174750 !important;
  --foam: #edf0e8 !important;
  --sand: #d5c3a1 !important;
  --gold: #b79b69 !important;
  --muted: #8d9c98 !important;
  background: var(--foam) !important;
  color: var(--ink) !important;
  font-family: 'DM Sans', Arial, sans-serif !important;
}
body.doris-mare-demo-page .elementor-widget-html,
body.doris-mare-demo-page .elementor-widget-container,
body.doris-mare-demo-page .elementor-element { max-width: none; }
body.doris-mare-demo-page .hero-photo {
  background-position: center 52% !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
body.doris-mare-demo-page .hero-photo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7,26,30,.72), rgba(7,26,30,.18) 78%), linear-gradient(0deg, rgba(7,26,30,.4), transparent 55%);
  pointer-events: none;
}

/* Keep homepage type colors consistent with the palette and line up the experience cards. */
body.doris-mare-demo-page .intro,
body.doris-mare-demo-page .stats,
body.doris-mare-demo-page .offers,
body.doris-mare-demo-page .moments,
body.doris-mare-demo-page .blog {
  color: #102b31 !important;
}
body.doris-mare-demo-page .intro h2,
body.doris-mare-demo-page .section-head h2,
body.doris-mare-demo-page .offers-head h2,
body.doris-mare-demo-page .moments-top h2,
body.doris-mare-demo-page .blog-head h2 {
  color: #102b31 !important;
}
body.doris-mare-demo-page .intro h2 em,
body.doris-mare-demo-page .section-head h2 em,
body.doris-mare-demo-page .offers-head h2 em,
body.doris-mare-demo-page .moments-top h2 em,
body.doris-mare-demo-page .blog-head h2 em { color: #8b7046 !important; }
body.doris-mare-demo-page .services .section-head h2 { color: #edf0e8 !important; }
body.doris-mare-demo-page .services .section-head h2 em { color: #d5c3a1 !important; }
body.doris-mare-demo-page .hero .hero-content h1,
body.doris-mare-demo-page .hero .hero-content h1 em,
body.doris-mare-demo-page .services .scene-copy h3,
body.doris-mare-demo-page .services .scene-copy h3 em,
body.doris-mare-demo-page .services .service h3 { color: #fff !important; }
body.doris-mare-demo-page .services .scene-copy p { color: #d1d9d3 !important; }
body.doris-mare-demo-page .intro-right p,
body.doris-mare-demo-page .offers-head p,
body.doris-mare-demo-page .moments-top p,
body.doris-mare-demo-page .blog-head p {
  color: #52645e !important;
}
body.doris-mare-demo-page .offers {
  padding-right: max(24px, calc((100% - 1240px) / 2)) !important;
  padding-left: max(24px, calc((100% - 1240px) / 2)) !important;
}
body.doris-mare-demo-page .offers-head {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 38px !important;
  align-items: end !important;
}
body.doris-mare-demo-page .offer-grid {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  align-items: stretch !important;
}
body.doris-mare-demo-page .offer-card {
  min-width: 0 !important;
  min-height: 360px !important;
  height: 360px !important;
  background: #17383d !important;
}
body.doris-mare-demo-page .offer-card > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.doris-mare-demo-page .offer-copy { z-index: 2 !important; color: #fff !important; }
body.doris-mare-demo-page .offer-copy h3 { color: #fff !important; }
body.doris-mare-demo-page .offer-copy p { color: #e5e9e4 !important; }
body.doris-mare-demo-page .experience {
  align-items: stretch !important;
  min-height: 710px !important;
}
body.doris-mare-demo-page .experience-image {
  align-self: stretch !important;
  height: auto !important;
  min-height: 0 !important;
}
body.doris-mare-demo-page .experience-image > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.doris-mare-demo-page .experience-copy {
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
body.doris-mare-demo-page #contactForm button[type="submit"] { cursor: pointer !important; }
body.doris-mare-demo-page .journal-grid {
  display: grid !important;
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
}
body.doris-mare-demo-page .journal-grid .blog-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-width: 0 !important;
  background: #f8f7f2 !important;
}
body.doris-mare-demo-page .journal-grid .blog-card > a:first-child {
  display: block !important;
  flex: 0 0 238px !important;
  height: 238px !important;
  overflow: hidden !important;
}
body.doris-mare-demo-page .journal-grid .blog-card > a:first-child img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
body.doris-mare-demo-page .journal-grid .blog-card > div {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
body.doris-mare-demo-page .journal-grid .blog-card > div > a:last-child { margin-top: auto !important; }
body.doris-mare-demo-page .topbar .nav-dropdown::before {
  content: '' !important;
  position: absolute !important;
  top: -14px !important;
  left: 0 !important;
  right: 0 !important;
  height: 14px !important;
}

/* The reference title belongs to the hero; show only the logo wall below it. */
body.doris-mare-demo-page .reference-section {
  padding: 34px 0 72px !important;
  background: #f3f0e8 !important;
  color: #102b31 !important;
}
body.doris-mare-demo-page .reference-section > .people-heading { display: none !important; }
body.doris-mare-demo-page .reference-logos {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: min(1240px, calc(100% - 64px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
}
body.doris-mare-demo-page .reference-logo,
body.doris-mare-demo-page .reference-logo:nth-child(n) {
  display: flex !important;
  grid-column: auto !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 148px !important;
  height: 148px !important;
  padding: 22px !important;
  border: 1px solid rgba(16,43,49,.12) !important;
  background: #fffefa !important;
  box-shadow: 0 12px 28px rgba(16,43,49,.06) !important;
}
body.doris-mare-demo-page .reference-logo img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: 92px !important;
  object-fit: contain !important;
  filter: none !important;
}

body.doris-mare-demo-page .menu-btn {
  position: relative !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
body.doris-mare-demo-page .menu-btn::before,
body.doris-mare-demo-page .menu-btn::after {
  content: '' !important;
  position: absolute !important;
  left: 11px !important;
  width: 20px !important;
  height: 2px !important;
  border-radius: 2px !important;
  background: currentColor !important;
  transition: transform .2s ease, top .2s ease !important;
}
body.doris-mare-demo-page .menu-btn::before { top: 15px !important; box-shadow: 0 6px 0 currentColor !important; }
body.doris-mare-demo-page .menu-btn::after { top: 27px !important; }
body.doris-mare-demo-page .menu-btn.is-open::before { top: 21px !important; transform: rotate(45deg) !important; box-shadow: none !important; }
body.doris-mare-demo-page .menu-btn.is-open::after { top: 21px !important; transform: rotate(-45deg) !important; }

@media (max-width: 760px) {
  body.doris-mare-demo-page .hero { min-height: 620px !important; height: min(790px, 100svh) !important; }
  body.doris-mare-demo-page .hero-content { width: auto !important; max-width: 100% !important; margin: 0 24px 70px !important; }
  body.doris-mare-demo-page .hero h1 { font-size: clamp(42px, 12vw, 68px) !important; line-height: 1.02 !important; overflow-wrap: anywhere; }
  body.doris-mare-demo-page .hero-copy,
  body.doris-mare-demo-page .hero p { max-width: 100% !important; font-size: 14px !important; }
  body.doris-mare-demo-page .hero-actions { flex-wrap: wrap !important; gap: 14px 20px !important; }
  body.doris-mare-demo-page .content,
  body.doris-mare-demo-page .intro,
  body.doris-mare-demo-page .blog,
  body.doris-mare-demo-page .offers { padding-right: 22px !important; padding-left: 22px !important; }
  body.doris-mare-demo-page .offers-head { margin-bottom: 24px !important; }
  body.doris-mare-demo-page .offer-card { height: 300px !important; min-height: 300px !important; }
  body.doris-mare-demo-page .journal-grid .blog-card > a:first-child { flex-basis: 220px !important; height: 220px !important; }
  body.doris-mare-demo-page .columns,
  body.doris-mare-demo-page .experience,
  body.doris-mare-demo-page .service-scene,
  body.doris-mare-demo-page .service-scene:nth-child(even) { grid-template-columns: minmax(0, 1fr) !important; }
  body.doris-mare-demo-page .service-scene:nth-child(even) .scene-copy,
  body.doris-mare-demo-page .service-scene:nth-child(even) .scene-art { order: initial !important; }
  body.doris-mare-demo-page .visual,
  body.doris-mare-demo-page .experience-image,
  body.doris-mare-demo-page .scene-art { min-height: 260px !important; height: 300px !important; transform: none !important; }
  body.doris-mare-demo-page .experience-image { height: 430px !important; min-height: 430px !important; }
  body.doris-mare-demo-page .tiles,
  body.doris-mare-demo-page .blog-grid,
  body.doris-mare-demo-page .offer-grid,
  body.doris-mare-demo-page .fleet-grid,
  body.doris-mare-demo-page .people-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.doris-mare-demo-page .fleet-filters,
  body.doris-mare-demo-page .filter-row { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
  body.doris-mare-demo-page select,
  body.doris-mare-demo-page input,
  body.doris-mare-demo-page textarea { max-width: 100% !important; min-width: 0 !important; }
  body.doris-mare-demo-page .reference-section { padding: 24px 0 48px !important; }
  body.doris-mare-demo-page .reference-logos { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; width: calc(100% - 32px) !important; }
  body.doris-mare-demo-page .reference-logo,
  body.doris-mare-demo-page .reference-logo:nth-child(n) { min-height: 112px !important; height: 112px !important; padding: 13px !important; }
  body.doris-mare-demo-page .reference-logo img { max-height: 70px !important; }
  body.doris-mare-demo-page .gallery { padding: 0 20px !important; overflow-x: auto !important; }
  body.doris-mare-demo-page .gallery-card { flex: 0 0 78vw !important; height: 300px !important; }
  body.doris-mare-demo-page .gallery-card:nth-child(2) { height: 300px !important; }
  body.doris-mare-demo-page .topbar .nav { width: 100vw !important; max-width: 100vw !important; }
  body.doris-mare-demo-page .topbar .nav a,
  body.doris-mare-demo-page .topbar .nav-group-trigger { overflow-wrap: anywhere !important; }
}
@media (max-width: 380px) {
  body.doris-mare-demo-page .reference-logos { grid-template-columns: minmax(0, 1fr) !important; }
  body.doris-mare-demo-page .hero-content { margin-right: 18px !important; margin-left: 18px !important; }
}
body.doris-mare-demo-page .project-gallery{background:#0b2228!important;color:#edf0e8!important}
body.doris-mare-demo-page .project-gallery h2,body.doris-mare-demo-page .project-gallery h2 em,body.doris-mare-demo-page .project-gallery .project-grid .tile h3{color:#fff!important}
body.doris-mare-demo-page .project-gallery .copy{color:#d6ded8!important}
body.doris-mare-demo-page .project-gallery .project-grid .tile{background:#174750!important}
