/* Production Promo Modal — scoped first-party presentation. */
.gloskin-promo-modal[hidden]{display:none!important}
.gloskin-promo-modal{
position:fixed;
inset:0;
z-index:10040;
display:grid;
place-items:center;
padding:clamp(20px,4vw,48px);
font-family:var(--gloskin-font-body);
isolation:isolate}
.gloskin-promo-modal__backdrop{
position:absolute;
inset:0;
background:color-mix(in srgb,var(--gloskin-refresh-black) 5%,transparent);
-webkit-backdrop-filter:blur(6px) saturate(106%);
backdrop-filter:blur(1px) saturate(100%);
opacity:0;
transition:opacity .6s ease}
.gloskin-promo-modal__dialog{
position:relative;
z-index:1;
width:min(92vw,900px,calc((100dvh - 104px)*1.775862));
max-width:900px;
max-height:calc(100dvh - 40px);
dis:flex;
flex-direction:column;
align-items:center;
outline:none;
opacity:0;
transform:translateY(60px) scale(.9);
transition:transform .56s cubic-bezier(.16,1,.3,1),opacity .56s ease;
will-change:transform,opacity}
body.gloskin-ui1 .gloskin-promo-modal .gloskin-promo-modal__dialog:focus,
body.gloskin-ui1 .gloskin-promo-modal .gloskin-promo-modal__dialog:focus-visible{
outline:0;
outline-offset:0;
border-radius:0}
.gloskin-promo-modal__poster{
position:relative;
width:100%;
aspect-ratio:1648/928;
border-radius:20px;
box-shadow:0 34px 74px color-mix(in srgb,var(--gloskin-refresh-black) 30%,transparent);
overflow:hidden;
background:var(--gloskin-brand-charcoal)}
.gloskin-promo-modal.is-open .gloskin-promo-modal__backdrop{opacity:1}
.gloskin-promo-modal.is-open .gloskin-promo-modal__dialog{transform:translateY(0) scale(1);opacity:1}
.gloskin-promo-modal__viewport{position:absolute;inset:0;overflow:hidden}
.gloskin-promo-modal__track{
display:flex;
width:100%;
height:100%;
will-change:transform;
transition:transform .68s cubic-bezier(.22,.61,.36,1)}
.gloskin-promo-modal__track.is-jumping{transition:none}
.gloskin-promo-modal__slide{
position:relative;
flex:0 0 100%;
width:100%;
height:100%;
overflow:hidden;
background:var(--gloskin-brand-charcoal);
text-decoration:none;
touch-action:pan-y}
.gloskin-promo-modal__slide.is-static{cursor:default}
.gloskin-promo-modal__slide[href]:focus-visible{outline:3px solid var(--gloskin-inverse);outline-offset:-5px}
.gloskin-promo-modal__image{
position:absolute;
inset:0;
width:100%;
height:100%;
max-width:none;
object-fit:cover;
object-position:var(--gloskin-promo-focus-x,50%) var(--gloskin-promo-focus-y,50%);
transform:scale(var(--gloskin-promo-scale,1));
transform-origin:var(--gloskin-promo-focus-x,50%) var(--gloskin-promo-focus-y,50%);
display:block}
/* Close remains Promo-specific. Slider prev/next presentation is owned by
 * gloskin-ui1-media-slider.css through the shared navigation primitive. */
.gloskin-promo-modal__close{
-webkit-appearance:none;
appearance:none;
dis:grid;
place-items:center;
padding:0;
border:1px solid var(--gloskin-accent);
border-radius:999px;
background:var(--gloskin-accent);
color:var(--gloskin-inverse);
cursor:pointer;
box-shadow:none;
transition:background-color .22s ease,border-color .22s ease,transform .22s ease;
position:absolute;
top:-19px;
right:-19px;
z-index:7;
width:38px;
height:38px;
font-family:var(--gloskin-font-body);
font-size:24px;
font-weight:300;
line-height:1;
box-shadow:0 8px 22px color-mix(in srgb,var(--gloskin-refresh-black) 18%,transparent)}
.gloskin-promo-modal__close:hover,
.gloskin-promo-modal__close:focus-visible{
background:var(--gloskin-accent-strong);
border-color:var(--gloskin-accent-strong);
color:var(--gloskin-inverse)}
.gloskin-promo-modal__close:hover{transform:rotate(90deg)}
body.gloskin-ui1 .gloskin-promo-modal button.gloskin-promo-modal__close:focus-visible{
border-radius:999px;
outline:3px solid var(--gloskin-accent-readable);
outline-offset:3px}
@media (max-width:480px){
.gloskin-promo-modal{padding:18px 12px}
.gloskin-promo-modal__dialog{width:min(94vw,calc((100dvh - 88px)*1.775862))}
.gloskin-promo-modal__poster{border-radius:var(--gloskin-radius-md)}
.gloskin-promo-modal__close{top:-15px;right:-3px;width:36px;height:36px;font-size:23px}}
@media (prefers-reduced-motion:reduce){
.gloskin-promo-modal__backdrop,
.gloskin-promo-modal__dialog,
.gloskin-promo-modal__track,
.gloskin-promo-modal__close{transition-duration:.001ms!important;transition-delay:0s!important}
.gloskin-promo-modal__dialog{transform:none}}
