/* Scoped cinematic extension of the site's Editorial Light surface.
   Ring geometry adapted from John Blazek / nxgVPR; attribution in home-carousel.LICENSE.txt. */
.poster-carousel{--poster-width:220px;background:radial-gradient(900px 260px at 50% 100%,rgba(95,147,220,.16),transparent 70%),#0c111b;color:#f4f6fa;position:relative;isolation:isolate;overflow:clip;padding:42px 0 126px;margin-bottom:-96px;border-radius:0 0 var(--radius-l) var(--radius-l)}
.poster-carousel::after{content:"";position:absolute;inset:auto 0 0;height:132px;background:linear-gradient(180deg,transparent 0%,rgba(12,17,27,.06) 28%,rgba(232,243,255,.74) 100%);pointer-events:none;z-index:1}
.poster-carousel ::selection{background:#345f96;color:#fff}
.poster-carousel__stage{position:relative;height:490px;perspective:1050px;perspective-origin:50% 48%;overflow-x:auto;overflow-y:hidden;touch-action:pan-y;scrollbar-color:#697b96 #161f2e;scrollbar-width:thin;cursor:grab;outline-offset:-4px}
.poster-carousel__stage:active{cursor:grabbing}
.poster-carousel__stage:focus-visible{outline:2px solid #a9c9ff}
.poster-carousel__rotor{display:flex;align-items:center;gap:22px;width:max-content;height:100%;padding:28px max(28px,calc((100vw - 252px)/2));}
.poster-carousel__item{flex:none;width:var(--poster-width);height:calc(var(--poster-width)*1.5);margin:0;position:relative;transform-style:preserve-3d}
.poster-carousel__face{width:100%;height:100%;overflow:hidden;border-radius:5px;background:#182230;box-shadow:0 18px 32px rgb(0 0 0 / .42);backface-visibility:hidden}
.poster-carousel__face img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;border-radius:inherit}
/* Back of the card: the same poster, mirrored by the 180deg turn, blurred and
   dimmed so the ring reads as continuous artwork instead of blank plates.
   The image is scaled past the frame so its blur bleed is clipped by the
   frame's overflow:hidden — the 1px edge stays crisp and no halo escapes.
   A plain <img> is used rather than a url() in a custom property: that form is
   resolved against the stylesheet, not the document, and the base differs
   between engines. The shared URL also comes straight from cache. */
.poster-carousel__back{position:absolute;inset:0;overflow:hidden;border-radius:5px;background:#19212e;border:1px solid #354254;transform:rotateY(180deg);backface-visibility:hidden;pointer-events:none;box-shadow:0 18px 32px rgb(0 0 0 / .42)}
.poster-carousel__back img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.18);filter:blur(11px) brightness(.45) saturate(.75)}
.poster-carousel[data-enhanced="true"] .poster-carousel__stage{overflow:clip}
.poster-carousel[data-enhanced="true"] .poster-carousel__rotor{position:absolute;left:50%;top:50%;width:0;height:0;padding:0;display:block;transform-style:preserve-3d}
.poster-carousel[data-enhanced="true"] .poster-carousel__item{position:absolute;left:0;top:0;margin-left:calc(var(--poster-width)*-.5);margin-top:calc(var(--poster-width)*-.75)}
.poster-carousel__footer{position:relative;z-index:2;display:flex;flex-direction:column-reverse;align-items:center;gap:20px}
.poster-carousel__controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.poster-carousel__controls[hidden],.poster-carousel__toggle>[hidden]{display:none}
.poster-carousel__button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;padding:10px;border:1px solid #46566e;border-radius:999px;background:transparent;color:#eef4ff;cursor:pointer;font:inherit;transition:background 180ms ease-out,border-color 180ms ease-out,transform 180ms ease-out}
.poster-carousel__button svg{width:21px;height:21px;flex:none}
.poster-carousel__toggle{padding-inline:15px;min-width:150px;font-size:.8rem}
.poster-carousel__toggle>span{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.poster-carousel__button:hover{background:#1c2b40;border-color:#a9c9ff;transform:translateY(-1px)}
.poster-carousel__button:active{transform:scale(.97)}
.poster-carousel__button:focus-visible{outline:2px solid #c5dcff;outline-offset:3px}
.poster-carousel__button:disabled{opacity:.5;cursor:default;transform:none}
.poster-carousel__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1800px){.poster-carousel__stage{height:540px;perspective:1250px}}
@media(max-width:800px){.poster-carousel{padding:30px 0 92px;margin-bottom:-64px;border-radius:0 0 20px 20px}.poster-carousel__footer{gap:20px}.poster-carousel__stage{height:410px}.poster-carousel__controls{align-self:center}}
@media(max-width:600px){.poster-carousel{--poster-width:150px;padding-bottom:54px;margin-bottom:-76px}.poster-carousel__stage{height:300px;perspective:700px}.poster-carousel__footer{gap:18px}.poster-carousel__controls{align-self:stretch;justify-content:center;gap:6px}.poster-carousel__toggle{min-width:138px;padding-inline:10px}}
@media(max-width:360px){.poster-carousel__controls{gap:4px}.poster-carousel__toggle{min-width:0;padding-inline:9px;font-size:.72rem}.poster-carousel__toggle>span{gap:5px}}
@media(prefers-reduced-motion:reduce){.poster-carousel__button{transition:none}.poster-carousel__button:hover{transform:none}.poster-carousel__face{animation:none}}

/* Unified with the cinematic hero: posters are the visual close of the same dark panel. */
.hero--cinematic>.poster-carousel{margin-bottom:0;padding:26px 0 30px;border-radius:0;background:transparent}
.hero--cinematic>.poster-carousel::after{display:none}
.hero--cinematic>.poster-carousel .poster-carousel__stage{height:420px}
.hero--cinematic>.poster-carousel .poster-carousel__footer{gap:18px}
@media(min-width:1800px){.hero--cinematic>.poster-carousel .poster-carousel__stage{height:460px}}
@media(max-width:800px){.hero--cinematic>.poster-carousel{padding:22px 0 26px}.hero--cinematic>.poster-carousel .poster-carousel__stage{height:350px}}
@media(max-width:600px){.hero--cinematic>.poster-carousel{--poster-width:150px;padding:18px 0 24px}.hero--cinematic>.poster-carousel .poster-carousel__stage{height:280px}}


/* ---------- homepage reseller business panel ---------- */
.home-reseller-section{padding-block:clamp(56px,8vw,104px)}
.home-reseller{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:stretch;min-height:470px;overflow:hidden;border-radius:var(--radius-l);background:linear-gradient(128deg,#0b112b 0%,#141e45 57%,#0c1430 100%);box-shadow:0 24px 64px rgba(9,17,48,.22);isolation:isolate}
.home-reseller::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 360px at 88% 48%,rgba(117,145,255,.2),transparent 70%),radial-gradient(420px 260px at 0% 100%,rgba(57,94,191,.18),transparent 72%)}
.home-reseller::after{content:"";position:absolute;inset:1px;border:1px solid rgba(193,208,255,.16);border-radius:inherit;pointer-events:none}
.home-reseller__copy,.home-reseller__visual{position:relative;z-index:1}
.home-reseller__copy{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(34px,5vw,68px) clamp(28px,5vw,72px)}
.home-reseller .kicker{margin-bottom:20px}
.home-reseller .kicker__label{color:#a9b9e7}
.home-reseller h2{max-width:13ch;color:#fff;font-size:clamp(2rem,4.2vw,3.55rem);line-height:1.03}
.home-reseller__lede{max-width:48ch;margin-top:20px;color:rgba(236,241,255,.78);font-size:clamp(.98rem,1.25vw,1.08rem);line-height:1.65}
.home-reseller__facts{display:grid;gap:9px;list-style:none;margin:24px 0 0;padding:0;color:rgba(237,243,255,.88);font-size:var(--fs-small)}
.home-reseller__facts li{display:flex;align-items:flex-start;gap:10px;line-height:1.45}
.home-reseller__facts li::before{content:"";width:7px;height:7px;flex:0 0 7px;margin-top:.52em;border-radius:50%;background:#9bb3ff;box-shadow:0 0 0 4px rgba(155,179,255,.12)}
.home-reseller__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.home-reseller__tags span{display:inline-flex;align-items:center;min-height:30px;padding:5px 11px;border:1px solid rgba(202,215,255,.24);border-radius:var(--radius-pill);background:rgba(255,255,255,.07);color:#e8edff;font-size:var(--fs-meta);font-weight:600;letter-spacing:.02em}
.home-reseller__cta{margin-top:30px;border:1px solid rgba(196,211,255,.3);background:#a8b9ff;color:#0b1433;box-shadow:0 10px 28px rgba(124,151,255,.24)}
.home-reseller__cta:hover{border-color:#dce5ff;background:#c4d0ff;color:#0b1433;box-shadow:0 14px 34px rgba(124,151,255,.34)}
.home-reseller__visual{display:flex;align-items:center;justify-content:center;min-height:470px;padding:38px clamp(24px,4vw,60px) 34px 20px}
.home-reseller__visual-glow{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(133,159,255,.28) 0%,rgba(80,112,222,.1) 42%,transparent 72%);filter:blur(2px);pointer-events:none}
.home-reseller__stack{position:relative;width:min(100%,430px);height:350px;transform:rotate(-2deg)}
.home-reseller__card{position:absolute;width:142px;margin:0;padding:7px 7px 10px;border:1px solid rgba(227,234,255,.28);border-radius:14px;background:rgba(7,12,32,.72);box-shadow:0 18px 36px rgba(0,0,0,.32);backdrop-filter:blur(7px) saturate(120%);-webkit-backdrop-filter:blur(7px) saturate(120%);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.home-reseller__card:hover{z-index:5;box-shadow:0 22px 44px rgba(0,0,0,.42);transform:translateY(-7px) rotate(0deg) scale(1.035)}
.home-reseller__card img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:9px;background:#070a14}
.home-reseller__card figcaption{padding:8px 4px 1px;color:#f1f4ff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.home-reseller__card--trex{left:26px;top:28px;transform:rotate(-8deg)}
.home-reseller__card--strong{left:142px;top:3px;z-index:2;transform:rotate(-1deg)}
.home-reseller__card--lion{right:18px;top:38px;z-index:1;transform:rotate(7deg)}
.home-reseller__card--mega{left:111px;bottom:0;z-index:3;transform:rotate(5deg)}
.home-reseller__visual-note{position:absolute;right:clamp(24px,4vw,60px);bottom:24px;max-width:28ch;color:rgba(226,234,255,.62);font-size:var(--fs-meta);line-height:1.45;text-align:right}
@media(max-width:900px){
  .home-reseller{grid-template-columns:1fr}
  .home-reseller__copy{padding-bottom:32px}
  .home-reseller__visual{min-height:410px;padding:10px 24px 62px}
  .home-reseller__visual-note{right:24px;bottom:22px}
}
@media(max-width:600px){
  .home-reseller-section{padding-block:48px 64px}
  .home-reseller{border-radius:20px}
  .home-reseller__copy{padding:32px 24px 30px}
  .home-reseller h2{max-width:15ch;font-size:clamp(2rem,10vw,2.8rem)}
  .home-reseller__lede{font-size:.96rem}
  .home-reseller__tags{gap:7px}
  .home-reseller__tags span{font-size:.75rem}
  .home-reseller__cta{width:100%;margin-top:26px}
  .home-reseller__visual{min-height:320px;padding:0 12px 56px}
  .home-reseller__stack{height:250px;transform:scale(.78) rotate(-2deg)}
  .home-reseller__visual-note{right:20px;bottom:18px;max-width:31ch;font-size:.72rem}
}
@media(max-width:360px){
  .home-reseller__copy{padding-inline:20px}
  .home-reseller__card{width:126px}
  .home-reseller__stack{transform:scale(.68) rotate(-2deg);margin-inline:-26px}
}
@media(prefers-reduced-motion:reduce){.home-reseller__card{transition:none}.home-reseller__card:hover{transform:none}}


/* 3D deck motion for the local reseller artwork, inspired by the supplied carousel reference. */
.home-reseller__stage{position:relative;width:min(100%,430px);height:350px;perspective:1050px;perspective-origin:50% 50%;transform-style:preserve-3d}
.home-reseller__stage .home-reseller__stack{width:100%;height:100%;transform:none;transform-style:preserve-3d}
.home-reseller__stage .home-reseller__card{left:50%;top:50%;will-change:transform,opacity;transform:translate3d(-50%,-50%,0) translate3d(var(--deck-x),var(--deck-y),var(--deck-z)) rotateY(var(--deck-yaw)) rotateZ(var(--deck-roll)) scale(var(--deck-scale));transition:transform 620ms cubic-bezier(.2,.78,.2,1),opacity 420ms ease,filter 420ms ease;opacity:var(--deck-opacity);z-index:var(--deck-z-index);filter:saturate(var(--deck-saturation))}
.home-reseller__stage .home-reseller__card:hover{transform:translate3d(-50%,-50%,0) translate3d(var(--deck-x),var(--deck-y),var(--deck-z)) rotateY(var(--deck-yaw)) rotateZ(var(--deck-roll)) scale(calc(var(--deck-scale) * 1.035));z-index:8}
.home-reseller__stage .home-reseller__card[data-reseller-position="0"]{--deck-x:0px;--deck-y:0px;--deck-z:76px;--deck-yaw:0deg;--deck-roll:0deg;--deck-scale:1.08;--deck-opacity:1;--deck-saturation:1;--deck-z-index:6}
.home-reseller__stage .home-reseller__card[data-reseller-position="1"]{--deck-x:108px;--deck-y:-8px;--deck-z:4px;--deck-yaw:-15deg;--deck-roll:5deg;--deck-scale:.91;--deck-opacity:.98;--deck-saturation:.92;--deck-z-index:4}
.home-reseller__stage .home-reseller__card[data-reseller-position="2"]{--deck-x:204px;--deck-y:10px;--deck-z:-54px;--deck-yaw:-25deg;--deck-roll:9deg;--deck-scale:.77;--deck-opacity:.72;--deck-saturation:.78;--deck-z-index:2}
.home-reseller__stage .home-reseller__card[data-reseller-position="3"]{--deck-x:-108px;--deck-y:14px;--deck-z:4px;--deck-yaw:15deg;--deck-roll:-5deg;--deck-scale:.91;--deck-opacity:.98;--deck-saturation:.92;--deck-z-index:4}
.home-reseller__control{position:absolute;top:50%;z-index:10;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(226,234,255,.55);border-radius:50%;background:rgba(6,12,32,.76);color:#f6f8ff;box-shadow:0 10px 24px rgba(0,0,0,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transform:translateY(-50%);transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}
.home-reseller__control svg{width:20px;height:20px}
.home-reseller__control--prev{left:8px}
.home-reseller__control--next{right:8px}
.home-reseller__control:hover{border-color:#fff;background:rgba(117,145,255,.48);transform:translateY(-50%) scale(1.05)}
.home-reseller__control:active{transform:translateY(-50%) scale(.96)}
.home-reseller__control:focus-visible{outline:2px solid #c8d5ff;outline-offset:3px}
@media(max-width:900px){
  .home-reseller__stage{height:310px}
  .home-reseller__control--prev{left:2px}
  .home-reseller__control--next{right:2px}
}
@media(max-width:600px){
  .home-reseller__stage{height:250px;perspective:760px}
  .home-reseller__stage .home-reseller__card{width:126px}
  .home-reseller__stage .home-reseller__card[data-reseller-position="0"]{--deck-x:0px;--deck-y:0px;--deck-z:48px}
  .home-reseller__stage .home-reseller__card[data-reseller-position="1"]{--deck-x:82px;--deck-y:-3px;--deck-z:0px}
  .home-reseller__stage .home-reseller__card[data-reseller-position="2"]{--deck-x:112px;--deck-y:6px;--deck-z:-36px}
  .home-reseller__stage .home-reseller__card[data-reseller-position="3"]{--deck-x:-82px;--deck-y:7px;--deck-z:0px}
  .home-reseller__control{width:40px;height:40px}
  .home-reseller__control svg{width:18px;height:18px}
  .home-reseller__control--prev{left:0}
  .home-reseller__control--next{right:0}
}
@media(max-width:360px){
  .home-reseller__stage{height:225px}
  .home-reseller__stage .home-reseller__card{width:112px}
  .home-reseller__stage .home-reseller__card[data-reseller-position="1"]{--deck-x:72px}
  .home-reseller__stage .home-reseller__card[data-reseller-position="2"]{--deck-x:126px}
  .home-reseller__stage .home-reseller__card[data-reseller-position="3"]{--deck-x:-72px}
}
@media(prefers-reduced-motion:reduce){
  .home-reseller__stage .home-reseller__card{transition:none}
  .home-reseller__control{transition:none}
  .home-reseller__stage .home-reseller__card:hover{transform:translate3d(-50%,-50%,0) translate3d(var(--deck-x),var(--deck-y),var(--deck-z)) rotateY(var(--deck-yaw)) rotateZ(var(--deck-roll)) scale(var(--deck-scale))}
}
