/* Product tour: a single framed surface with a clear feature navigator. */
.hero-container{max-width:1440px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:56px}
.hero-visual{min-width:0}
.product-gallery{position:relative;text-align:left;isolation:isolate;background:linear-gradient(145deg,#171529,#0c0d18 65%);border:1px solid #393349;border-radius:22px;box-shadow:0 35px 90px #0006,0 1px 0 #ffffff0a inset}
.product-gallery::before{content:"";position:absolute;inset:-30px;z-index:-1;background:radial-gradient(ellipse at 60% 20%,#7963be18,transparent 70%);pointer-events:none}
.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px}
.gallery-brand{display:flex;align-items:center;gap:11px;color:#b8a4fb}
.gallery-brand>svg{box-sizing:content-box;padding:10px;background:#aa8cff0b;border:1px solid #b29bff24;border-radius:12px}
.gallery-brand>span{font-size:13px;font-weight:600;color:#eeeaf8;line-height:1.5;letter-spacing:-.01em}
.gallery-brand small{display:block;font-size:10px;color:#9690a9;font-weight:400;letter-spacing:.015em}
.gallery-screen{margin:0 12px;position:relative;border:1px solid #333040;border-radius:12px;overflow:hidden;background:#080c15;box-shadow:0 12px 30px #0003}
.gallery-slides{position:relative;aspect-ratio:10/7;overflow:hidden;background:#080c15}
.gallery-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;pointer-events:none}
.gallery-slide.is-active{opacity:1;visibility:visible}
.gallery-slide img{display:block;width:100%;height:100%;object-fit:contain}
.product-gallery button{font:inherit;cursor:pointer}
.product-gallery button:focus-visible{outline:2px solid #c4b5fd;outline-offset:3px}
.gallery-expand{display:flex;align-items:center;gap:8px;border:1px solid #ffffff14;border-radius:8px;padding:9px 11px;background:#ffffff04;color:#bcb5ce;font-size:10px!important;transition:background .2s,color .2s}
.gallery-expand:hover{background:#ffffff0a;color:#fff}
.gallery-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 16px;padding:22px 22px 18px;align-items:center}
.gallery-caption{position:relative;padding-left:3px;min-height:90px}
.gallery-caption h2{font-size:19px;font-weight:600;letter-spacing:-.025em;line-height:1.35;color:#eeeafc;margin:0 0 7px}
.gallery-caption p{font-size:11px;line-height:1.65;color:#9c96af;margin:0;max-width:400px}
.gallery-index{display:block;font-size:9px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.16em;color:#a58bcc;margin-bottom:12px}
.gallery-controls{display:contents}
.gallery-dots{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:16px;border-top:1px solid #ffffff0b}
.gallery-dots button{min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;height:43px;padding:7px 5px;border:1px solid transparent;border-radius:9px;background:transparent;position:relative;color:#9690a7;font-size:10px;white-space:nowrap;transition:background .25s,border-color .25s,color .25s}
.gallery-dots button>span{font-size:8px;color:#736c85;font-variant-numeric:tabular-nums}
.gallery-dots button[aria-current="true"]{color:#eee5ff;border-color:#a386ff35;background:linear-gradient(135deg,#a386ff1c,#a386ff0a);box-shadow:0 1px 0 #ffffff05 inset}
.gallery-dots button[aria-current="true"]>span{color:#c4aaff}
.gallery-dots button:hover{color:#fff;background:#ffffff07}
.gallery-arrows{grid-column:2;grid-row:1;display:flex;gap:5px;align-items:center;padding-top:10px}
.gallery-arrows button{width:30px;height:34px;border:1px solid transparent;border-radius:8px;background:transparent;color:#91899f;display:grid;place-items:center;transition:background .2s,color .2s}
.gallery-arrows button:hover{background:#ffffff0a;color:#fff}
.gallery-arrows .gallery-play{width:36px;height:36px;border-color:#b29bff25;background:#ac8fff0b;color:#d7c4fb}
.gallery-arrows svg{width:15px;height:15px}
.gallery-play-icon,.gallery-play.is-paused .gallery-pause-icon{display:none}
.gallery-play.is-paused .gallery-play-icon{display:block}
.product-gallery [hidden]{display:none!important}
.gallery-dialog{margin:auto;width:min(1440px,94vw);max-width:94vw;max-height:94vh;padding:14px;border:1px solid #4b3e65;border-radius:16px;background:#0c101b;color:#eeeafc;box-shadow:0 30px 100px #0008}
.gallery-dialog::backdrop{background:#030309df;backdrop-filter:blur(10px)}
.gallery-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:1px 2px 13px}
.gallery-dialog h2{font-size:15px;font-weight:500;margin:0}
.gallery-dialog img{width:100%;height:auto;max-height:calc(94vh - 80px);object-fit:contain;border-radius:8px}
.gallery-close{display:flex;gap:12px;align-items:center;padding:7px 12px;background:#191729;color:#eeeafc;border:1px solid #38304d;border-radius:8px;font-size:12px!important}
.gallery-close span{font-size:20px;line-height:1}
body.gallery-modal-open{overflow:hidden}
@media(min-width:1101px){.hero h1{font-size:clamp(42px,3.3vw,52px)}.hero-cta{gap:12px}.hero-cta .btn-lg{padding:14px 23px}}
@media(max-width:1100px){.hero-container{grid-template-columns:1fr;gap:48px}.hero-visual{width:100%;max-width:720px;margin:0 auto}.hero-content{text-align:center}.hero-desc{margin-left:auto;margin-right:auto}.hero-cta,.hero-platforms,.hero-stats{justify-content:center}}
@media(max-width:600px){.product-gallery{border-radius:16px}.gallery-heading{padding:14px}.gallery-screen{margin:0 7px;border-radius:8px}.gallery-brand>svg{padding:8px;width:16px;height:16px}.gallery-brand>span{font-size:12px}.gallery-brand small{font-size:9px}.gallery-expand{padding:8px}.gallery-footer{padding:18px 14px 12px;gap:14px 8px}.gallery-caption{min-height:112px}.gallery-caption h2{font-size:16px}.gallery-caption p{font-size:10px}.gallery-arrows{gap:1px}.gallery-arrows button{width:25px}.gallery-arrows .gallery-play{width:30px;height:32px}.gallery-dots{gap:4px;padding-top:12px}.gallery-dots button{flex-direction:column;gap:4px;height:54px;font-size:9px;line-height:1.2;white-space:normal;text-align:center}.gallery-dialog{padding:9px}.gallery-dialog h2{font-size:12px}.gallery-dialog-heading{gap:8px}}
@media(prefers-reduced-motion:reduce){.gallery-slide,.gallery-dots button{transition:none}}
