


  html.overlay-shown {
    overflow: clip;
  }



  dialog.sn-overlay {

    /* Open */
    --overlay-duration-backdrop:   350;
    --overlay-delay-backdrop:      0;
    --overlay-duration-background: 400;
    --overlay-delay-background:    80;
    --overlay-duration-content:    400;
    --overlay-delay-content:       150;

    /* Close — all layers fade simultaneously, no stagger */
    --overlay-duration-backdrop-out:   350;
    --overlay-delay-backdrop-out:      0;
    --overlay-duration-background-out: 350;
    --overlay-delay-background-out:    0;
    --overlay-duration-content-out:    350;
    --overlay-delay-content-out:       0;

    --overlay-easing: ease;

    /* Reset browser dialog defaults */
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    overflow: hidden;
    overscroll-behavior: none;
  }

  /* The native ::backdrop is intentionally hidden — .backdrop div is used instead */
  dialog.sn-overlay::backdrop {
    display: none;
  }









  /* Fills the dialog and stacks all three layers in the same grid cell */
  dialog.sn-overlay .overlay-outer {
    position: fixed;
    inset: 0;
    display: grid;
  }

  dialog.sn-overlay .backdrop,
  dialog.sn-overlay .background,
  dialog.sn-overlay .overlay-inner {
    grid-area: 1 / 1;
  }

  dialog.sn-overlay .backdrop    { z-index: 1; }
  dialog.sn-overlay .background  { z-index: 2; }
  dialog.sn-overlay .overlay-inner { z-index: 3; }

  /* Prevent any interaction while the closing animation is running */
  dialog.sn-overlay.is-closing .overlay-outer {
    pointer-events: none;
  }
  









  dialog.sn-overlay .backdrop {
    background: var(--base-color-off-black);
    pointer-events: auto;
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: var(--overlay-easing);
    transition-duration: calc(var(--overlay-duration-backdrop) * 1ms);
    transition-delay:    calc(var(--overlay-delay-backdrop) * 1ms);
  }

  dialog.sn-overlay.is-visible .backdrop {
    opacity: 1;
  }

  dialog.sn-overlay.is-closing .backdrop {
    opacity: 0;
    transition-duration: calc(var(--overlay-duration-backdrop-out) * 1ms);
    transition-delay:    calc(var(--overlay-delay-backdrop-out) * 1ms);
  }
  





  dialog.sn-overlay .background {
    pointer-events: none;
    opacity: 0;
    transition-property: opacity;
    transition-timing-function: var(--overlay-easing);
    transition-duration: calc(var(--overlay-duration-background) * 1ms);
    transition-delay:    calc(var(--overlay-delay-background) * 1ms);
  }

  dialog.sn-overlay.is-visible .background {
    opacity: 1;
  }

  dialog.sn-overlay.is-closing .background {
    opacity: 0;
    transition-duration: calc(var(--overlay-duration-background-out) * 1ms);
    transition-delay:    calc(var(--overlay-delay-background-out) * 1ms);
  }










  dialog.sn-overlay .overlay-inner {
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding-block: calc(30 * var(--px));
    padding-inline: var(--page-padding-left);
    padding-top: 0;
    pointer-events: none;

    opacity: 0;
    transform: scale(0.95);
    will-change: transform;
    transition-property: opacity, transform;
    transition-timing-function: var(--overlay-easing);
    transition-duration: calc(var(--overlay-duration-content) * 1ms);
    transition-delay:    calc(var(--overlay-delay-content) * 1ms);
  }

  dialog.sn-overlay.is-visible .overlay-inner {
    opacity: 1;
    transform: none;
  }

  dialog.sn-overlay.is-closing .overlay-inner {
    opacity: 0;
    transform: none; /* no scale on exit — pure fade */
    transition-property: opacity;
    transition-duration: calc(var(--overlay-duration-content-out) * 1ms);
    transition-delay:    calc(var(--overlay-delay-content-out) * 1ms);
  }








  dialog.sn-overlay {
    --overlay-header-height: calc(80 * var(--px));
  }

  dialog.sn-overlay .overlay-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    pointer-events: auto;
    color: var(--base-color-white);
  }

  dialog.sn-overlay .overlay-header {
    position: absolute;
    top: 0;
    left: 0;
    height: var(--overlay-header-height);
    width: 100%;
    z-index: 2;
    pointer-events: none;
    text-align: right;
    display: grid;
    place-items: center;
  }
  
  dialog.sn-overlay .overlay-header > div {
    width: 100%;
  }

  dialog.sn-overlay .overlay-header :is(a, button) {
    pointer-events: all;
    color: inherit;
  }

  dialog.sn-overlay .overlay-header .col-set {
    display: flex;
    flex-flow: row nowrap;
    width: 100%;
  }
  
  dialog.sn-overlay .overlay-header .col--button {
    margin-left: auto;
  }
  
  dialog.sn-overlay .overlay-header .col--counter {
    width: 7.35294117647058823529em;
    text-align: left;
  }






  dialog.sn-overlay .overlay-body {
    position: absolute;
    bottom: 0;
    top: var(--overlay-header-height);
    left: calc(var(--page-padding-left) * -1);
    right: calc(var(--page-padding-left) * -1);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  
  dialog.sn-overlay .overlay-body > div {
    height: 100%;
  }
  
  dialog.sn-overlay--video .overlay-body,
  dialog.sn-overlay--estimation .overlay-body {
    left: 0;
    right: 0;
  }
  
  dialog.sn-overlay--estimation .overlay-body {
    display: grid;
    place-items: center;
  }
  
  dialog.sn-overlay--video .overlay-body > div {
    display: grid;
    place-items: center;
    container-type: size;
  }
  
  dialog.sn-overlay--estimation .overlay-body > div {
    height: auto;
    padding-top: calc(25 * var(--px));
    padding-bottom: calc(100 * var(--px));
  }
  
  dialog.sn-overlay--video .sn-plyr {
    aspect-ratio: 16 / 9;
    width: min(100cqw, calc(100cqh * 16 / 9));
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box;
  }
  
  dialog.sn-overlay--video video {
    aspect-ratio: 16 / 9;
  }
  
  dialog.sn-overlay--estimation .backdrop {
    background: #2a2a2a;
  }

  dialog.sn-overlay--estimation .overlay-inner {
    padding-bottom: 0;
  }
  
  dialog.sn-overlay--estimation .overlay-header {
    margin-top: var(--progress-bar-height);
  }












  dialog.sn-overlay[data-type="b"] {
    --max-width: calc(1082 * var(--px));
    --padding-top: calc(150 * var(--px));
  }

  dialog.sn-overlay[data-type="b"] .backdrop {
    background: rgba(17,17,17,0.6);
  }
  
  dialog.sn-overlay[data-type="b"] .background {
    width: 100%;
    max-width: var(--max-width);
    background: var(--base-color-white);
    position: absolute;
    inset: 0;
    left: auto;
  }
  
  dialog.sn-overlay[data-type="b"] .overlay-inner {
    width: 100%;
    max-width: var(--max-width);
    margin-left: auto;
    padding: 0;
    position: relative;
    overflow: hidden;
  }
  
  dialog.sn-overlay[data-type="b"] .overlay-wrap {
    color: var(--base-color-off-black);
    overflow: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  
  dialog.sn-overlay[data-type="b"] .overlay-header {
    position: fixed;
    padding-top: var(--padding-top);
    height: auto;
  }
  
  dialog.sn-overlay[data-type="b"] .overlay-body {
    position: static;
    padding-top: var(--padding-top);
    padding-bottom: calc(170 * var(--px));
    overflow: visible;
    overscroll-behavior: auto;
  }
  
  dialog.sn-overlay[data-type="b"] :is(.overlay-header, .overlay-body) {
    padding-inline: var(--page-padding-left) var(--page-padding-right);
    box-sizing: border-box;
  }
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  dialog.sn-overlay[data-type="c"] {
    --max-width: calc(1057 * var(--px));
  }

  dialog.sn-overlay[data-type="c"] .backdrop {
    background: rgba(17,17,17,0.6);
  }
  
  dialog.sn-overlay[data-type="c"] .overlay-inner {
    width: 100%;
    padding: var(--page-padding-left);
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    display: grid;
    place-items: center;
  }
  
  dialog.sn-overlay[data-type="c"] .overlay-wrap {
    height: auto;
  }
  
  dialog.sn-overlay[data-type="c"] .overlay-body {
    position: static;
    overflow: visible;
    overscroll-behavior: auto;
    color: var(--base-color-off-black);
    background: var(--base-color-white);
    padding: calc(73 * var(--px)) calc(183 * var(--px));
    max-width: var(--max-width);
    margin-inline: auto;
    box-sizing: border-box;
  }
  
  dialog.sn-overlay[data-type="c"] span[data-url] {
    font-family: var(--base-font-1-semibold);
  }
  
  dialog.sn-overlay[data-type="c"] .btn-set.multiple {
    justify-content: space-between;
    display: flex;
  }











  dialog.sn-overlay--press-photos {
    --overlay-header-height: max(70px, calc(153 * var(--px)));
    --gallery-footer-height: max(70px, calc(156 * var(--px)));
    --slide-gap: max(20px, calc(78 * var(--px)));
    --slide-offset: calc((100% - var(--current-slide-width, 0px)) / 2);
    --slide-offset-transition: 1000ms var(--ttf-5);
  }
  
  dialog.sn-overlay--press-photos.is-jumping {
    --slide-offset-transition: none;
  }
  
  dialog.sn-overlay--press-photos .backdrop {
    background: rgba(14, 14, 14, 0.94);
  }
  
  dialog.sn-overlay--press-photos .overlay-inner {
    padding: 0;
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
  }
  
  dialog.sn-overlay--press-photos .overlay-wrap {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
  }
  
  dialog.sn-overlay--press-photos .visuallyhidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  
  
  
  
  
  dialog.sn-overlay--press-photos .overlay-header {
    position: static;
    height: auto;
    min-height: var(--overlay-header-height);
    display: block;
    text-align: left;
  }
  
  dialog.sn-overlay--press-photos .overlay-header .col-set {
    box-sizing: border-box;
    min-height: var(--overlay-header-height);
    padding-top: max(20px, calc(80 * var(--px)));
    padding-bottom: max(15px, calc(35 * var(--px)));
    padding-left: var(--slide-offset);
    padding-right: var(--page-padding-right);
    align-items: start;
    gap: 0 1em;
    transition: padding-left var(--slide-offset-transition);
  }
  
  dialog.sn-overlay--press-photos .overlay-header .col--title > span {
    display: block;
  }
  
  dialog.sn-overlay--press-photos .btn-close-overlay {
    color: var(--base-color-white);
    text-transform: lowercase;
    font-family: var(--base-font-1-regular);
  }
  
  
  
  
  
  dialog.sn-overlay--press-photos .overlay-body {
    position: static;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    overscroll-behavior: auto;
  }
  
  dialog.sn-overlay--press-photos .overlay-body > div {
    height: 100%;
  }
  
  dialog.sn-overlay--press-photos .press-photos-gallery {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) var(--gallery-footer-height);
    height: 100%;
    min-width: 0;
  }
  
  dialog.sn-overlay--press-photos .press-photos-gallery-slider {
    position: relative;
    min-width: 0;
    overflow: hidden;
    container-type: size;
  }
  
  dialog.sn-overlay--press-photos .sn-slider-ghost .sn-slider-track {
    width: 100vw;
  }
  
  dialog.sn-overlay--press-photos .sn-slider {
    --gap: var(--slide-gap);
  }
  
  dialog.sn-overlay--press-photos .sn-slider-wrap.is-jumping {
    --transition-duration: 0;
  }
  
  dialog.sn-overlay--press-photos .sn-slider .sn-slider-slides {
    padding-inline: var(--pad-left, 50vw) var(--pad-right, 50vw);
    gap: 0 var(--slide-gap);
  }
  
  dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide {
    position: relative;
    width: auto;
    height: 100cqh;
    margin: 0;
    scroll-snap-align: center;
    scroll-margin-inline-start: 0;
    opacity: 0.4;
    transition: opacity 400ms var(--ttf-2);
  }
  
  dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide.is-current {
    opacity: 1;
  }
  
  dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide .media-item {
    height: 100%;
  }
  
  dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide img {
    display: block;
    height: 100%;
    width: auto;
    max-width: min(90vw, calc(100cqh * 16 / 9));
    object-fit: cover;
  }
  
  dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide .slide-caption {
    display: none;
  }
  
  
  
  
  
  dialog.sn-overlay--press-photos .btn-photo-prev,
  dialog.sn-overlay--press-photos .btn-photo-next {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: max(44px, calc(105 * var(--px)));
    min-height: 44px;
    color: var(--base-color-white);
    display: block;
    opacity: 0;
    pointer-events: none;
  }
  
  dialog.sn-overlay--press-photos .btn-photo-prev {
    left: calc(var(--slide-offset) / 2);
    transform: translate(-50%, -50%);
  }
  
  dialog.sn-overlay--press-photos .btn-photo-next {
    right: calc(var(--slide-offset) / 2);
    transform: translate(50%, -50%);
  }
  
  dialog.sn-overlay--press-photos :is(.btn-photo-prev, .btn-photo-next):focus-visible {
    opacity: 1;
    outline-offset: 10px;
  }
  
  dialog.sn-overlay--press-photos :is(.btn-photo-prev, .btn-photo-next) span,
  dialog.sn-overlay--press-photos :is(.btn-photo-prev, .btn-photo-next) svg {
    display: block;
    width: 100%;
    height: auto;
  }
  
  dialog.sn-overlay--press-photos .btn-photo-prev svg {
    transform: rotate(180deg);
  }
  
  dialog.sn-overlay--press-photos :is(.btn-photo-prev, .btn-photo-next) svg path {
    fill: currentColor;
  }
  
  
  
  
  
  dialog.sn-overlay--press-photos .press-photos-gallery-downloads {
    box-sizing: border-box;
    padding-top: max(15px, calc(38 * var(--px)));
    padding-left: var(--slide-offset);
    padding-right: var(--page-padding-right);
    transition: padding-left var(--slide-offset-transition);
  }
  
  dialog.sn-overlay--press-photos .press-photos-gallery-downloads .btn-set {
    --margin-top: 0;
    display: flex;
    flex-flow: row wrap;
    gap: 0.75em max(20px, calc(40 * var(--px)));
    width: var(--current-slide-width, auto);
    max-width: 100%;
    transition: width var(--slide-offset-transition);
  }
  
  dialog.sn-overlay--press-photos .press-photos-gallery-downloads .btn-download-zip {
    margin-left: auto;
  }
  
  dialog.sn-overlay--press-photos .lnk-a {
    color: var(--base-color-white);
  }
  
  dialog.sn-overlay--press-photos .lnk-a[data-icon="download"] span.icon svg path {
    fill: currentColor;
  }
  
  
  
  
  
  @media (prefers-reduced-motion: reduce) {
    
    dialog.sn-overlay--press-photos {
      --overlay-duration-backdrop: 0;
      --overlay-delay-backdrop: 0;
      --overlay-duration-background: 0;
      --overlay-delay-background: 0;
      --overlay-duration-content: 0;
      --overlay-delay-content: 0;
      --overlay-duration-backdrop-out: 0;
      --overlay-duration-background-out: 0;
      --overlay-duration-content-out: 0;
    }
    
    dialog.sn-overlay--press-photos .sn-slider-wrap {
      --transition-duration: 0;
    }
    
    dialog.sn-overlay--press-photos {
      --slide-offset-transition: none;
    }
    
    dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide {
      transition: none;
    }
    
  }
  
  
  
  
  
  @media (max-width: 700px) {
    
    dialog.sn-overlay--press-photos .overlay-wrap {
      display: block;
      height: 100%;
      min-height: 0;
      overflow: hidden;
      overflow-y: auto;
      overscroll-behavior: contain;
    }
    
    dialog.sn-overlay--press-photos .overlay-header {
      min-height: 0;
    }
    
    dialog.sn-overlay--press-photos .overlay-header .col-set {
      min-height: 0;
      padding: 20px var(--page-padding-left) 15px;
    }
    
    dialog.sn-overlay--press-photos .overlay-header .col--title .photo-caption,
    dialog.sn-overlay--press-photos .overlay-header .col--title .visuallyhidden {
      display: none;
    }
    
    dialog.sn-overlay--press-photos .overlay-header .col--button {
      --close-padding-top: 0.4em;
      --close-padding-bottom: 0.5em;
      position: fixed;
      top: calc(20px - var(--close-padding-top));
      right: var(--page-padding-left);
      z-index: 5;
      margin: 0;
      font-size: inherit;
      line-height: inherit;
    }
    
    dialog.sn-overlay--press-photos .overlay-header .col--button .btn-close-overlay,
    dialog.sn-overlay--press-photos .overlay-header .col--button .btn-close-overlay * {
      font-size: inherit;
      line-height: inherit !important;
    }
    
    dialog.sn-overlay--press-photos .overlay-header .col--button .btn-close-overlay {
      display: block;
      box-sizing: border-box;
      padding: var(--close-padding-top) 0.8em var(--close-padding-bottom);
      background: rgba(14, 14, 14, 0.75);
      border-radius: var(--radius-pill);
      text-align: center;
    }
    
    dialog.sn-overlay--press-photos .overlay-header .col-set {
      padding-right: calc(var(--page-padding-left) + 5em);
    }
    
    dialog.sn-overlay--press-photos .overlay-body,
    dialog.sn-overlay--press-photos .overlay-body > div {
      display: block;
      height: auto;
      overflow: visible;
    }
    
    dialog.sn-overlay--press-photos .press-photos-gallery {
      display: flex;
      flex-flow: column nowrap;
      height: auto;
      overflow: visible;
    }
    
    dialog.sn-overlay--press-photos .press-photos-gallery-slider {
      container-type: normal;
      overflow: visible;
    }
    
    dialog.sn-overlay--press-photos .sn-slider:not(.sn-slider-ghost) {
      display: none;
    }
    
    dialog.sn-overlay--press-photos .sn-slider-ghost {
      opacity: 1;
      position: static;
      cursor: auto;
    }
    
    dialog.sn-overlay--press-photos .sn-slider-ghost .sn-slider-track {
      width: auto;
      overflow: visible;
      position: static;
    }
    
    dialog.sn-overlay--press-photos .sn-slider .sn-slider-slides {
      display: flex;
      flex-flow: column nowrap;
      width: auto;
      padding: 0 var(--page-padding-left);
      gap: max(25px, calc(40 * var(--px))) 0;
    }
    
    dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide {
      width: 100%;
      height: auto;
      opacity: 1;
      scroll-margin-top: 10px;
      scroll-snap-align: none;
    }
    
    dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide .media-item {
      height: auto;
    }
    
    dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide img {
      width: 100%;
      height: auto;
      max-width: none;
      object-fit: initial;
    }
    
    dialog.sn-overlay--press-photos .sn-slider .sn-slider-slide .slide-caption {
      display: flex;
      flex-flow: column nowrap;
      gap: 0.6em 0;
      margin-top: 0.66666666666666666666em;
      color: var(--base-color-white);
    }
    
    dialog.sn-overlay--press-photos .press-photos-gallery-downloads {
      order: -1;
      padding: 0 var(--page-padding-left) max(60px, calc(90 * var(--px)));
    }
    
    dialog.sn-overlay--press-photos .press-photos-gallery-slider {
      padding-bottom: 30px;
    }
    
    dialog.sn-overlay--press-photos .press-photos-gallery-downloads .btn-set {
      width: auto;
    }
    
    dialog.sn-overlay--press-photos .press-photos-gallery-downloads .btn-download-zip {
      margin-left: 0;
    }
    
    dialog.sn-overlay--press-photos .press-photos-gallery-downloads .btn-download-photo,
    dialog.sn-overlay--press-photos .btn-photo-prev,
    dialog.sn-overlay--press-photos .btn-photo-next {
      display: none;
    }
    
  }
