/* Main Vue preview only. Static 1025 reference retains its original styles. */
@media(max-width:600px){
 /* Restore mobile page-by-page snapping. Detail-anchor offsets must not
    shift the snap edge of a full-page slide. */
 .fp-swiper.swiper.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory;overscroll-behavior-y:contain}
 .fp-swiper.swiper>.swiper-wrapper>.swiper-slide{scroll-margin:0!important;scroll-snap-stop:always}
 #home.hero{height:auto;min-height:100vh;min-height:100svh;padding:100px 0 100px;align-items:center}
 .fp-swiper .swiper-wrapper #home.hero{height:auto;min-height:100vh;min-height:100svh}
 #home.hero .copy{padding:0;margin:0 7%;width:86%}
 #home.hero h1{font-size:clamp(24px,6.8vw,30px);line-height:1.45;margin:0 0 24px}
 #home.hero .rhythm-copy{font-size:15px;line-height:1.85;margin:0}
 #home .rhythm-copy .copy-line,#computer .rhythm-copy .copy-line,
 #chip .rhythm-copy .copy-line,#cloud .rhythm-copy .copy-line,#control .rhythm-copy .copy-line{display:inline}
 #computer.computer,#chip.scene,#cloud.scene,#control.scene{height:auto;min-height:100vh;min-height:100svh;padding:clamp(172px,29svh,238px) 0 28px;align-items:flex-start;background-size:auto 320px}
 .fp-swiper #computer.computer,.fp-swiper #chip.scene,.fp-swiper #cloud.scene,.fp-swiper #control.scene{padding-top:clamp(172px,29svh,238px);padding-bottom:28px}
 #computer.computer .computer-copy,#chip.scene .copy,#cloud.scene .copy,#control.scene .copy{width:86%;margin-left:7%;margin-right:7%;padding:0;max-width:none}
 #computer.computer h2,#chip.scene h2,#cloud.scene h2,#control.scene h2{font-size:26px;line-height:1.35;margin:0}
 #computer.computer .rhythm-copy,#chip.scene .rhythm-copy,#cloud.scene .rhythm-copy,#control.scene .rhythm-copy{font-size:15px;line-height:1.8;margin:16px 0}
 #computer.computer .more,#chip.scene .more,#cloud.scene .more,#control.scene .more{min-height:44px;min-width:0;padding:9px 18px;margin:0 0 14px;font-size:15px}
 #computer.computer #computer-specs{width:100%;margin:0;font-size:14px}
 #computer.computer #computer-specs th,#computer.computer #computer-specs td{font-size:14px;line-height:1.55;padding:5px 0}
 #computer.computer #computer-specs td{padding-left:10px;white-space:normal}
 #chip.scene .features{margin:0;font-size:15px;line-height:1.7}
 #chip.scene .features li{padding:5px 0}
 #computer.computer .bg-video,#chip.scene .bg-video,#cloud.scene .bg-video,#control.scene .bg-video{height:320px;inset:0 0 auto}
 #control.scene::after{background:linear-gradient(180deg,transparent 120px,#03070b99 210px,#03070b 320px)}
 #strategy,.fp-swiper #strategy{height:auto;min-height:100vh;min-height:100svh;justify-content:flex-start;padding:28px 7%}
 .fp-swiper #strategy{padding-top:calc(var(--xgm-nav-h,60px) + 20px)}
 #strategy .strategy-heading h2{font-size:26px;line-height:1.45}
 #strategy .timeline{margin-top:22px;grid-template-columns:repeat(6,minmax(250px,82vw));gap:22px;padding-bottom:14px}
 #strategy .timeline::before{width:calc(6 * max(250px,82vw) + 5 * 22px)}
 #strategy .milestone-heading h3{font-size:20px;margin-bottom:14px}
 #strategy .timeline article>ul{font-size:14px;line-height:1.85}
 #strategy .timeline article>ul li{margin-bottom:8px}
 #partners.partners.partner-one-screen .partners-body{justify-content:flex-start;padding-top:20px;padding-bottom:16px}
 .fp-swiper #partners.partners.partner-one-screen .partners-body{padding-top:calc(var(--xgm-nav-h,60px) + 16px)}
 /* News flows from heading to story to tabs; no fixed 850px empty frame. */
 #news.news-carousel,.fp-swiper #news.news-carousel{height:auto;min-height:0;padding:0 0 28px}
 #news .news-section-heading,.fp-swiper #news .news-section-heading{position:relative;top:auto;left:auto;right:auto;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0;padding:24px 7% 20px}
 .fp-swiper #news .news-section-heading{padding-top:calc(var(--xgm-nav-h,60px) + 16px)}
 #news .news-section-heading h2{font-size:23px;line-height:1.4}
 #news .news-controls{gap:2px;flex-shrink:0}
 #news .news-controls button{min-width:36px;padding-left:3px;padding-right:3px}
 #news .news-stage,.fp-swiper #news .news-stage{position:static}
 #news .news-slide,.fp-swiper #news .news-slide{position:relative;inset:auto;min-height:0}
 #news .news-story,.fp-swiper #news .news-story{position:relative;top:auto;left:auto;width:auto;max-width:none;padding:12px 7% 0}
 #news .news-category{font-size:13px;margin-bottom:16px}
 #news .news-story h3{font-size:26px;line-height:1.5;margin-bottom:18px}
 #news .news-description{font-size:15px;line-height:1.85;margin-bottom:22px}
 #news .news-story .more{min-height:44px;padding:9px 18px;font-size:15px}
 #news .news-tabs,.fp-swiper #news .news-tabs{position:relative;inset:auto;width:auto;margin:26px 7% 0;padding:0 0 10px;grid-template-columns:repeat(6,84%) 16%;gap:18px}
 #news .news-tab:not(.is-active){visibility:visible}
 .fp-swiper #news .news-tab:not(.is-active){visibility:visible}
 #news .news-tab{min-height:80px}
 /* Detail heroes use natural height so copy cannot be clipped on short phones. */
 body.detail-page .detail-hero.hero{height:auto;min-height:100svh;padding:290px 0 64px;background-size:auto 260px;background-position:65% 60px}
 body.detail-page .detail-copy{padding:0;width:86%;margin:0 7%}
 body.detail-page .detail-copy h1{margin-top:0;margin-bottom:18px}
 body.detail-page .detail-subtitle{font-size:20px;margin-bottom:18px}
 body.chip-detail .chip-hero.hero{height:auto;min-height:100svh;padding:300px 0 64px;background-size:auto 280px;background-position:60% 40px}
 body.chip-detail .chip-hero-copy h1{margin:0 0 20px}
 body.control-detail .control-hero.hero{height:auto;min-height:100svh;padding:270px 0 64px}
 body.control-detail .control-hero.hero::before{background-size:auto 300px;background-position:79% top}
 body.control-detail .control-copy h1{margin-top:0}
 body.cloud-detail .cloud-hero.hero{height:auto;min-height:100svh;padding:200px 0 80px}
 body.applications-detail .applications-hero.hero{height:auto;min-height:100svh;padding:210px 0 100px}
 body.about-detail .about-hero.hero{height:auto;min-height:100svh;padding:100px 0 64px}
 body.careers-detail .careers-hero.hero{height:auto;min-height:100vh;min-height:100svh;padding:140px 0 130px}
 body.careers-detail .careers-hero-copy{padding:0}
 body.contact-detail .contact-hero.hero{height:auto;min-height:300px;padding:100px 0 50px}
 body.contact-detail .contact-hero-copy{padding:0}
 body.contact-detail .contact-hero-copy h1{margin:0}
 body.contact-detail .inquiry-fields input,body.contact-detail .inquiry-fields textarea{font-size:16px}
}

/* Main homepage: tighten short-screen spacing without changing the reference. */
@media(max-width:600px){
 .fp-swiper #computer.computer,.fp-swiper #chip.scene,.fp-swiper #cloud.scene,.fp-swiper #control.scene{--scene-copy-top:clamp(100px,calc(100svh - 520px),220px);padding-top:var(--scene-copy-top);padding-bottom:20px}
 .fp-swiper #computer.computer .rhythm-copy,.fp-swiper #chip.scene .rhythm-copy,.fp-swiper #cloud.scene .rhythm-copy,.fp-swiper #control.scene .rhythm-copy{margin:12px 0}
}
@media(max-width:600px) and (max-height:650px){
 .fp-swiper #computer.computer h2,.fp-swiper #chip.scene h2,.fp-swiper #cloud.scene h2,.fp-swiper #control.scene h2{font-size:24px}
 .fp-swiper #computer.computer .rhythm-copy,.fp-swiper #chip.scene .rhythm-copy,.fp-swiper #cloud.scene .rhythm-copy,.fp-swiper #control.scene .rhythm-copy{font-size:14px;line-height:1.65;margin:10px 0}
 .fp-swiper #computer.computer .more,.fp-swiper #chip.scene .more,.fp-swiper #cloud.scene .more,.fp-swiper #control.scene .more{margin-bottom:8px}
 .fp-swiper #computer.computer #computer-specs th,.fp-swiper #computer.computer #computer-specs td{font-size:13px;line-height:1.5;padding-top:3px;padding-bottom:3px}
 .fp-swiper #chip.scene .features{font-size:14px;line-height:1.6}
}
@media(max-width:600px) and (max-height:760px){
 .fp-swiper #strategy{padding-bottom:16px}
 .fp-swiper #strategy .timeline{margin-top:18px}
 .fp-swiper #strategy .milestone-heading h3{font-size:18px;line-height:1.5;margin-top:36px;margin-bottom:10px}
 .fp-swiper #strategy .milestone-intro{font-size:13px;line-height:1.65;margin-bottom:12px}
 .fp-swiper #strategy .timeline article>ul{font-size:13px;line-height:1.65}
 .fp-swiper #strategy .timeline article>ul li{margin-bottom:6px}
}

@media(max-width:600px){
 .fp-swiper #computer.computer::after,.fp-swiper #control.scene::after,
 .fp-swiper #chip.scene::before,.fp-swiper #cloud.scene::before{background:linear-gradient(180deg,transparent calc(var(--scene-copy-top) - 70px),#05090dcc var(--scene-copy-top),#05090d calc(var(--scene-copy-top) + 110px))}
}

/* Keep the mobile final-page footer at the bottom when news is shorter. */
@media(max-width:600px){
 .fp-swiper #news-end.news-end{display:flex;flex-direction:column;align-items:stretch;min-height:100%}
 .fp-swiper #news-end>#news{flex:none}
 .fp-swiper #news-end>#footer{flex:none;margin-top:auto}
}

/* One year per mobile snap; decorative connectors never extend past content. */
.timeline-hint{display:none}
@media(max-width:600px){
 .fp-swiper #strategy .strategy-fit{width:100%;min-width:0}
 .fp-swiper #strategy .strategy-heading{position:relative}
 .fp-swiper #strategy .timeline-hint{display:flex;position:absolute;right:0;bottom:-7px;align-items:center;gap:14px;font-size:12px;line-height:16px;color:#b4bcc5;white-space:nowrap;pointer-events:none}
 .fp-swiper #strategy .timeline-count{font-family:Anta,sans-serif;font-variant-numeric:tabular-nums;color:#c5a173}
 .fp-swiper #strategy .timeline{--timeline-gap:16px;min-width:0;width:100%;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--timeline-gap);padding:5px 4px 14px;scroll-snap-type:x mandatory;scroll-padding-inline:4px;overscroll-behavior-x:none;scrollbar-width:none}
 .fp-swiper #strategy .timeline::-webkit-scrollbar{display:none}
 .fp-swiper #strategy .timeline::before{content:none}
 .fp-swiper #strategy .timeline article{scroll-snap-align:start;scroll-snap-stop:always}
 .fp-swiper #strategy .timeline article::before{z-index:1}
 .fp-swiper #strategy .timeline article::after{content:'';position:absolute;left:0;right:calc(0px - var(--timeline-gap));top:58px;height:1px;background:#996424aa;pointer-events:none}
 .fp-swiper #strategy .timeline article:last-child::after{right:auto;width:44px}
}

/* Balanced mobile timeline and a native news rail with no trailing spacer. */
@media(max-width:600px){
 .fp-swiper #strategy{justify-content:center;min-height:100%}
 .fp-swiper #news .news-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;gap:16px;padding:0 0 10px;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:none;scrollbar-width:none}
 .fp-swiper #news .news-tabs::-webkit-scrollbar{display:none}
 .fp-swiper #news .news-tabs::after{content:none}
 .fp-swiper #news .news-tab{scroll-snap-align:start;scroll-snap-stop:always}
 .fp-swiper #news .news-stage{touch-action:pan-y;display:grid}
 .fp-swiper #news .news-slide{grid-area:1 / 1;min-width:0}
 .fp-swiper #news .news-slide[hidden]{display:block;visibility:hidden;pointer-events:none}
 .fp-swiper #news .news-slide.is-active{animation:xgm-news-reveal .22s ease-out}
}
@keyframes xgm-news-reveal{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.fp-swiper #news .news-slide.is-active{animation:none}}

/* One continuous mobile background, including flex space above the footer. */
@media(max-width:600px){
 .fp-swiper #news-end.news-end{background:#000}
 .fp-swiper #news-end>#news.news-carousel{background-color:transparent}
}
