/* Homepage-only scenic layer. All download actions remain in app.js. */
:root:has(.scenic-home){--bg:#eaf4fc;--ink:#233e55;--muted:#5d7284;--line:#d7e5ef;--green:#31749a;--green-dark:#245b80;--lime:#e9f6ff;--soft-green:#e8f4fb;scroll-padding-top:112px}
.scenic-home{background:#071a2b;color:#233e55;isolation:isolate}
.scene{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#071a2b}
.scene-poster,.scene-video,.scene-light,.scene-petals,.scene-wash{position:absolute;inset:0;width:100%;height:100%}
.scene-poster img,.scene-video{width:100%;height:100%;object-fit:cover;object-position:center center}
.scene-video{opacity:0;transition:opacity .18s ease;transform:translateZ(0)}
.scene.is-playing .scene-video,.scene.has-frame .scene-video{opacity:1}
.scene.has-frame .scene-poster{visibility:hidden}
.scene-light{display:none}
.scene-wash{background:linear-gradient(90deg,#03102070 0%,#03102025 35%,transparent 60%)}
.scene-petals{opacity:.85}
.scene.is-paused .scene-light{animation-play-state:paused}
.scenic-home .site-header{position:sticky;top:18px;z-index:20;max-width:1200px;height:72px;margin:18px auto 0;background:#f5faffc9;border:1px solid #ffffffd9;border-radius:22px;box-shadow:0 8px 36px #254e7510;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.scenic-home .header-inner{max-width:none;padding:0 26px;gap:24px}
.scenic-home .brand{color:#203c51;letter-spacing:1px}
.scenic-home .brand-icon{box-shadow:0 3px 12px #172f4c1a}
.scenic-home .header-inner nav{gap:30px;font-size:13px}
.scenic-home .header-inner nav a{color:#547087;padding:24px 0}
.scenic-home .header-inner nav a:hover,.scenic-home .header-inner nav .nav-active{color:#204d73}
.scenic-home .nav-active:after{bottom:14px;width:14px;height:2px;left:calc(50% - 7px);border-radius:3px;background:#5188ad}
.motion-toggle{min-height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;gap:7px;background:#ffffffbd;border:1px solid #d8e6f0;border-radius:12px;color:#345970;font-size:11px;padding:8px 12px;white-space:nowrap;transition:background .2s,transform .2s}
.motion-toggle:hover{background:white;transform:translateY(-1px)}
.motion-toggle svg{width:16px;height:16px;stroke-width:1.8}
.motion-toggle .motion-pause{display:none}
.motion-toggle[aria-pressed="true"] .motion-pause{display:block}
.motion-toggle[aria-pressed="true"] .motion-play{display:none}
.scenic-home .page-shell{max-width:1176px;padding:0 28px}
.scenic-home .hero{display:flex;align-items:center;min-height:calc(100svh - 90px);padding:70px 0 118px;gap:0}
.hero-copy{position:relative;width:590px;max-width:100%;animation:hero-arrive 1.1s cubic-bezier(.2,.65,.3,1) both}
.hero-season{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:3px;color:#355c73;margin-bottom:27px}
.hero-season>span{width:7px;height:7px;border-radius:50%;background:#79a2ae;box-shadow:0 0 0 5px #ffffff6b}
.scenic-home .hero h1{font-family:"Songti SC","STSong","SimSun",serif;font-size:clamp(68px,7.5vw,104px);font-weight:700;line-height:1.2;letter-spacing:9px;color:#203f56;text-shadow:0 2px 25px #ffffff70}
.hero-title-dot{color:#548ca0;letter-spacing:0;font-size:.6em;margin-left:-3px}
.scenic-home .hero-description{font-size:15px;line-height:2.05;letter-spacing:.6px;margin-top:27px;color:#395b72;max-width:450px}
.scenic-home .hero-features{font-size:12px;color:#3d647b;gap:24px;margin-top:24px}
.scenic-home .hero-features svg{color:#447f93}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:35px}
.scenic-home .hero-link{margin:0;display:inline-flex;justify-content:center;gap:24px;padding:15px 24px;min-height:54px;border-radius:15px;background:#285d80;color:#fff;font-size:14px;font-weight:600;box-shadow:0 8px 24px #245c7e26;transition:transform .2s,background .2s,box-shadow .2s}
.scenic-home .hero-link svg{width:17px;height:17px}
.scenic-home .hero-link:hover{transform:translateY(-3px);background:#1d4c70;box-shadow:0 12px 30px #245c7e38}
.hero-resource{font-size:13px;color:#294f69;display:inline-flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #476d8050;transition:color .2s}
.hero-resource:hover{color:#0b3456}
.hero-resource span{font-size:19px}
.scene-scroll{position:absolute;bottom:28px;left:0;display:flex;align-items:center;gap:14px;font-size:10px;color:#385f75;letter-spacing:2px}
.scene-scroll svg{width:16px;height:16px;animation:scroll-nudge 2.6s ease-in-out infinite}
.scenic-home .device-banner{padding:16px 20px;background:#f6fbfff0;border-color:#ffffffed;box-shadow:0 6px 22px #33566b0a;color:#537086;font-size:12px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px}
.scenic-home .device-banner strong,.scenic-home .text-button{color:#2b6080}
.scenic-home .banner-icon{color:#62869b}
.scenic-home .download-section{padding-top:55px;scroll-margin-top:4px}
.scenic-home .section-heading{margin-bottom:24px;align-items:center;padding:20px 24px;border-radius:18px;background:#f3faffd9;border:1px solid #ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.scenic-home .section-heading .eyebrow{color:#477998;letter-spacing:3px;font-size:10px;margin-bottom:8px}
.scenic-home h2{font-size:28px;font-weight:650;letter-spacing:.1px;color:#294b63}
.scenic-home .section-caption{font-size:12px;color:#5a788d}
.scenic-home .download-layout{grid-template-columns:330px minmax(0,1fr);gap:24px}
.scenic-home .dns-column{position:sticky;top:110px}
.scenic-home .dns-card,.scenic-home .apps-card{background:#fafdfff0;border:1px solid #ffffffeb;box-shadow:0 12px 40px #183f6812;border-radius:24px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.scenic-home .dns-card{padding:27px}
.scenic-home .step-label{color:#4985aa;font-size:11px;letter-spacing:2px}
.scenic-home .soft-tag{background:#e6f1f8;color:#567b93;border:1px solid #daeaf4;padding:4px 8px;border-radius:6px}
.scenic-home .dns-symbol{display:grid;background:#e6f2fa;border-color:#d5e8f3;color:#5387a6;margin-top:27px;border-radius:16px;width:50px;height:50px}
.scenic-home .dns-card h3{color:#2b4d65;font-size:21px;margin-top:21px}
.scenic-home .card-description{color:#5b7588;font-size:12px;line-height:1.9}
.scenic-home .profile-file{background:#ecf5fb;border-color:#dbeaf3;border-radius:13px;padding:15px 12px;margin-top:22px}
.scenic-home .profile-file strong{color:#41667f;font-size:12px}
.scenic-home .profile-file div>span{color:#6a8497;font-size:10px}
.scenic-home .file-icon{color:#679bb9}
.scenic-home .file-extension{color:#60869f;border-color:#c9dfec}
.scenic-home .primary-button{min-height:50px;background:#2b668c;border-radius:12px;font-size:13px;box-shadow:0 5px 13px #2b668c15;transition:background .2s,transform .2s,box-shadow .2s}
.scenic-home .primary-button:hover{background:#215678;transform:translateY(-2px);box-shadow:0 8px 20px #2b668c24}
.scenic-home .profile-disclosure{color:#627d90;font-size:11px}
.scenic-home .inline-button{color:#2e6d95}
.scenic-home .dns-divider{background:#dce9f2}
.scenic-home .dns-card h4{color:#385c75}
.scenic-home .mini-steps li>span{background:#e4f0f9;color:#5081a0;width:22px;height:22px;font-size:10px}
.scenic-home .mini-steps p{color:#627d91;font-size:12px}
.scenic-home .mini-steps strong{color:#335870}
.scenic-home .card-help{border-color:#e0eaf1;color:#3d779b;font-size:12px}
.scenic-home .gentle-note{color:#4e6d83;background:#f1f8f9e0;border:1px solid #ffffffcc;border-radius:14px;padding:13px 15px;margin-top:13px;font-size:11px;line-height:1.8}
.scenic-home .apps-card{padding:28px 28px 0}
.scenic-home .apps-heading h3{font-size:24px;font-weight:650;color:#2b4f68;margin-top:8px;letter-spacing:0}
.scenic-home .count-badge{background:#e5f1f9;color:#507d9a;border:1px solid #d9e8f1;border-radius:9px;font-size:11px;padding:6px 11px}
.scenic-home .apps-description{color:#5c778b;font-size:12px;line-height:1.85;margin:13px 0 22px}
.scenic-home .search-field{height:48px;background:#f0f6fb;border:1px solid #d9e7f1;border-radius:13px;transition:border .2s,box-shadow .2s}
.scenic-home .search-field:focus-within{border-color:#70a5c7;box-shadow:0 0 0 3px #8bb9d71a}
.scenic-home .search-field input{font-size:12px;color:#2d526d}
.scenic-home .search-field input::placeholder{color:#71899a}
.scenic-home .search-field svg,.scenic-home .search-field kbd{color:#6993ae}
.scenic-home .list-column-label{color:#678498;font-size:10px;border-color:#dce8f0;margin-top:20px;letter-spacing:.5px}
.scenic-home .app-row{position:relative;gap:14px;padding:19px 0;border-color:#e1ebf3;transition:background .2s}
.scenic-home .app-row:hover{background:#e7f2fa6b}
.scenic-home .app-icon{width:48px;height:48px;border-radius:14px;box-shadow:0 4px 10px #264e6c12;flex-shrink:0}
.scenic-home .app-info h4{font-size:13px;color:#30526b;font-weight:600;line-height:1.6}
.scenic-home .app-info p{font-size:11px;color:#6c8395;margin-top:2px}
.scenic-home .install-button{min-width:78px;min-height:42px;border-radius:11px;background:#eaf3fb;color:#336e96;border:1px solid #d4e5f2;font-size:12px;gap:7px;transition:transform .2s,background .2s,box-shadow .2s}
.scenic-home .install-button:hover{background:#dcecf8;transform:translateY(-2px);box-shadow:0 5px 13px #3c82af12}
.scenic-home .install-button:active{transform:translateY(0)}
.scenic-home .apps-footnote{background:#eff6fce6;border-color:#dbe7f1;color:#607d91;font-size:11px;line-height:1.8;margin-top:3px;padding-top:19px;padding-bottom:19px}
.scenic-home .list-message{color:#5f7b90}
.scenic-home .guide-section{margin-top:55px}
.scenic-home .guide-card{background:#f6fbfff0;border:1px solid #ffffffdf;border-radius:18px;padding:26px 22px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 26px #34566e0b}
.scenic-home .guide-number{color:#94b4c8;font-size:13px}
.scenic-home .guide-icon{color:#5c8ead}
.scenic-home .guide-card h3{color:#355c77;font-size:13px}
.scenic-home .guide-card p{color:#617e91;font-size:12px;line-height:1.9}
.scenic-home .faq-section{border:1px solid #ffffffed;background:#f7fbfff0;border-radius:24px;padding:32px;margin-top:40px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:280px minmax(0,1fr)}
.scenic-home .faq-intro .eyebrow{color:#507f9b;font-size:10px}
.scenic-home .faq-intro>p:not(.eyebrow){color:#648196}
.scenic-home .faq-decoration{color:#daeaf5}
.scenic-home .faq-list details{border-color:#dce8f2}
.scenic-home .faq-list details:last-child{border-bottom:0}
.scenic-home .faq-list summary{color:#385f7a;font-size:12px;line-height:1.7}
.scenic-home .faq-list summary>span{color:#7295ae}
.scenic-home .faq-list details>p{color:#5d7b90;font-size:12px}
.scenic-home .bottom-note{color:#486a82;font-size:11px;background:#f0f8fce8;border:1px solid #ffffffca;border-radius:13px;padding:14px 17px;margin:24px 0 36px;line-height:1.8;align-items:flex-start}
.scenic-home .bottom-note svg{margin-top:3px}
.scenic-home .site-footer{background:#f3f9ffe8;border-color:#ffffffbd;color:#617e93;padding-top:25px;padding-bottom:25px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.scenic-home .footer-brand{color:#365a74}
.scenic-home dialog{background:#faffff;color:#2e526c;border-color:#deebf3;box-shadow:0 25px 100px #17385033}
.scenic-home dialog::backdrop{background:#17334b60}
.scenic-home .dialog-body p:not(.eyebrow){color:#5b788e}
.scenic-home .dialog-body h2{color:#2d526d}
.scenic-home .dialog-close,.scenic-home .secondary-button,.scenic-home .dialog-body .manual-copy{background:#eef6fc;color:#507690;border-color:#dceaf4}
.scenic-home .toast{background:#285c80}
/* Large frosted panels previously re-filtered the moving video every frame.
   Their existing translucent fills provide readability without live blur. */
.scenic-home :is(.device-banner,.section-heading,.dns-card,.apps-card,.guide-card,.faq-section,.site-footer){-webkit-backdrop-filter:none;backdrop-filter:none}
.scenic-home .site-header{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.scenic-home :is(a,button,input,summary):focus-visible{outline:3px solid #397fae;outline-offset:4px}
.reveal-pending{opacity:0;transform:translateY(20px)}
.reveal-enter{animation:card-arrive .7s cubic-bezier(.2,.7,.3,1) both}
.scenic-home.motion-paused .scene-scroll svg{animation-play-state:paused}
.scenic-home.motion-paused :is(.hero-copy,.reveal-enter){animation:none}
@keyframes scene-sunlight{from{opacity:.45}to{opacity:.85}}
@keyframes hero-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes card-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes scroll-nudge{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
@media(min-width:1700px){.scenic-home .site-header{max-width:1300px}.scenic-home .page-shell{max-width:1276px}.scenic-home .hero h1{font-size:112px}}
@media(max-width:1260px){.scenic-home .site-header{margin-left:24px;margin-right:24px}}
@media(max-width:1000px){.scenic-home .header-inner nav{gap:21px}.motion-toggle{padding:8px 10px}.motion-toggle span{display:none}.scenic-home .hero h1{font-size:82px}.scenic-home .download-layout{grid-template-columns:295px minmax(0,1fr);gap:20px}.scenic-home .dns-card{padding:23px}.scenic-home .apps-card{padding:25px 22px 0}.scenic-home .faq-section{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:760px){
  :root:has(.scenic-home){scroll-padding-top:90px}
  .scenic-home .site-header{top:0;height:66px;margin:0;border-radius:0;border-width:0 0 1px;background:#f5faffd6}
  .scenic-home .header-inner{padding:0 18px;gap:12px}
  .scenic-home .brand{font-size:18px;gap:8px;letter-spacing:0}
  .scenic-home .brand-icon{width:31px;height:31px;border-radius:10px}
  .scenic-home .header-inner nav{gap:18px;margin-left:auto;font-size:11px}
  .scenic-home .header-inner nav a{padding:23px 0}
  .scenic-home .header-inner nav a:last-child{display:none}
  .scenic-home .nav-active:after{bottom:14px}
  .motion-toggle{min-width:36px;min-height:36px;padding:8px;border-radius:10px}
  .scenic-home .page-shell{padding:0 20px}
  .scene-poster img,.scene-video{object-position:center center}
  .scene-wash{background:linear-gradient(0deg,#03102099 0%,#03102050 32%,transparent 62%)}
  .scenic-home .hero{display:flex;align-items:flex-end;min-height:calc(100svh - 66px);padding:60px 0 86px}
  .hero-copy{width:auto;max-width:490px}
  .hero-season{font-size:10px;letter-spacing:2px;margin-bottom:17px}
  .scenic-home .hero h1{font-size:72px;letter-spacing:7px;line-height:1.18}
  .scenic-home .hero-description{font-size:13px;line-height:1.95;margin-top:18px;color:#345872;letter-spacing:.3px;max-width:350px}
  .scenic-home .hero-description .desktop-break{display:block}
  .scenic-home .hero-features{font-size:11px;gap:22px;margin-top:18px;row-gap:9px}
  .hero-actions{gap:24px;margin-top:25px}
  .scenic-home .hero-link{display:inline-flex;min-height:49px;border-radius:13px;padding:13px 20px;font-size:13px;gap:22px}
  .hero-resource{font-size:12px;gap:8px}
  .scene-scroll{bottom:26px;font-size:9px;gap:10px}
  .scenic-home .device-banner{font-size:11px;gap:9px;padding:14px;border-radius:14px}
  .scenic-home .device-banner .text-button{font-size:10px;max-width:60px;white-space:normal;text-align:left}
  .scenic-home .download-section{padding-top:28px}
  .scenic-home .section-heading{padding:18px 17px;margin-bottom:17px;border-radius:16px}
  .scenic-home .section-heading .eyebrow{font-size:9px;margin-bottom:8px;letter-spacing:2px}
  .scenic-home h2{font-size:23px}
  .scenic-home .section-caption{font-size:10px}
  .scenic-home .download-layout{grid-template-columns:1fr;gap:21px}
  .scenic-home .dns-column{position:static}
  .scenic-home .dns-card,.scenic-home .apps-card{border-radius:21px}
  .scenic-home .dns-card{padding:23px}
  .scenic-home .dns-symbol{width:43px;height:43px;margin-top:23px;border-radius:13px}
  .scenic-home .dns-symbol svg{width:24px;height:24px}
  .scenic-home .dns-card h3{margin-top:17px;font-size:21px}
  .scenic-home .card-description{font-size:12px}
  .scenic-home .mini-steps{gap:14px}
  .scenic-home .gentle-note{font-size:10px;margin-top:10px;padding:12px 14px}
  .scenic-home .apps-card{padding:25px 21px 0}
  .scenic-home .apps-heading h3{font-size:22px}
  .scenic-home .apps-description{font-size:12px;margin-bottom:18px}
  .scenic-home .search-field{height:46px}
  .scenic-home .search-field input{font-size:11px}
  .scenic-home .app-row{gap:11px;padding:17px 0}
  .scenic-home .app-icon{width:43px;height:43px;border-radius:12px}
  .scenic-home .app-info h4{font-size:12px}
  .scenic-home .app-info p{font-size:10px}
  .scenic-home .install-button{min-width:64px;min-height:43px;font-size:11px;padding:7px 10px}
  .scenic-home .install-button svg{width:12px;height:12px}
  .scenic-home .apps-footnote{margin-left:-21px;margin-right:-21px;padding:16px 21px;font-size:10px}
  .scenic-home .guide-section{margin-top:33px}
  .scenic-home .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .scenic-home .guide-card{padding:22px 17px;border-radius:16px}
  .scenic-home .guide-card h3{font-size:12px}
  .scenic-home .guide-card p{font-size:11px}
  .scenic-home .faq-section{grid-template-columns:1fr;padding:24px 21px;gap:13px;margin-top:28px;border-radius:21px}
  .scenic-home .faq-intro h2{font-size:23px}
  .scenic-home .faq-intro>p:not(.eyebrow),.scenic-home .faq-decoration{display:none}
  .scenic-home .faq-list summary{font-size:12px;padding:17px 0}
  .scenic-home .bottom-note{font-size:10px;padding:13px;margin:17px 0 26px}
  .scenic-home .site-footer{padding:23px 20px}
}
@media(max-width:390px){.scenic-home .header-inner{padding:0 15px;gap:10px}.scenic-home .header-inner nav{gap:13px}.scenic-home .header-inner nav a:nth-child(3){display:none}.scenic-home .page-shell{padding:0 17px}.scenic-home .hero h1{font-size:66px}.scenic-home .section-caption{display:none}.scenic-home .apps-card{padding:23px 17px 0}.scenic-home .apps-footnote{margin-left:-17px;margin-right:-17px;padding-left:17px;padding-right:17px}.scenic-home .install-button svg{display:none}.scenic-home .app-icon{width:41px;height:41px}.scenic-home .app-row{gap:9px}.scenic-home .install-button{min-width:57px}}
@media(max-height:650px) and (min-width:761px){.scenic-home .hero{min-height:600px}}
@media(prefers-reduced-motion:reduce){.scenic-home *{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}.scene-light{opacity:.6}}

/* Night-sky foreground: retain the video colors and keep text readable. */
.scenic-home .hero h1{color:#f3fbff;text-shadow:0 2px 28px #02112266}
.scenic-home .hero-title-dot{color:#8ee1df}
.scenic-home .hero-season,.scenic-home .hero-description,.scenic-home .hero-features,.scenic-home .hero-resource,.scenic-home .scene-scroll{color:#e1f2ff;text-shadow:0 1px 8px #02112280}
.scenic-home .hero-season>span{background:#8ee1df;box-shadow:0 0 0 5px #8ee1df20}
.scenic-home .hero-features svg{color:#a4e7e8}
.scenic-home .hero-resource{border-color:#c5eeff70}
.scenic-home .hero-resource:hover{color:#fff}
.scenic-home .hero-link{background:#e0f6ff;color:#163e56;box-shadow:0 8px 28px #00000022}
.scenic-home .hero-link:hover{background:#fff}

/* Three destinations remain visible at every screen width. */
@media(max-width:760px){
  .scenic-home.landing-page .hero{align-items:center;padding:40px 0 80px}
}
.scenic-home .header-inner nav a:nth-child(n){display:block}
.signing-page .page-shell{padding-top:32px}
.signing-page .download-section{padding-top:26px}
.signing-page #download-title{font-size:28px;font-weight:650;letter-spacing:.1px;color:#294b63;line-height:1.4}
@media(max-width:760px){
  .scenic-home .header-inner{gap:10px;padding:0 16px}
  .scenic-home .header-inner nav{gap:15px}
  .signing-page .page-shell{padding-top:22px}
  .signing-page #download-title{font-size:23px}
}
@media(max-width:390px){
  .scenic-home .header-inner{padding:0 12px;gap:8px}
  .scenic-home .brand{font-size:16px;gap:6px}
  .scenic-home .brand-icon{width:28px;height:28px}
  .scenic-home .header-inner nav{gap:11px;font-size:10px}
  .scenic-home .motion-toggle{min-width:30px;min-height:32px;padding:6px}
}
