/* Keep the four scene actions free of their former underline. */
.pv-home .experience .scene-copy .discover { border-bottom-color:transparent; }

.pv-home .experience.pv-carousel .pv-carousel-menu-frame {
  position:absolute;
  left:50%;
  top:50%;
  z-index:5;
  box-sizing:border-box;
  overflow:hidden;
  pointer-events:none;
  transform:translate(-50%,-50%) scale(1.3);
}
.pv-home .experience.pv-carousel .pv-carousel-menu-frame[hidden] { display:none; }
.pv-home .experience.pv-carousel.pv-image-menu-open .photograph[data-position="front"] {
  transition:none;
  cursor:default;
}
.pv-home .experience.pv-carousel .pv-carousel-menu-frame .pv-site-navigation {
  position:absolute;
  inset:1px 1px 1px calc(var(--pv-menu-rail) + 1px);
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  grid-template-rows:auto minmax(min-content,1fr) auto;
  align-content:stretch;
  gap:22px 28px;
  width:auto;
  max-height:none;
  margin:0;
  padding:24px 30px;
  border:0;
  border-radius:0;
  color:#27272b;
  background:linear-gradient(145deg,#fff 0%,#f0f4f7 100%);
  box-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #fff,inset 0 -1px 0 rgba(59,72,80,.07);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#637b8b66 transparent;
  pointer-events:auto;
  animation:none;
  transform:none;
  text-align:left;
}
.pv-home .pv-carousel-menu-frame .pv-site-navigation > * { position:relative;z-index:1; }
.pv-home .pv-carousel-menu-frame .pv-menu-home {
  grid-column:1 / -1;
  min-height:32px;
  padding:0 0 12px;
  font-size:13px;
  font-weight:550;
  border-bottom-color:rgba(39,39,43,0.14);
}
.pv-home .pv-carousel-menu-frame .pv-menu-status {
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:20px;
  color:#536a77;
  background:rgba(255,255,255,.23);
  font-size:8px;
  letter-spacing:.04em;
}
.pv-home .pv-carousel-menu-frame .pv-menu-status::before { width:4px;height:4px;background:#ff334b;box-shadow:0 0 4px #ff334be6,0 0 9px #f5254773; }
.pv-home .pv-carousel-menu-frame .pv-menu-group { margin:0;min-height:0;align-self:start; }
.pv-home .pv-carousel-menu-frame .pv-menu-group + .pv-menu-group {
  padding-left:26px;
  border-left:1px solid rgba(39,39,43,0.12);
}
.pv-home .pv-carousel-menu-frame .pv-menu-eyebrow {
  margin:0 0 12px;
  color:#5b717e;
  font-size:8px;
  font-weight:600;
  letter-spacing:.17em;
}
.pv-home .pv-carousel-menu-frame .pv-menu-primary,
.pv-home .pv-carousel-menu-frame .pv-menu-secondary { display:grid;grid-template-columns:minmax(0,1fr);gap:0; }
.pv-home .pv-carousel-menu-frame .pv-menu-primary a,
.pv-home .pv-carousel-menu-frame .pv-menu-secondary a {
  min-width:0;
  padding:9px 0;
  gap:12px;
  line-height:1.3;
  border-radius:6px;
  overflow-wrap:anywhere;
  transition:color .2s,background .2s;
}
.pv-home .pv-carousel-menu-frame .pv-menu-primary a {
  min-height:49px;
  border-bottom:1px solid transparent;
  font-size:19px;
  font-weight:450;
  letter-spacing:-.025em;
}
.pv-home .pv-carousel-menu-frame .pv-menu-number { min-width:16px;color:#71838e;font-size:8px;letter-spacing:.06em; }
.pv-home .pv-carousel-menu-frame .pv-menu-secondary a { min-height:34px;font-size:13px;font-weight:450; }
.pv-home .pv-carousel-menu-frame .pv-site-navigation .pv-pulse-dot { display:none; }
.pv-home .pv-carousel-menu-frame .pv-menu-secondary a::after,
.pv-home .pv-carousel-menu-frame .pv-menu-contact .pv-pulse-dot {
  content:"";
  display:inline-block;
  flex:0 0 7px;
  width:7px;
  height:7px;
  margin-left:auto;
  border:1px solid #7fbddd80;
  border-radius:50%;
  background:#e6f6ff;
  box-shadow:0 0 7px #96d5fa80;
  animation:pv-dot-pulse 2.8s ease-in-out infinite;
}
.pv-home .pv-carousel-menu-frame .pv-site-navigation .pv-menu-contact {
  top:-5px;
  grid-column:1 / -1;
  justify-self:start;
  width:max-content;
  max-width:100%;
  min-height:38px;
  margin:0;
  padding:10px 14px;
  gap:24px;
  color:#fff;
  --pv-contact-surface:linear-gradient(135deg,#64747f,#586772);
  background:var(--pv-contact-surface);
  border:1px solid rgba(255,255,255,.3);
  border-radius:5px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 3px 10px rgba(22,43,57,.08);
  font-size:11px;
  font-weight:500;
}

.pv-home .pv-carousel-menu-frame .pv-site-navigation a:hover { background:rgba(80,123,153,.09);color:#0d293b; }
.pv-home .pv-carousel-menu-frame .pv-site-navigation .pv-menu-home:hover { background:transparent; }
.pv-home .pv-carousel-menu-frame .pv-site-navigation .pv-menu-contact:hover { background:var(--pv-contact-surface);color:#fff; }
.pv-home .pv-carousel-menu-frame .pv-site-navigation a:focus-visible { outline:2px solid #507b99;outline-offset:3px; }
/* Extend only the hover surface; text and dot alignment stay fixed. */
.pv-home .pv-carousel-menu-frame .pv-menu-primary a,
.pv-home .pv-carousel-menu-frame .pv-menu-secondary a {
  position:relative;
  isolation:isolate;
}
.pv-home .pv-carousel-menu-frame .pv-menu-primary a::before,
.pv-home .pv-carousel-menu-frame .pv-menu-secondary a::before {
  content:"";
  position:absolute;
  inset:0 -9px;
  z-index:-1;
  border-radius:6px;
  background:transparent;
  pointer-events:none;
  transition:background .2s;
}
/* Dividers follow the same width and rounded edges as the hover surface. */
.pv-home .pv-carousel-menu-frame .pv-menu-primary a:not(:last-child)::before {
  border-bottom:1px solid rgba(80,123,153,.09);
}
.pv-home .pv-carousel-menu-frame .pv-menu-primary a:hover,
.pv-home .pv-carousel-menu-frame .pv-menu-secondary a:hover { background:transparent; }
.pv-home .pv-carousel-menu-frame .pv-menu-primary a:hover::before,
.pv-home .pv-carousel-menu-frame .pv-menu-secondary a:hover::before { background:rgba(80,123,153,.09); }


/* Match the spacing to medium-height frames before using the compact layout. */
.pv-home .experience.pv-carousel .pv-carousel-menu-frame.is-medium .pv-site-navigation { padding:18px 24px;gap:14px 22px; }
.pv-home .pv-carousel-menu-frame.is-medium .pv-menu-home { min-height:28px;padding-bottom:8px; }
.pv-home .pv-carousel-menu-frame.is-medium .pv-menu-eyebrow { margin-bottom:8px; }
.pv-home .pv-carousel-menu-frame.is-medium .pv-menu-group + .pv-menu-group { padding-left:20px; }
.pv-home .pv-carousel-menu-frame.is-medium .pv-menu-primary a { min-height:42px;padding:8px 0;font-size:17px; }
.pv-home .pv-carousel-menu-frame.is-medium .pv-menu-secondary a { min-height:31px;padding:7px 0;font-size:12px; }

/* Short photo frames keep both groups aligned without squeezing the links. */
.pv-home .experience.pv-carousel .pv-carousel-menu-frame.is-compact .pv-site-navigation { padding:12px 18px;gap:10px 16px; }
.pv-home .pv-carousel-menu-frame.is-compact .pv-menu-home { min-height:23px;padding-bottom:6px;font-size:11px; }
.pv-home .pv-carousel-menu-frame.is-compact .pv-menu-status { padding:2px 6px;font-size:7px; }
.pv-home .pv-carousel-menu-frame.is-compact .pv-menu-group + .pv-menu-group { padding-left:16px; }
.pv-home .pv-carousel-menu-frame.is-compact .pv-menu-eyebrow { margin-bottom:5px;font-size:7px; }
.pv-home .pv-carousel-menu-frame.is-compact .pv-menu-primary a { min-height:31px;padding:6px 0;font-size:14px;gap:8px; }
.pv-home .pv-carousel-menu-frame.is-compact .pv-menu-secondary a { min-height:26px;padding:5px 0;font-size:11px; }

.pv-home .experience.pv-carousel .pv-carousel-menu-frame.is-compact .pv-site-navigation .pv-menu-contact { min-height:29px;padding:6px 10px;font-size:10px;gap:16px; }

.pv-home .experience.pv-carousel .pv-carousel-menu-frame.is-narrow .pv-site-navigation {
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:repeat(4,max-content);
  align-content:start;
  gap:16px;
}
.pv-home .pv-carousel-menu-frame.is-narrow .pv-menu-group + .pv-menu-group { padding:12px 0 0;border-left:0;border-top:1px solid rgba(39,39,43,0.12); }
@media (prefers-reduced-motion:reduce) {
  .pv-home .pv-carousel-menu-frame .pv-site-navigation a,
  .pv-home .pv-carousel-menu-frame .pv-menu-primary a::before,
  .pv-home .pv-carousel-menu-frame .pv-menu-secondary a::before { transition:none; }
  .pv-home .pv-carousel-menu-frame .pv-menu-secondary a::after,
  .pv-home .pv-carousel-menu-frame .pv-menu-contact .pv-pulse-dot { animation:none; }
}
