@font-face{font-family:Switzer;src:url('/assets/switzer-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Switzer;src:url('/assets/switzer-medium.woff2') format('woff2');font-style:normal;font-weight:500 700;font-display:swap}
:root{--paper:#f9f7f7;--ink:#241f24;--muted:#6c5961;--rose:#873c56;--stage:#eedce3;--soft:#f0e9e8;--dark:#252329;--light:#f9f7f7;--gutter:clamp(20px,4.5vw,72px);--small:14px;--body:18px;--lead:clamp(20px,1.7vw,24px);--heading:clamp(32px,3.6vw,52px);--display:clamp(46px,6.3vw,94px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--body)/1.55 Switzer,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;user-select:none;-webkit-user-select:none}a{color:inherit;text-underline-offset:5px}button:disabled{cursor:wait}img{display:block;max-width:100%;height:auto}button{color:inherit}h1,h2,p,figure{margin:0}h1,h2{font-weight:400;text-wrap:balance;letter-spacing:-.045em;line-height:1.08}h1{font-size:var(--display)}h2{font-size:var(--heading)}p{text-wrap:pretty}strong{font-weight:500}a:focus-visible,button:focus-visible{outline:3px solid var(--rose);outline-offset:5px}::selection{background:var(--stage);color:var(--ink)}.skip{position:fixed;left:20px;top:-70px;z-index:99;background:var(--paper);padding:12px}.skip:focus{top:10px}
.header{display:flex;align-items:center;gap:40px;justify-content:space-between;padding:27px var(--gutter);max-width:1700px;margin:auto;background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-size:22px;letter-spacing:-.04em;white-space:nowrap}.header nav{display:flex;gap:36px;margin-left:auto}.header nav a{text-decoration:none;font-size:16px}.language{border:0;background:none;font-size:16px;padding:10px 0 10px 10px;min-height:44px}
.journey{display:grid;grid-template-columns:1fr 1fr;column-gap:5vw;max-width:1700px;margin:auto;padding:0 var(--gutter)}.intro,.practice,.routine{grid-column:1;min-width:0}.intro{grid-row:1;padding:90px 0 105px;min-height:calc(100svh - 100px);display:flex;flex-direction:column;justify-content:center}.lead{font-size:var(--lead);max-width:33ch;margin-top:32px;line-height:1.5}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:34px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:14px 26px;border:0;border-radius:99px;text-decoration:none;font-size:16px;font-weight:500;transition:transform 150ms var(--ease),opacity 150ms}.primary{background:var(--rose);color:var(--light)}.text-action{font-size:16px;text-decoration-thickness:1px;min-height:44px;display:inline-flex;align-items:center}.availability{font-size:var(--small);color:var(--muted);margin-top:16px;max-width:45ch}.explore{display:inline-flex;margin-top:64px;font-size:16px;text-decoration:none;align-self:flex-start;min-height:44px;align-items:center}
.product-stage{grid-column:2;grid-row:1 / 4;position:sticky;top:28px;align-self:start;height:calc(100svh - 56px);min-height:630px;max-height:1050px;background:var(--stage);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;padding:32px 28px 0}.screen-window{height:calc(100% - 90px);max-height:740px;aspect-ratio:720/1565;overflow:hidden;border-radius:28px;position:relative}.screen-window img{width:100%;height:100%;object-fit:cover;object-position:top}.stage-caption{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:auto;padding:26px 0;font-size:var(--small);color:var(--ink)}
.practice{padding:95px 0 110px}.practice>p,.routine>p{margin-top:28px;max-width:44ch}.practice-options{display:flex;flex-direction:column;gap:8px;margin-top:40px}.practice-option{background:none;border:0;padding:24px;text-align:left;transition:transform 170ms var(--ease);border-radius:0;min-height:75px}.practice-option>span:first-child{display:block;font-size:var(--lead);letter-spacing:-.02em}.option-text{font-size:var(--body);display:none;margin-top:14px;line-height:1.55}.practice-option.selected{background:var(--soft)}.practice-option.selected .option-text{display:block}.mobile-preview{display:none}.routine{padding:35px 0 120px}.routine p{margin-top:32px}.routine .text-action{margin-top:28px}
.gallery{background:var(--dark);color:var(--light);padding:90px var(--gutter) 80px}.gallery-heading{max-width:1450px;margin:auto;display:flex;justify-content:space-between;align-items:start;gap:60px}.gallery-heading h2{max-width:15ch}.gallery-heading p{max-width:35ch}.gallery-track{max-width:1230px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5vw;margin:70px auto 0}.gallery-image{height:540px;overflow:hidden;border-radius:24px}.gallery-image img{width:100%;height:100%;object-fit:cover;object-position:top}.gallery-track figcaption{font-size:16px;margin-top:22px}
.download{display:grid;grid-template-columns:1fr 1fr;gap:6vw;max-width:1700px;margin:auto;padding:130px var(--gutter)}.download-heading h2{margin-top:28px}.download-heading>p{margin-top:30px;max-width:33ch}.download-options{align-self:center}.download-choice{display:flex;flex-direction:column;background:var(--soft);text-decoration:none;padding:25px 28px;margin-bottom:12px;transition:transform 170ms var(--ease)}.download-choice:first-child{background:var(--rose);color:var(--light)}.download-choice>span:first-child{font-size:var(--lead)}.download-label{font-size:16px;margin-top:7px}.release-info{font-size:var(--small);margin-top:20px;color:var(--muted)}.download-support{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px}.download-support button{border:0;background:none;padding:8px 0;text-align:left;text-decoration:underline;text-underline-offset:5px;font-size:var(--small);min-height:44px}.download-note{font-size:var(--small);color:var(--muted);margin-top:18px;max-width:52ch}.android-link[aria-disabled=true]{opacity:.65}.android-link[aria-disabled=true]:active{transform:none}
.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:6vw;background:var(--soft);padding:85px var(--gutter)}.faq h2{max-width:14ch}.faq-answers{columns:2;column-gap:38px}.faq-answers p{font-size:16px;break-inside:avoid;margin:0 0 26px;max-width:42ch}.faq-answers strong{display:block;margin-bottom:8px}.footer{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:55px var(--gutter) 65px;font-size:var(--small)}.footer>div{display:flex;gap:24px}.footer>div a{text-decoration:none}.footer>span{color:var(--muted)}.mobile-download{display:none}.notice{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--dark);color:var(--light);padding:12px 20px;font-size:16px;max-width:calc(100vw - 40px);z-index:100;opacity:0;pointer-events:none}.notice.visible{opacity:1}dialog{background:var(--paper);color:var(--ink);border:0;padding:48px 36px;max-width:550px;width:calc(100vw - 32px);max-height:85svh;overflow:auto}dialog::backdrop{background:rgb(36 31 36 / .5)}dialog h2{font-size:32px}dialog ol{padding-left:24px;margin:28px 0}dialog li{margin-bottom:18px}dialog p{font-size:16px;margin-bottom:24px}.dialog-close{position:absolute;right:12px;top:8px;background:none;border:0;min-width:44px;min-height:44px;font-size:30px}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px)}.practice-option:hover{background:var(--soft)}.download-choice:hover{transform:translateX(5px)}.text-action:hover,.header nav a:hover{color:var(--rose)}}.button:active,.practice-option:active,.download-choice:active{transform:scale(.98)}
@media(prefers-reduced-motion:no-preference){.intro h1{animation:arrive 800ms var(--ease) both}.intro .lead{animation:arrive 800ms 90ms var(--ease) both}.intro .actions{animation:arrive 800ms 180ms var(--ease) both}.product-stage .screen-window{animation:arrive 1000ms 100ms var(--ease) both}.stage-caption{animation:arrive 800ms 240ms var(--ease) both}.is-revealing{animation:arrive 650ms var(--ease) both}.image-changing{animation:image-in 380ms var(--ease)}.brand img{animation:brand-in 900ms var(--ease)}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes image-in{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes brand-in{from{transform:scale(.86)}to{transform:scale(1)}}}
@media(min-width:1700px){:root{--display:100px}.product-stage{top:40px}.intro{min-height:850px}}
@media(max-width:1000px){:root{--display:clamp(43px,6.5vw,64px);--body:17px;--gutter:28px}.journey{gap:32px}.intro{padding-top:65px;min-height:700px}.actions{gap:16px}.product-stage{min-height:610px;max-height:780px;padding:28px 18px 0}.stage-caption{flex-direction:column;gap:3px;align-items:start;padding:20px 0}.screen-window{height:calc(100% - 105px);border-radius:24px}.gallery-image{height:450px}.gallery-track{gap:24px}.faq{grid-template-columns:1fr 1.5fr}.faq-answers{columns:1}.footer{flex-wrap:wrap}.header{gap:25px}.header nav{gap:20px}}

/* The desktop keeps its reading column; phones get a separate product composition. */
.header nav a,.language,.button,.text-action,.explore,.gallery-track figcaption,.download-label,.faq-answers p{font-size:var(--body)}
.brand{font-size:var(--lead)}
.option-short,.mobile-practice-preview,.gallery-hint{display:none}
.footer-records{display:flex;flex-direction:column;align-items:flex-end;gap:8px;font-size:var(--small)}
.footer-records a{text-decoration:none}
.gallery-track:focus-visible{outline:3px solid var(--rose);outline-offset:6px}
@media(max-width:650px){
 :root{--gutter:20px;--small:14px;--body:17px;--lead:20px;--heading:32px;--display:clamp(40px,11.2vw,56px)}
 html{scroll-padding-top:24px}
 .header{padding:calc(12px + env(safe-area-inset-top,0px)) max(var(--gutter),env(safe-area-inset-right,0px)) 10px max(var(--gutter),env(safe-area-inset-left,0px));gap:18px}
 .brand{font-size:var(--lead);gap:8px;letter-spacing:-.025em}
 .brand img{width:26px;height:26px}
 .header nav{margin-left:auto;gap:0}
 .header nav a:first-child{display:none}
 .header nav a,.language{font-size:var(--small);min-height:44px;display:inline-flex;align-items:center}
 .language{padding:10px 0;min-width:32px;justify-content:center}
 .journey{display:flex;flex-direction:column;gap:0;padding:0 var(--gutter)}
 .intro{order:0;min-height:0;padding:30px 0 28px;display:block}
 h1{line-height:1.12;letter-spacing:-.055em}
 :lang(zh-CN) h1{letter-spacing:-.04em;line-height:1.15}
 .lead{font-size:var(--body);line-height:1.65;max-width:34ch;margin-top:20px}
 .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;align-items:stretch}
 .actions a{min-width:0;min-height:52px;justify-content:center;padding:14px 10px;border-radius:12px;text-decoration:none;font-size:16px;font-weight:500;line-height:1.4;text-align:center;user-select:none;-webkit-user-select:none;transition:transform 150ms var(--ease)}
 .actions .android-link{background:var(--soft);color:var(--ink)}
 .actions a:active{transform:scale(.98)}
 .availability{font-size:var(--small);margin-top:12px;line-height:1.5}
 .explore{display:none}
 .product-stage{order:1;position:relative;top:auto;align-self:stretch;min-height:0;max-height:none;height:auto;margin:0;background:var(--stage);padding:24px 18px 0;border-radius:20px;justify-content:flex-start}
 .screen-window{width:min(66%,250px);height:350px;max-height:none;aspect-ratio:auto;flex-shrink:0;border-radius:22px 22px 0 0}
 .screen-window img{height:auto;min-height:100%;object-fit:cover;object-position:top}
 .stage-caption{flex-direction:row;align-items:center;font-size:var(--small);padding:14px 0;gap:10px;line-height:1.4;min-height:46px}
 .stage-caption span:last-child{text-align:right}
 .practice{order:2;padding:72px 0 56px}
 .practice>p{margin-top:20px;font-size:var(--body);line-height:1.65}
 .practice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:26px;background:var(--soft);padding:4px}
 .practice-option{padding:12px 8px;min-height:48px;text-align:center;display:flex;align-items:center;justify-content:center}
 .practice-options .practice-option .option-title,.practice-option.selected .option-text,.practice-option .option-text{display:none}
 .practice-option .option-short{display:block;font-size:16px;line-height:1.4;margin:0}
 .practice-option.selected{background:var(--rose);color:var(--light)}
 @media(hover:hover) and (pointer:fine){.practice-option.selected:hover{background:var(--rose)}}
 .mobile-practice-preview{display:block;margin-top:0;background:var(--soft);padding:24px 18px 0;overflow:hidden}
 .practice-summary{font-size:var(--body);line-height:1.65;min-height:5em}
 .mobile-preview{display:block;width:min(82%,260px);height:400px;max-height:none;aspect-ratio:auto;overflow:hidden;margin:24px auto 0;border-radius:22px 22px 0 0}
 .mobile-preview img{width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top}
 .routine{order:3;padding:0 0 64px}
 .routine h2{max-width:none}
 .routine p{margin-top:24px;line-height:1.7}
 .routine strong{display:block;margin-bottom:6px}
 .routine .text-action{margin-top:20px;font-size:16px}
 .gallery{padding:60px 0 48px}
 .gallery-heading{display:block;padding:0 var(--gutter)}
 .gallery-heading h2{max-width:16ch}
 .gallery-heading p{margin-top:20px;font-size:var(--body);line-height:1.65;max-width:34ch}
 .gallery-hint{display:block;padding:0 var(--gutter);margin-top:22px;font-size:var(--small)}
 .gallery-track{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:thin;padding:0 var(--gutter) 16px;margin-top:26px;max-width:none}
 .gallery-track figure{flex:0 0 min(76vw,300px);min-width:0;scroll-snap-align:start}
 .gallery-image{height:auto;aspect-ratio:720/1340;border-radius:22px}
 .gallery-image img{width:100%;height:100%;object-fit:cover;object-position:top}
 .gallery-track figcaption{font-size:16px;margin-top:16px;line-height:1.5}
 .download{display:block;padding:64px var(--gutter)}
 .download-heading>img{width:40px;height:40px}
 .download-heading h2{font-size:var(--heading);margin-top:22px}
 .download-heading>p{margin-top:20px;line-height:1.65}
 .download-options{margin-top:28px}
 .download-choice{padding:20px 22px;border-radius:12px;margin-bottom:10px}
 .download-choice>span:first-child{font-size:var(--lead)}
 .download-label{font-size:16px;margin-top:6px}
 .release-info,.download-note{font-size:var(--small);line-height:1.65}
 .download-support{gap:4px 22px;margin-top:14px}
 .download-support button{font-size:var(--small)}
 .faq{display:block;padding:56px var(--gutter) 28px}
 .faq h2{max-width:none}
 .faq-answers{margin-top:28px}
 .faq-answers p{font-size:16px;line-height:1.7;margin-bottom:24px;max-width:none}
 .footer{display:block;padding:36px var(--gutter) calc(36px + env(safe-area-inset-bottom,0px))}
 .footer>div{margin-top:18px;gap:24px;flex-wrap:wrap}
 .footer>div a{display:inline-flex;align-items:center;min-height:44px}
 .footer>span{display:flex;margin-top:20px;align-items:flex-start;line-height:1.6}
 .footer-records{font-size:var(--small);gap:8px}
 .button{font-size:16px;border-radius:12px;min-height:52px}
 .notice{bottom:calc(24px + env(safe-area-inset-bottom,0px));white-space:normal;width:max-content;max-width:calc(100vw - 40px)}
 dialog{padding:48px 24px 28px;max-height:85svh;border-radius:18px}
 dialog h2{font-size:var(--heading)}
 dialog .button{width:100%}
}
@media(max-width:359px){
 .header{gap:12px}.brand{font-size:18px}.brand img{width:24px;height:24px}
 .screen-window{width:72%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
