/* src/styles/download-experience.css: portable route stylesheet. */
/* Microsoft Store conversion. Loaded only with the lazy Download page. */
.of-download { padding: 0 0 clamp(76px, 9vw, 132px); }

.of-download__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #7dd3fc; font-size: .7rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.of-download__eyebrow span { width: 34px; height: 1px; background: linear-gradient(90deg, #38bdf8, transparent); box-shadow: 0 0 12px #38bdf8; }
.of-download__copy h1 { max-width: 900px; margin: 18px 0 0; color: #f8fbff; font-size: clamp(3.25rem, 5.5vw, 6.35rem); font-weight: 650; letter-spacing: -.06em; line-height: .94; text-wrap: balance; }
.of-download__lead { max-width: 730px; margin: 26px 0 0; color: #aebfd2; font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.78; }

.of-download__availability { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; overflow: hidden; max-width: 720px; margin-top: 30px; border: 1px solid rgba(125, 211, 252, .15); border-radius: 18px; background: rgba(125, 211, 252, .12); }
.of-download__availability div { min-width: 0; padding: 16px 17px; background: rgba(3, 12, 28, .93); }
.of-download__availability span { display: block; color: #70869d; font-size: .58rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.of-download__availability strong { display: block; overflow-wrap: anywhere; margin-top: 7px; color: #edf7ff; font-size: .86rem; }
.of-download__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.of-download__feeNote { max-width: 710px; margin: 20px 0 0; border-left: 2px solid rgba(56, 189, 248, .36); padding-left: 14px; color: #71859c; font-size: .74rem; line-height: 1.7; }

.of-download__visual { position: relative; overflow: hidden; margin: 0; border: 1px solid rgba(125, 211, 252, .24); border-radius: 32px; background: #01050c; box-shadow: 0 42px 120px rgba(0, 0, 0, .56), 0 0 70px rgba(14, 165, 233, .09); transform: perspective(1400px) rotateY(-2deg); transform-origin: center left; }
.of-download__visual::after { position: absolute; inset: 0; pointer-events: none; content: ""; background: linear-gradient(118deg, rgba(255, 255, 255, .07), transparent 22% 76%, rgba(56, 189, 248, .07)); }
.of-download__visual picture,
.of-download__visual img { display: block; width: 100%; }
.of-download__visual img { aspect-ratio: 1.598; object-fit: cover; }
.of-download__visualStatus { position: absolute; z-index: 2; top: 18px; right: 18px; display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; align-items: center; border: 1px solid rgba(125, 211, 252, .2); border-radius: 14px; padding: 10px 13px; background: rgba(2, 8, 20, .78); backdrop-filter: blur(14px); }
.of-download__visualStatus i { grid-row: 1 / 3; width: 8px; height: 8px; border-radius: 50%; background: #38bdf8; box-shadow: 0 0 14px #38bdf8; animation: nq-telemetry-pulse 2.4s ease-in-out infinite; }
.of-download__visualStatus span { color: #7c92aa; font-size: .52rem; letter-spacing: .13em; text-transform: uppercase; }
.of-download__visualStatus strong { color: #e5f3ff; font-size: .68rem; }
.of-download__visual figcaption { position: relative; z-index: 2; padding: 14px 18px; color: #7f93a9; background: linear-gradient(180deg, rgba(3, 11, 26, .95), #020711); font-size: .64rem; letter-spacing: .05em; line-height: 1.6; text-transform: uppercase; }

.of-download__proof { display: grid; grid-template-columns: minmax(0, .72fr) minmax(560px, 1.28fr); gap: clamp(34px, 6vw, 88px); align-items: start; border-top: 1px solid rgba(125, 211, 252, .1); padding-top: clamp(62px, 8vw, 108px); padding-bottom: clamp(62px, 8vw, 104px); }
.of-download__proofHeading > p,
.of-download__screenTourHeading p { margin: 0; color: #7dd3fc; font-size: .63rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.of-download__proofHeading h2,
.of-download__screenTourHeading h2 { max-width: 900px; margin: 13px 0 0; color: #f8fbff; font-size: clamp(2.3rem, 4vw, 4.45rem); font-weight: 650; letter-spacing: -.05em; line-height: .98; text-wrap: balance; }
.of-download__proofHeading > span { display: block; max-width: 690px; margin-top: 20px; color: #879bb1; font-size: .84rem; line-height: 1.8; }
.of-download__proofGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.of-download__proofGrid article { min-height: 220px; border: 1px solid rgba(125, 211, 252, .13); border-radius: 22px; padding: 22px; background: linear-gradient(145deg, rgba(7, 22, 44, .88), rgba(2, 9, 21, .96)); }
.of-download__proofGrid article > span { color: #52ccff; font-size: .62rem; font-weight: 800; letter-spacing: .16em; }
.of-download__proofGrid h3 { margin: 35px 0 0; color: #edf7ff; font-size: 1.05rem; }
.of-download__proofGrid p { margin: 11px 0 0; color: #7f94aa; font-size: .76rem; line-height: 1.72; }

.of-download__screenTour { border: 1px solid rgba(125, 211, 252, .13); border-radius: 30px; padding-top: clamp(28px, 4vw, 46px); padding-bottom: clamp(28px, 4vw, 46px); background: radial-gradient(circle at 84% 2%, rgba(14, 165, 233, .09), transparent 30%), rgba(2, 9, 22, .72); }
.of-download__screenTourHeading { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding-inline: clamp(22px, 3vw, 38px); }
.of-download__screenTourHeading h2 { font-size: clamp(2.1rem, 3.5vw, 3.75rem); }
.of-download__screenTourHeading > a { flex: 0 0 auto; color: #aee8ff; font-size: .76rem; font-weight: 760; text-decoration: none; }
.of-download__screenGrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 28px; padding-inline: clamp(14px, 2vw, 24px); }
.of-download__screenGrid > a { overflow: hidden; border: 1px solid rgba(125, 211, 252, .12); border-radius: 18px; color: inherit; background: #020812; text-decoration: none; transition: border-color .2s ease, transform .2s ease; }
.of-download__screenGrid > a:hover { border-color: rgba(125, 211, 252, .38); transform: translateY(-2px); }
.of-download__screenGrid img { display: block; width: 100%; aspect-ratio: 16 / 9; padding: 5px; object-fit: contain; object-position: center top; background: #01050c; }
.of-download__screenGrid > a > span { display: block; border-top: 1px solid rgba(125, 211, 252, .09); padding: 13px; }
.of-download__screenGrid strong,
.of-download__screenGrid small { display: block; }
.of-download__screenGrid strong { color: #eaf6ff; font-size: .82rem; }
.of-download__screenGrid small { margin-top: 5px; color: #71879f; font-size: .65rem; line-height: 1.55; }
.of-download__screenBoundary { margin: 16px clamp(22px, 3vw, 38px) 0; color: #657b92; font-size: .64rem; line-height: 1.65; }

.of-download__deviceHandoff { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; border: 1px solid rgba(125, 211, 252, .17); border-radius: 24px; padding: clamp(24px, 4vw, 38px); background: linear-gradient(145deg, rgba(7, 23, 46, .94), rgba(2, 9, 21, .98)); box-shadow: 0 28px 80px rgba(0, 0, 0, .25); }
.of-download__deviceIcon { position: relative; width: 78px; height: 62px; }
.of-download__deviceIcon > span:first-child { position: absolute; inset: 5px 10px 13px 0; border: 2px solid rgba(125, 211, 252, .56); border-radius: 8px; box-shadow: inset 0 0 26px rgba(14, 165, 233, .09), 0 0 22px rgba(14, 165, 233, .08); }
.of-download__deviceIcon > span:first-child::after { position: absolute; right: 15%; bottom: -10px; left: 15%; height: 2px; border-radius: 2px; background: rgba(125, 211, 252, .42); content: ""; }
.of-download__deviceIcon > span:last-child { position: absolute; right: 0; bottom: 0; width: 25px; height: 42px; border: 2px solid #38bdf8; border-radius: 7px; background: #04142b; box-shadow: 0 0 20px rgba(14, 165, 233, .18); }
.of-download__deviceHandoff > div:nth-child(2) > p,
.of-download__sectionHeading > p,
.of-download__installHeading > p,
.of-download__final > div > p { margin: 0; color: #7dd3fc; font-size: .63rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.of-download__deviceHandoff h2 { margin: 8px 0 0; color: #f1f8ff; font-size: clamp(1.35rem, 2.2vw, 2rem); letter-spacing: -.025em; }
.of-download__deviceHandoff > div:nth-child(2) > span { display: block; max-width: 780px; margin-top: 10px; color: #8fa3b9; font-size: .82rem; line-height: 1.75; }
.of-download__handoffActions { display: grid; justify-items: end; gap: 8px; min-width: 218px; }
.of-download__handoffActions > a { color: #9fddff; font-size: .7rem; font-weight: 740; text-decoration: none; }
.of-download__handoffActions > a:hover,
.of-download__handoffActions > a:focus-visible { color: #fff; }
.of-download__copyStatus { min-height: 1.2em; max-width: 250px; color: #7a91a8; font-size: .62rem; line-height: 1.5; text-align: right; }

.of-download__readiness { padding-top: clamp(76px, 9vw, 132px); }
.of-download__sectionHeading { max-width: 920px; }
.of-download__sectionHeading h2,
.of-download__installHeading h2,
.of-download__final h2 { margin: 13px 0 0; color: #f8fbff; font-size: clamp(2.5rem, 4.5vw, 4.9rem); font-weight: 650; letter-spacing: -.05em; line-height: .98; text-wrap: balance; }
.of-download__sectionHeading > span { display: block; max-width: 800px; margin-top: 19px; color: #8fa2b7; font-size: .9rem; line-height: 1.8; }
.of-download__readinessGrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 34px; }
.of-download__readinessGrid article { position: relative; min-height: 270px; overflow: hidden; border: 1px solid rgba(125, 211, 252, .13); border-radius: 24px; padding: 25px; background: linear-gradient(150deg, rgba(7, 21, 43, .92), rgba(2, 9, 21, .98)); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.of-download__readinessGrid article::after { position: absolute; right: -44px; bottom: -55px; width: 145px; height: 145px; border: 1px solid rgba(56, 189, 248, .12); border-radius: 50%; content: ""; }
.of-download__readinessGrid article:hover { border-color: rgba(125, 211, 252, .35); transform: translateY(-5px); box-shadow: 0 26px 70px rgba(0, 0, 0, .28); }
.of-download__readinessGrid article > span { color: #41bff8; font-size: .66rem; letter-spacing: .18em; }
.of-download__readinessGrid h3 { margin: 48px 0 0; color: #edf6ff; font-size: 1.25rem; }
.of-download__readinessGrid p { position: relative; z-index: 1; margin: 13px 0 0; color: #8498af; font-size: .8rem; line-height: 1.78; }

.of-download__install { display: grid; grid-template-columns: minmax(0, .72fr) minmax(500px, 1.28fr); gap: clamp(38px, 7vw, 105px); align-items: start; margin-top: clamp(78px, 10vw, 142px); border-top: 1px solid rgba(125, 211, 252, .1); border-bottom: 1px solid rgba(125, 211, 252, .1); padding-top: clamp(70px, 8vw, 112px); padding-bottom: clamp(70px, 8vw, 112px); }
.of-download__install ol { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.of-download__install li { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; border: 1px solid rgba(125, 211, 252, .13); border-radius: 18px; padding: 18px 20px; background: rgba(5, 17, 36, .76); }
.of-download__install li > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(125, 211, 252, .24); border-radius: 50%; color: #70d1ff; background: rgba(14, 165, 233, .07); font-size: .66rem; font-weight: 800; }
.of-download__install li strong { color: #eaf5ff; font-size: .9rem; }
.of-download__install li p { margin: 5px 0 0; color: #7f94aa; font-size: .76rem; line-height: 1.65; }
.of-download__resourceLinks { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 4px; }
.of-download__resourceLinks a { display: flex; justify-content: space-between; gap: 10px; min-height: 58px; align-items: center; border: 1px solid rgba(125, 211, 252, .12); border-radius: 13px; padding: 12px 14px; color: #a9bfd2; background: rgba(4, 14, 30, .7); font-size: .7rem; font-weight: 700; text-decoration: none; }
.of-download__resourceLinks a:hover,
.of-download__resourceLinks a:focus-visible { border-color: rgba(125, 211, 252, .38); color: #fff; background: rgba(14, 165, 233, .08); }
.of-download__credentialBoundary { grid-column: 1 / -1; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: start; border: 1px solid rgba(250, 204, 21, .15); border-radius: 16px; padding: 16px 18px; background: rgba(120, 53, 15, .08); }
.of-download__credentialBoundary strong { color: #fde68a; font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; }
.of-download__credentialBoundary p { margin: 0; color: #9e9077; font-size: .7rem; line-height: 1.7; }

.of-download__final { display: flex; align-items: center; justify-content: space-between; gap: 34px; margin-top: clamp(70px, 9vw, 126px); border: 1px solid rgba(125, 211, 252, .16); border-radius: 26px; padding-top: clamp(30px, 5vw, 52px); padding-bottom: clamp(30px, 5vw, 52px); background: radial-gradient(circle at 80% 20%, rgba(14, 165, 233, .1), transparent 32%), linear-gradient(145deg, rgba(7, 21, 43, .94), rgba(2, 8, 20, .98)); }
.of-download__final h2 { max-width: 900px; font-size: clamp(2.1rem, 3.6vw, 3.75rem); }
.of-download__final > div > span { display: block; max-width: 830px; margin-top: 16px; color: #8498ae; font-size: .82rem; line-height: 1.75; }
.of-download__final > .of-msStoreButton { flex: 0 0 auto; }

@media (max-width: 1120px) {
  
  .of-download__copy { max-width: 900px; }
  .of-download__visual { max-width: 920px; transform: none; }
  .of-download__proof { grid-template-columns: 1fr; }
  .of-download__proofHeading { max-width: 900px; }
  .of-download__screenGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .of-download__readinessGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .of-download__install { grid-template-columns: 1fr; }
  .of-download__resourceLinks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  
  .of-download__copy h1 { font-size: clamp(2.7rem, 10vw, 4.4rem); }
  .of-download__deviceHandoff { grid-template-columns: auto 1fr; }
  .of-download__handoffActions { grid-column: 1 / -1; justify-items: start; min-width: 0; }
  .of-download__copyStatus { text-align: left; }
  .of-download__screenTourHeading { align-items: flex-start; flex-direction: column; }
  .of-download__readinessGrid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: clamp(270px, 72vw, 360px); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; padding-bottom: 10px; }
  .of-download__readinessGrid article { scroll-snap-align: start; }
  .of-download__resourceLinks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .of-download__final { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
  
  .of-download__copy h1 { font-size: clamp(2.45rem, 12vw, 3.35rem); }
  .of-download__availability { grid-template-columns: 1fr; }
  .of-download__actions { display: grid; grid-template-columns: 1fr; }
  .of-download__actions > *,
  .of-download__handoffActions > .of-btn,
  .of-download__final > .of-msStoreButton { width: 100% !important; min-width: 0 !important; max-width: none !important; }
  .of-download__visual { border-radius: 18px; }
  .of-download__visualStatus { top: 10px; right: 10px; }
  .of-download__proofGrid,
  .of-download__screenGrid { grid-template-columns: 1fr; }
  .of-download__proofGrid article { min-height: 0; }
  .of-download__proofGrid h3 { margin-top: 20px; }
  .of-download__deviceHandoff { grid-template-columns: 1fr; border-radius: 18px; }
  .of-download__deviceIcon { width: 68px; }
  .of-download__handoffActions { grid-column: auto; width: 100%; }
  .of-download__readinessGrid { grid-auto-columns: min(82vw, 310px); }
  .of-download__readinessGrid article { min-height: 250px; }
  .of-download__resourceLinks { grid-template-columns: 1fr; }
  .of-download__credentialBoundary { grid-template-columns: 1fr; }
  .of-download__final { border-radius: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .of-download__visualStatus i { animation: none; }
  .of-download__readinessGrid article,
  .of-download__screenGrid > a { transition: none; }
}

