:root {
  --navy: #500007 !important;
  --deep-navy: #500007 !important;
  --deep: #500007 !important;
  --orange: #FFC803 !important;
  --ink: #500007 !important;
  --muted: #6f4650 !important;
  --soft: #eef8fc !important;
  --line: #cce9f5 !important;
  --sky: #9FD6F3;
  --burgundy: #500007;
  --gold: #FFC803;
}

body,
.article p,
.article li,
.about-copy p,
.benefit p,
.footer-brand p,
.footer-brand > a,
.contact-person a {
  color: var(--burgundy) !important;
}

h1, h2, h3,
.article h2,
.article h3,
.catalog-card h2,
.related h2,
.related-card b,
.fact span,
.section-heading h2 {
  color: var(--burgundy) !important;
}

.eyebrow,
.related-card span,
.fact b {
  color: var(--burgundy) !important;
}

.services-shell .eyebrow,
.benefits .eyebrow,
.about-copy > .eyebrow {
  color: var(--gold) !important;
}

.about-copy > .eyebrow {
  font-size: 16px !important;
  line-height: 1.3;
}

.primary-button,
.contact-button,
.contact-pill,
.round-icon.orange,
.catalog-icon {
  border-color: var(--gold) !important;
  background: var(--gold) !important;
  color: var(--burgundy) !important;
}

.outline-button,
.secondary-button {
  border-color: var(--burgundy) !important;
  color: var(--burgundy) !important;
}

.menu-toggle,
.round-icon.navy,
.socials a,
.copyright,
.site-footer .copyright {
  background: var(--burgundy) !important;
  color: #fff !important;
}

.services-shell,
.fact,
.callout,
.about-cta {
  background-color: #eef8fc !important;
}

.main-nav a::after,
.callout {
  border-color: var(--gold) !important;
}

.main-nav a::after {
  background: var(--gold) !important;
}

.about-nav a.active {
  color: var(--burgundy) !important;
}

.service-hero::after {
  background: linear-gradient(90deg, rgba(80, 0, 7, .97) 0%, rgba(80, 0, 7, .88) 44%, rgba(80, 0, 7, .2) 78%) !important;
}

.service-hero .hero-copy h1,
.service-hero .hero-copy p {
  color: #fff !important;
}

.service-hero .eyebrow {
  color: var(--gold) !important;
}

.service-hero .secondary-button {
  border-color: var(--sky) !important;
  background: rgba(159, 214, 243, .12) !important;
  color: #fff !important;
}

.about-main,
.about-visual,
.related-card,
.catalog-card {
  border-color: var(--sky) !important;
}

.experience-badge {
  background: var(--gold) !important;
  color: var(--burgundy) !important;
}

.mini-stats {
  background: var(--burgundy) !important;
  color: #fff !important;
}

.mini-stats strong {
  color: var(--gold) !important;
}

.mini-stats span {
  color: #fff !important;
}

/* Dark photographic surfaces always use light copy. */
.early-booking::after {
  background: linear-gradient(90deg, rgba(80, 0, 7, .97), rgba(80, 0, 7, .88) 48%, rgba(80, 0, 7, .2) 82%) !important;
}

.early-booking h2,
.early-booking p {
  color: #fff !important;
}

.early-booking h2 span {
  color: var(--gold) !important;
}

.page-title-shade {
  background: linear-gradient(90deg, rgba(80, 0, 7, .9), rgba(80, 0, 7, .58) 44%, rgba(80, 0, 7, .08)) !important;
}

/* Light sky panels use burgundy copy; yellow actions use burgundy labels. */
.about-cta,
.about-cta h2,
.about-cta p {
  color: var(--burgundy) !important;
}

.about-cta > a,
.about-contact,
.success-icon {
  border-color: var(--gold) !important;
  background: var(--gold) !important;
  color: var(--burgundy) !important;
}

.service-card,
.related-card,
.catalog-card,
.site-footer {
  background: #fff !important;
  color: var(--burgundy) !important;
}

.brand img,
.about-brand img {
  width: 190px !important;
  height: auto !important;
  max-height: 88px;
  object-fit: contain;
  mix-blend-mode: normal !important;
}

.footer-brand img,
.footer-inner img {
  width: 190px !important;
  height: auto !important;
  max-height: 100px;
  object-fit: contain;
}

/* Footer now contains the brand block and one contact person. */
.footer-main {
  grid-template-columns: minmax(260px, 1.25fr) minmax(260px, 1fr) !important;
}

@media (max-width: 760px) {
  .brand img,
  .about-brand img {
    width: 128px !important;
    max-height: 64px;
  }

  .footer-main {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 761px) {
  .hero-content,
  .feature-slide-content {
    width: min(60%, 780px) !important;
  }

  .hero h1,
  .feature-slide-content h1 {
    font-size: clamp(42px, 3.5vw, 54px) !important;
  }

  .hero h1.inline-title {
    white-space: nowrap;
  }
}

/* Keep the slider as one layered hero through mobile and small-tablet widths. */
@media (max-width: 900px) {
  .hero,
  .hero.feature-hero {
    min-height: 650px !important;
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: flex-start !important;
    background: var(--sky) !important;
  }

  .hero .hero-image,
  .hero.feature-hero .hero-image {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .hero-image.santorini-slide {
    object-position: 68% center !important;
  }

  .hero-image.lake-slide {
    object-position: 62% center !important;
  }

  .hero-image.corporate-slide,
  .hero-image.school-slide {
    object-position: 70% center !important;
  }

  .hero-fade {
    background: linear-gradient(180deg, rgba(159, 214, 243, .99) 0%, rgba(159, 214, 243, .96) 48%, rgba(159, 214, 243, .82) 64%, rgba(159, 214, 243, .35) 82%, rgba(159, 214, 243, .06) 100%) !important;
  }

  .hero-content,
  .feature-slide-content {
    width: 100% !important;
    max-width: none !important;
    padding: 30px 22px 24px !important;
  }

  .hero h1,
  .feature-slide-content h1 {
    max-width: 100% !important;
    font-size: clamp(18px, 5.5vw, 32px) !important;
    line-height: 1 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
  }

  .hero h1 span,
  .hero h1.inline-title span {
    display: inline !important;
    margin-right: .18em !important;
  }
}

/* Sky-blue photographic overlays requested for hero and pre-footer areas. */
.hero-fade {
  background: linear-gradient(90deg, rgba(159, 214, 243, .98) 0%, rgba(159, 214, 243, .92) 30%, rgba(159, 214, 243, .58) 52%, rgba(159, 214, 243, .08) 72%) !important;
}

.service-hero::after {
  background: linear-gradient(90deg, rgba(159, 214, 243, .97) 0%, rgba(159, 214, 243, .88) 44%, rgba(159, 214, 243, .18) 78%) !important;
}

.page-title-shade {
  background: linear-gradient(90deg, rgba(159, 214, 243, .94) 0%, rgba(159, 214, 243, .68) 44%, rgba(159, 214, 243, .12) 78%) !important;
}

.early-booking::after {
  background: linear-gradient(90deg, rgba(159, 214, 243, .98) 0%, rgba(159, 214, 243, .9) 48%, rgba(159, 214, 243, .22) 82%) !important;
}

.service-hero .hero-copy h1,
.service-hero .hero-copy p,
.service-hero .eyebrow,
.page-title,
.page-title h1,
.page-title-copy p,
.page-title-copy span,
.early-booking h2,
.early-booking h2 span,
.early-booking p {
  color: var(--burgundy) !important;
}

.service-hero .secondary-button {
  border-color: var(--burgundy) !important;
  background: rgba(255, 255, 255, .42) !important;
  color: var(--burgundy) !important;
}

@media (max-width: 760px) {
  .hero-fade {
    background: linear-gradient(180deg, rgba(159, 214, 243, .98) 0%, rgba(159, 214, 243, .9) 48%, rgba(159, 214, 243, .3) 72%, rgba(159, 214, 243, 0) 88%) !important;
  }

  .service-hero::after,
  .page-title-shade {
    background: linear-gradient(180deg, rgba(159, 214, 243, .97) 0%, rgba(159, 214, 243, .84) 58%, rgba(159, 214, 243, .2) 100%) !important;
  }
}
