.noel-trim {
  position: absolute;
  inset: 0 0 auto;
  height: 220px;
  pointer-events: none;
}
.noel-lights {
  height: 36px;
  background-image:
    radial-gradient(ellipse 2px 3px at 10px 10px, #fff7cf 70%, transparent),
    radial-gradient(circle 7px at 10px 10px, #ffc87a9c, transparent),
    radial-gradient(ellipse 2px 3px at 49px 16px, #fff4ce 75%, transparent),
    radial-gradient(circle 9px at 49px 16px, #ffd073b8, transparent),
    radial-gradient(ellipse 2px 3px at 88px 10px, #fff7cf 70%, transparent),
    radial-gradient(circle 7px at 88px 10px, #ffc87a9c, transparent),
    radial-gradient(ellipse 61px 29px at 49px -15px, transparent 96%, #c4a472 98%, transparent);
  background-size: 98px 36px;
}
.noel-ornaments {
  position: absolute;
  top: 0;
  right: clamp(24px, 5vw, 100px);
  width: 164px;
}
.noel-ball {
  position: absolute;
  top: var(--drop);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: 1px solid #ead6a980;
  background:
    radial-gradient(ellipse at 31% 24%, #fff9dcaa, transparent 17%),
    repeating-linear-gradient(50deg, transparent 0 13px, #ffeac54a 14px, transparent 15px),
    radial-gradient(circle at 36% 32%, var(--light), var(--base) 61%, var(--shade) 100%);
  box-shadow: inset -4px -5px 8px #23160844, 2px 4px 8px #1a100c3b;
}
.noel-ball::before, .noel-ball::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); }
.noel-ball::before { bottom: 100%; height: var(--drop); width: 1px; background: #efd9a8; }
.noel-ball::after {
  bottom: 96%; width: 24%; height: 12%; border-radius: 2px;
  background: repeating-linear-gradient(90deg, #ae843e, #fbe0a4 3px, #997338 5px);
}
.noel-gold { --size: 44px; --drop: 54px; --light: #ffe2a0; --base: #c38e39; --shade: #6e491f; left: 0; }
.noel-ruby { --size: 65px; --drop: 88px; --light: #d66563; --base: #932936; --shade: #4a1222; left: 50px; }
.noel-pearl { --size: 35px; --drop: 34px; --light: #fff8e6; --base: #e3cb9b; --shade: #90764d; right: 0; }
@media (max-width: 650px) {
  .noel-trim { height: 86px; }
  .noel-ornaments { right: 14px; transform: scale(.48); transform-origin: top right; }
}

/* Campaign colours and artwork are only enabled during the seasonal window. */
.hero-seasonal, .is-noel .hero-standard { display: none; }
.is-noel .hero-seasonal { display: inline; }
.is-noel {
  --pine: #103c34;
  --cranberry: #81283b;
  --paper: #fffcf5;
  --ink: #183930;
  --gold: #edca80;
  --gold-dark: #7b592c;
  --line: #dfd5bd;
}
.is-noel .topbar { background: #671e30; color: #fff4da; }
.is-noel .language-picker select, .is-noel .language-picker option { background: #501827; }
.is-noel .header { background: #fffdf8; border-bottom: 2px solid #c6a66a; }
.is-noel .header .brand { mix-blend-mode: multiply; }
.is-noel .hero { background: #0b322c; }
.is-noel .hero-image { object-position: center; }
.is-noel .hero-shade {
  background: linear-gradient(90deg, #082a27ed 0%, #0b302ab5 24%, #0a242132 46%, transparent 66%),
              linear-gradient(0deg, #0a27294d, transparent 26%);
}
.is-noel .hero-content { position: relative; }
.is-noel .hero h1 em { color: #f4d599; }
.is-noel .noel-ornaments { transform: scale(.72); transform-origin: right top; }
.is-noel .quick-book { border-top: 4px solid var(--cranberry); }
.is-noel .btn-dark, .is-noel .floating-contact {
  color: #fff9eb; background: var(--cranberry); border-color: #bd965e;
}
.is-noel .btn-dark:hover, .is-noel .floating-contact:hover { background: #64192a; }
.is-noel .btn-gold { background: var(--gold); color: #17352d; }
.is-noel .filters button.active, .is-noel .price-controls, .is-noel .rental-controls,
.is-noel .about-section { background: var(--pine); color: #fff8e8; }
.is-noel :is(.price-controls, .rental-controls) :is(input,select,option) {
  background: #21493f; color: #fffaf0; border-color: #779383;
}
.is-noel .pricing-section { background: #eef3eb; }
.is-noel .rental-section { background: #fbf1e9; }
.is-noel .price-highlight { border-top: 3px solid #b79858; }
.is-noel .price-highlight strong, .is-noel .price-amount { color: var(--pine); }
.is-noel .section-top .eyebrow, .is-noel .service-intro .eyebrow { color: var(--cranberry); }
.is-noel .contact-section { background: #f2e9d7; }
.is-noel .contact-inner {
  background-color: #103c34;
  background-image: radial-gradient(ellipse at top, #245447, transparent 68%);
}
.is-noel :is(.fleet-section, .contact-inner) { position: relative; }
.is-noel .fleet-section::before, .is-noel .contact-inner::before {
  content: '';
  display: block;
  pointer-events: none;
  width: min(260px, 64vw);
  height: 95px;
  margin: -32px auto 10px;
  background: url('assets/boss-christmas-swag.webp') center / contain no-repeat;
}
.is-noel .contact-inner::before { margin-top: -18px; }
.is-noel footer { border-top: 3px solid var(--cranberry); }
@media (max-width: 650px) {
  .is-noel .hero {
    height: auto;
    display: flex;
    flex-direction: column;
  }
  .is-noel .hero-content {
    order: -1;
    padding-block: 40px 20px;
  }
  .is-noel .hero-image {
    position: relative;
    display: block;
    width: 100%;
    height: clamp(235px, 63vw, 378px);
    object-fit: cover;
    object-position: right center;
    z-index: 0;
  }
  .is-noel .hero-shade { display: none; }
  .is-noel .hero-location { margin-top: 17px; }
  .is-noel .image-note { bottom: 10px; }
  .is-noel .booking-wrap { margin-top: 0; }
  .is-noel .noel-ornaments { transform: scale(.58); }
  .is-noel .fleet-section::before, .is-noel .contact-inner::before {
    width: 165px; height: 62px; margin: -12px auto 15px;
  }
}
@media (max-width: 1200px) {
  .is-noel .nav-wrap::after {
    content: '';
    position: absolute;
    left: 55%; top: 50%;
    transform: translate(-50%, -50%);
    width: clamp(90px, 25vw, 175px); height: 54px;
    background: url('assets/boss-christmas-swag.webp') center / contain no-repeat;
    pointer-events: none;
  }
}
