/* O5 Award Homepage — hero, route theatre, and locked horizontal route belt */
:root{--o5-ease:cubic-bezier(.16,1,.3,1)}
.ol-o5-award-hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;isolation:isolate;padding:clamp(8rem,12vw,11rem) clamp(1rem,5vw,5rem) clamp(5rem,8vw,7rem);background:#050806;color:#fff;--mx:50%;--my:42%;}
.ol-o5-award-media,.ol-o5-award-video,.ol-o5-award-placeholder,.ol-o5-award-depth,.ol-o5-award-mask{position:absolute;inset:0;}
.ol-o5-award-media{z-index:-4;overflow:hidden;background:#050806;}
.ol-o5-award-placeholder{z-index:0;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.12),transparent 24rem),linear-gradient(135deg,rgba(255,255,255,.05),transparent);filter:blur(14px);transform:scale(1.04);}
.ol-o5-award-video{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12) translate3d(calc((var(--mx) - 50%) * -.018),calc((var(--my) - 50%) * -.012),0);filter:saturate(1.06) contrast(1.08) brightness(.74);transition:opacity 1.65s var(--o5-ease),transform 8s var(--o5-ease),filter 1.65s var(--o5-ease);will-change:opacity,transform;}
.ol-o5-award-video.is-active{opacity:1;transform:scale(1.025) translate3d(calc((var(--mx) - 50%) * -.018),calc((var(--my) - 50%) * -.012),0);}
.ol-o5-award-depth{z-index:2;pointer-events:none;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.08),transparent 22rem),linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.46) 48%,rgba(0,0,0,.16)),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.88));backdrop-filter:blur(0px);}
.ol-o5-award-mask{z-index:3;pointer-events:none;opacity:.17;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");}
.ol-o5-award-telemetry{position:absolute;inset:0;z-index:-1;opacity:.22;pointer-events:none;mix-blend-mode:screen;}
.ol-o5-award-content{position:relative;z-index:5;max-width:1120px;transform:translate3d(calc((var(--mx) - 50%) * .006),calc((var(--my) - 50%) * .004),0);transition:transform .14s linear;}
.ol-o5-award-kicker,.ol-o5-route-theatre-copy p{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:950;opacity:.76;margin:0 0 1rem;}
.ol-o5-award-hero h1{font-family:var(--ol-font-display,Georgia,serif);font-size:clamp(3.4rem,9vw,9.6rem);line-height:.82;letter-spacing:-.078em;margin:0;max-width:1180px;text-wrap:balance;text-shadow:0 38px 140px rgba(0,0,0,.55);}
.ol-o5-award-lede{max-width:760px;font-size:clamp(1rem,1.45vw,1.26rem);line-height:1.72;margin:1.25rem 0 0;color:rgba(255,255,255,.82);}
.ol-o5-award-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.8rem;}
.ol-o5-award-primary,.ol-o5-award-secondary,.ol-o5-award-audio{min-height:48px;border-radius:999px;padding:.9rem 1.14rem;font-family:var(--ol-font-ui,Inter,sans-serif);font-weight:950;text-decoration:none;cursor:pointer;transition:transform .22s var(--o5-ease),opacity .22s ease,box-shadow .22s ease;border:1px solid rgba(255,255,255,.18);}
.ol-o5-award-primary{background:rgba(255,255,255,.92);color:#101310;border-color:transparent;box-shadow:0 22px 70px rgba(0,0,0,.28);}
.ol-o5-award-secondary,.ol-o5-award-audio{background:rgba(255,255,255,.10);color:#fff;backdrop-filter:blur(14px);}
.ol-o5-award-audio{display:grid;gap:.2rem;text-align:left;min-width:min(100%,260px);}
.ol-o5-award-audio span{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7}.ol-o5-award-audio b{font-size:.82rem;white-space:normal;}
.ol-o5-award-primary:hover,.ol-o5-award-secondary:hover,.ol-o5-award-audio:hover{transform:translateY(-2px) scale(1.01);}
.ol-o5-award-chiprail{position:absolute;z-index:6;left:clamp(1rem,5vw,5rem);right:clamp(1rem,5vw,5rem);bottom:clamp(1rem,3vw,2rem);display:flex;gap:.55rem;overflow:auto;scrollbar-width:none;}
.ol-o5-award-chiprail::-webkit-scrollbar{display:none}.ol-o5-award-chip{flex:0 0 auto;display:flex;align-items:center;gap:.55rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#fff;padding:.65rem .78rem;backdrop-filter:blur(14px);font-family:var(--ol-font-ui,Inter,sans-serif);font-weight:950;cursor:pointer;transition:transform .22s var(--o5-ease),background .22s ease,box-shadow .22s ease;}.ol-o5-award-chip span{font-size:.65rem;opacity:.7}.ol-o5-award-chip b{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.ol-o5-award-chip.is-active{background:rgba(255,255,255,.22);box-shadow:0 0 0 1px rgba(255,255,255,.20),0 0 34px rgba(255,255,255,.18);transform:translateY(-2px)}
.ol-o5-route-theatre{position:relative;overflow:hidden;isolation:isolate;padding:clamp(5rem,9vw,8rem) clamp(1rem,5vw,5rem);background:#07110d;color:#fff;}
.ol-o5-route-theatre-bg{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(135deg,rgba(0,0,0,.72),rgba(0,0,0,.30)),var(--o5-route-bg, url('../media/cinematic/photos/golden grass migration theatre Masai Mara.avif'));background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.06);transform:scale(1.08);transition:background-image .55s ease,transform 1.2s var(--o5-ease),filter .55s ease;}
.ol-o5-route-theatre::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 76% 25%,rgba(255,255,255,.10),transparent 20rem),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.78));}
.ol-o5-route-theatre-shell{width:min(1480px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,5rem);align-items:center;}
.ol-o5-route-theatre-copy h2{font-family:var(--ol-font-display,Georgia,serif);font-size:clamp(2.4rem,6vw,6.6rem);line-height:.9;letter-spacing:-.065em;margin:0;text-wrap:balance}.ol-o5-route-theatre-copy span{display:block;margin-top:1rem;max-width:640px;color:rgba(255,255,255,.72);line-height:1.75;}
.ol-o5-route-theatre-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;}
.ol-o5-route-theatre-card{position:relative;min-height:280px;border-radius:2rem;overflow:hidden;padding:1.15rem;display:flex;flex-direction:column;justify-content:flex-end;background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.82)),var(--route-image);background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.12);box-shadow:0 32px 100px rgba(0,0,0,.32);transition:transform .55s var(--o5-ease),opacity .4s ease,filter .4s ease;}
.ol-o5-route-theatre-card:not(.is-active){opacity:.72;filter:saturate(.75)}.ol-o5-route-theatre-card.is-active,.ol-o5-route-theatre-card:hover,.ol-o5-route-theatre-card:focus-visible{opacity:1;filter:none;transform:translateY(-6px) scale(1.015)}.ol-o5-route-theatre-card span{position:absolute;top:1rem;left:1rem;width:2.2rem;height:2.2rem;border-radius:999px;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(10px);font-size:.75rem;font-weight:950}.ol-o5-route-theatre-card small{font-weight:950;letter-spacing:.16em;text-transform:uppercase;font-size:.64rem;opacity:.76}.ol-o5-route-theatre-card h3{font-family:var(--ol-font-display,Georgia,serif);font-size:clamp(1.7rem,3vw,3rem);line-height:1;margin:.45rem 0}.ol-o5-route-theatre-card p{line-height:1.55;color:rgba(255,255,255,.76);margin:0 0 1rem}.ol-o5-route-theatre-card a{color:#fff;text-decoration:none;font-weight:950;border-bottom:1px solid rgba(255,255,255,.55);width:max-content}.ol-o5-route-theatre-orbit{position:absolute;right:8%;top:12%;width:min(34vw,480px);aspect-ratio:1;border-radius:999px;border:1px solid rgba(255,255,255,.08);opacity:.35;pointer-events:none;animation:o5Orbit 16s linear infinite}.ol-o5-route-theatre-orbit i{position:absolute;width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.8);box-shadow:0 0 24px rgba(255,255,255,.6)}.ol-o5-route-theatre-orbit i:nth-child(1){left:50%;top:-5px}.ol-o5-route-theatre-orbit i:nth-child(2){right:9%;bottom:16%}.ol-o5-route-theatre-orbit i:nth-child(3){left:10%;bottom:18%}@keyframes o5Orbit{to{transform:rotate(360deg)}}
#destination-scroll[data-route-belt-mode="vertical-driven"].o5-belt-wheel-locking{scroll-margin-top:0}.o5-belt-wheel-locking .ix-route-stage{box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}#destination-scroll .ix-h-card{transform-style:preserve-3d;perspective:1000px;transition:opacity .25s ease,transform .7s var(--o5-ease),filter .3s ease!important;}#destination-scroll .ix-h-card:not(.is-active){transform:rotateY(-9deg) rotateZ(-1.2deg) scale(.92)!important;filter:saturate(.76) brightness(.82);}#destination-scroll .ix-h-card.is-active{transform:rotateY(0deg) rotateZ(0deg) scale(1)!important;filter:none;animation:o5FocusSpin .72s var(--o5-ease) both;}@keyframes o5FocusSpin{0%{transform:rotateY(18deg) rotateZ(5deg) scale(.86)}58%{transform:rotateY(-4deg) rotateZ(-1deg) scale(1.018)}100%{transform:rotateY(0) rotateZ(0) scale(1)}}
#destination-scroll .ix-h-card.is-audio-live::before{content:"";position:absolute;inset:10px;border-radius:inherit;border:1px solid rgba(255,255,255,.30);box-shadow:0 0 48px rgba(255,255,255,.16);z-index:3;pointer-events:none;}
@media(max-width:900px){.ol-o5-award-hero{min-height:96svh;padding:7rem 1rem 6.2rem}.ol-o5-award-hero h1{font-size:clamp(3rem,15vw,4.75rem)}.ol-o5-award-lede{font-size:1rem}.ol-o5-award-actions{display:grid;grid-template-columns:1fr}.ol-o5-award-primary,.ol-o5-award-secondary,.ol-o5-award-audio{width:100%;justify-content:center;text-align:center}.ol-o5-award-chiprail{left:1rem;right:1rem}.ol-o5-route-theatre-shell{grid-template-columns:1fr}.ol-o5-route-theatre-grid{grid-template-columns:1fr}.ol-o5-route-theatre-card{min-height:330px}.ol-o5-route-theatre-orbit{display:none}#destination-scroll .ix-h-card:not(.is-active),#destination-scroll .ix-h-card.is-active{transform:none!important;animation:none!important}}
@media(prefers-reduced-motion:reduce){.ol-o5-award-video,.ol-o5-award-content,.ol-o5-route-theatre-card,#destination-scroll .ix-h-card{transition:none!important;animation:none!important;transform:none!important}.ol-o5-route-theatre-orbit{animation:none!important}}

/* O5 route intelligence media revision — Pulse Ken Burns slideshow + landscape-video sync */
.ol-o5-route-theatre[data-o5-route-kenburns] {
  contain: paint;
  min-height: clamp(780px, 92vh, 1120px);
}
.ol-o5-route-theatre[data-o5-route-kenburns] .ol-o5-route-theatre-bg,
.ol-o5-route-theatre[data-o5-route-kenburns] .ol-o5-route-theatre-bg-next {
  background-image:
    linear-gradient(135deg, rgba(0,0,0,.66), rgba(0,0,0,.24)),
    var(--o5-route-bg, url('../media/cinematic/photos/golden grass migration theatre Masai Mara.avif'));
  background-size: cover;
  background-position: center;
  will-change: transform, opacity, filter;
  transform: scale(1.035);
  opacity: 1;
  transition: opacity .95s ease, transform 4s ease-in-out, filter .95s ease;
}
.ol-o5-route-theatre[data-o5-route-kenburns] .ol-o5-route-theatre-bg-next {
  z-index: -2;
  opacity: 0;
}
.ol-o5-route-theatre[data-o5-route-kenburns].is-bg-swapping .ol-o5-route-theatre-bg-next {
  opacity: 1;
  transform: scale(1.095);
}
.ol-o5-route-theatre[data-o5-route-kenburns].is-bg-pulsing .ol-o5-route-theatre-bg.is-active {
  animation: o5RoutePulseKenBurns 4s ease-in-out both;
}
@keyframes o5RoutePulseKenBurns {
  0% { transform: scale(1.035) translate3d(0,0,0); filter: saturate(1) contrast(1.02); }
  42% { transform: scale(1.075) translate3d(.35rem,-.25rem,0); filter: saturate(1.08) contrast(1.06); }
  100% { transform: scale(1.105) translate3d(-.22rem,.18rem,0); filter: saturate(1.04) contrast(1.04); }
}
.ol-o5-route-theatre-landscapes {
  display: grid;
  grid-template-columns: 1.1fr .78fr;
  gap: .75rem;
  margin-top: clamp(1.3rem, 3vw, 2.2rem);
  max-width: 680px;
}
.ol-o5-route-landscape {
  position: relative;
  min-height: 178px;
  border-radius: 1.65rem;
  overflow: hidden;
  margin: 0;
  isolation: isolate;
  transform: translate3d(0,0,0) scale(.985);
  opacity: .54;
  transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
}
.ol-o5-route-landscape:first-child { grid-row: span 2; min-height: 372px; }
.ol-o5-route-landscape.is-active {
  opacity: 1;
  transform: translate3d(0,-4px,0) scale(1);
}
.ol-o5-route-landscape video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  opacity: .92;
  transform: scale(1.04);
}
.ol-o5-route-landscape::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.64));
}
.ol-o5-route-landscape figcaption {
  position: absolute;
  left: .85rem;
  bottom: .85rem;
  right: .85rem;
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 950;
  color: rgba(255,255,255,.84);
}
.ol-o5-route-theatre-card.is-active {
  box-shadow: 0 34px 110px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.20) inset;
}
/* Responsible Trust Layer: slightly lower overlay density so the background media breathes more. */
.ix-responsible-layer .ol-immersive-bg-overlay,
.ix-responsible-layer .ix-bg-overlay,
.ix-responsible-layer::before,
.ix-responsible-layer::after {
  opacity: .42 !important;
}
.ix-responsible-layer .ix-bg-video,
.ix-responsible-layer .ol-immersive-bg-video {
  opacity: 1 !important;
  filter: saturate(1.04) contrast(1.02);
}
@media (max-width: 900px) {
  .ol-o5-route-theatre[data-o5-route-kenburns] {
    min-height: auto;
  }
  .ol-o5-route-theatre-landscapes {
    grid-template-columns: 1fr;
  }
  .ol-o5-route-landscape,
  .ol-o5-route-landscape:first-child {
    min-height: 220px;
    grid-row: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ol-o5-route-theatre[data-o5-route-kenburns] .ol-o5-route-theatre-bg,
  .ol-o5-route-theatre[data-o5-route-kenburns] .ol-o5-route-theatre-bg-next,
  .ol-o5-route-landscape {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}
