/* Carnival in Bermuda: restrained editorial structure. Accent sampled from supplied airport artwork. */
.case-page-bermuda {
  --accent: #ef8b4d;
  --bermuda-blue: #236faf;
}
.case-page-bermuda .g-opening {
  padding-bottom: 42px;
}
.case-page-bermuda .g-opening h1 {
  max-width: 860px;
  font-size: clamp(46px, 6.5vw, 88px);
  line-height: 0.98;
}
.case-page-bermuda .g-opening-note {
  max-width: 285px;
}
.bermuda-hero {
  margin-bottom: 76px;
}
.bermuda-hero .g-hero-media {
  background: #f8990c;
  border-radius: 9px;
  overflow: hidden;
}
.bermuda-hero .g-hero-media img {
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: 0;
}
.bermuda-hero .g-hero-media figcaption {
  background: #fff;
  padding: 12px 0 0;
}
.bermuda-project {
  row-gap: 72px;
}
.bermuda-proof {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(230px, 0.7fr);
  grid-template-rows: auto auto;
  gap: 28px 4.5%;
  align-items: end;
}
.bermuda-proof figure img {
  width: 100%;
  border-radius: 6px;
}
.bermuda-proof figcaption {
  padding-top: 10px;
}
.bermuda-proof-main {
  grid-row: 1/3;
}
.bermuda-proof-main img {
  aspect-ratio: 1.18;
  object-fit: cover;
  object-position: center 45%;
}
.bermuda-proof-inset {
  align-self: start;
}
.bermuda-proof-copy {
  padding: 10px 0 12px;
}
.bermuda-proof-copy h3 {
  font-size: clamp(29px, 3.4vw, 46px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.045em;
  margin: 0 0 18px;
}
.bermuda-proof-copy p:not(.g-kicker) {
  font-size: 16px;
  margin: 0;
  max-width: 350px;
}
.bermuda-calendar {
  padding: 14px 0 74px;
  border-bottom: 1px solid #ddd;
}
.bermuda-calendar > figure {
  justify-self: end;
}
.bermuda-calendar > figure img {
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.08);
}
.bermuda-outdoor {
  padding: 72px 0;
}
.bermuda-application {
  margin: 0 0 54px;
}
.bermuda-application img {
  width: 100%;
  border-radius: 7px;
}
.bermuda-application figcaption,
.bermuda-motion figcaption {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 11px;
}
.bermuda-outdoor-grid {
  padding: 0 5%;
}
.bermuda-outdoor-grid > figure:last-child {
  align-self: center;
}
.bermuda-outdoor-grid img {
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.07);
}
.bermuda-motion {
  padding: 64px 0 10px;
}
.bermuda-motion .case-airport {
  padding: 5.5% 4%;
  background: #f5f2ed;
  border-radius: 8px;
}
.bermuda-motion .case-airport img {
  border-radius: 3px;
  box-shadow: 0 18px 45px rgba(30, 24, 15, 0.12);
}
.bermuda-motion .case-airport figcaption {
  padding-top: 13px;
}
.bermuda-motion > .g-motion-toggle {
  display: block;
  margin: 14px 0 0 auto;
}
.bermuda-outcome {
  background: #ef8b4d;
}
.bermuda-calendar-life { margin-top: 32px !important; }
.bermuda-calendar-life img { border-radius: 5px; }
.bermuda-calendar-life figcaption { padding-top: 10px; }
.bermuda-djs { padding: 64px 0; border-bottom: 1px solid #ddd; }
.bermuda-dj-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.bermuda-dj-grid img { width: 100%; aspect-ratio: 4/5; object-fit: contain; border-radius: 4px; }
.bermuda-dj-grid figcaption { padding-top: 11px; }
.g-journey .bermuda-dj-hint { font-size: 12px; margin: 16px 0 32px; max-width: none; }
.bermuda-live-mosaic { display: grid; grid-template-columns: 1.9fr 1fr; gap: 24px; align-items: start; }
.bermuda-live-mosaic > div { display: grid; gap: 20px; }
.bermuda-live-mosaic img { width: 100%; height: auto; border-radius: 5px; }
.bermuda-live-mosaic > figure img { aspect-ratio: 1.4; object-fit: cover; }
.bermuda-live-mosaic figcaption { padding-top: 9px; }
.bermuda-airport-scene { position: relative; overflow: hidden; border-radius: 7px; isolation: isolate; }
.bermuda-airport-environment { width: 100%; height: auto; }
.bermuda-airport-display { position: absolute; left: 25.94%; top: 20.55%; width: 48.10%; height: 18.75%; display: flex; align-items: center; overflow: hidden; background: #171717; }
.bermuda-airport-display img { width: 100%; height: 100%; object-fit: contain; filter: brightness(.94) saturate(.96); }
.bermuda-airport-display::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg,rgba(255,255,255,.08),transparent 48%,rgba(0,0,0,.06)); box-shadow: inset 0 0 4px #0008; }
.bermuda-airport-original { display: inline-block; margin-top: 16px; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.bermuda-outcome .button {
  background: #fff;
  color: #171717;
}
.bermuda-outcome .button:hover {
  background: #f5f5f5;
  color: #171717;
}

@media (max-width: 950px) {
  .bermuda-project {
    row-gap: 54px;
  }
  .bermuda-proof {
    grid-template-columns: 1.5fr 0.8fr;
    gap: 22px 4%;
  }
  .bermuda-outdoor-grid {
    padding: 0;
  }
}

@media (max-width: 650px) {
  .bermuda-djs { padding: 38px 0; }
  .bermuda-dj-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 12px; }
  .bermuda-dj-grid figure { flex: 0 0 72%; scroll-snap-align: start; }
  .bermuda-live-mosaic { grid-template-columns: 1fr; gap: 20px; }
  .bermuda-live-mosaic > figure img { aspect-ratio: 3/2; }
  .bermuda-live-mosaic > div { grid-template-columns: 1fr 1fr; gap: 14px; }
  .bermuda-live-mosaic > div img { aspect-ratio: 1; object-fit: cover; }
  .bermuda-live-mosaic figcaption { font-size: 11px; }
  .bermuda-calendar-life { margin-top: 24px !important; }
  .case-page-bermuda .g-opening {
    padding-bottom: 27px;
  }
  .case-page-bermuda .g-opening h1 {
    font-size: clamp(42px, 12vw, 58px);
    line-height: 1;
  }
  .bermuda-hero {
    margin-bottom: 42px;
  }
  .bermuda-hero .g-hero-media figcaption,
  .bermuda-application figcaption,
  .bermuda-motion figcaption {
    display: block;
  }
  .bermuda-hero .g-hero-media figcaption span,
  .bermuda-application figcaption span,
  .bermuda-motion figcaption span {
    display: block;
  }
  .bermuda-project {
    row-gap: 32px;
  }
  .bermuda-proof {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 20px 14px;
  }
  .bermuda-proof-main {
    grid-column: 1/-1;
    grid-row: auto;
  }
  .bermuda-proof-main img {
    aspect-ratio: 1.18;
  }
  .bermuda-proof-inset {
    align-self: start;
  }
  .bermuda-proof-copy {
    padding: 0;
    align-self: center;
  }
  .bermuda-proof-copy .g-kicker {
    font-size: 10px !important;
    margin-bottom: 11px !important;
  }
  .bermuda-proof-copy h3 {
    font-size: 25px;
    margin-bottom: 10px;
  }
  .bermuda-proof-copy p:not(.g-kicker) {
    font-size: 13px;
    line-height: 1.5;
  }
  .bermuda-calendar {
    padding-bottom: 42px;
  }
  .bermuda-outdoor {
    padding: 42px 0;
  }
  .bermuda-application {
    margin-bottom: 30px;
  }
  .bermuda-outdoor-grid {
    grid-template-columns: 0.42fr 1fr;
    align-items: center;
  }
  .bermuda-motion {
    padding-top: 38px;
  }
  .bermuda-motion .case-airport {
    padding: 9% 4%;
  }
}
