@charset "UTF-8";
:root{--paper:#ffffff;--ink:#252525;--muted:#8b929b;--red:#a71629;--line:#dfe3e8;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}body[data-scene="intro"],body[data-scene="transition"]{height:100svh;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:7px;border-radius:3px}svg{display:block}::selection{background:#e8d6da;color:#553940}.symbol-library{position:absolute;width:0;height:0;overflow:hidden}#heart-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#heart-canvas{z-index:35}.fallback-heart{width:100%;height:100%;filter:none}.webgl-ready .fallback-heart{opacity:0}
.site-header{position:fixed;top:0;left:0;right:0;height:108px;display:flex;align-items:center;padding:0 4.4%;z-index:40;transition:background .6s,border-color .6s;border-bottom:0}.scrolled .site-header{background:#fff;border-color:transparent}.wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;font-size:27px;line-height:1;letter-spacing:-1.5px;font-weight:590}.brand-dot{color:var(--red);margin-left:1px}.brand-cn{font-size:11px;letter-spacing:3px;color:#92969f;font-weight:400;margin-left:22px;align-self:center;padding-top:4px}.intro-header-note{margin-left:auto;font-size:11px;color:#8f959f;letter-spacing:2px;transition:opacity .45s}.main-nav{margin-left:auto;display:flex;align-items:center;gap:37px;font-size:12px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .9s,transform .9s;position:absolute;right:142px}.main-nav a{transition:color .2s}.main-nav a:hover{color:var(--red)}.status-link{font-size:11px;display:flex;align-items:center;gap:8px;color:#7f8790}.status-dot{width:5px;height:5px;border-radius:50%;background:#b28387;box-shadow:none}.receiver{width:49px;height:49px;position:absolute;right:4%;top:30px;visibility:hidden;opacity:0;transition:opacity .8s;background:transparent;border-radius:50%;padding:6px}.receiver-orbit{display:none}.receiver.responding .receiver-orbit{animation:receiver-ring 1.6s ease-out}.content-visible .intro-header-note{opacity:0;visibility:hidden}.content-visible .main-nav{opacity:1;visibility:visible;transform:translateY(0)}.receiver.received{visibility:visible;opacity:1}.receiver:hover{background:#dfd4d721}
.intro{height:100svh;min-height:550px;position:relative;z-index:20;isolation:isolate;transition:opacity .65s}.intro:before{content:"";position:absolute;width:65vw;height:65vw;max-width:900px;max-height:900px;left:50%;top:43%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,#fff9 0%,#ffffff00 68%);z-index:-1;pointer-events:none}.heart-trigger{width:280px;height:255px;padding:20px;position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);border-radius:45%;z-index:38}.heart-trigger:focus-visible{outline:none}.heart-focus-ring{position:absolute;inset:10px;border-radius:45%;border:1px solid #b7868b00;transition:border-color .3s,transform .3s}.heart-trigger:focus-visible .heart-focus-ring{border-color:var(--red);transform:scale(1.15)}.heart-trigger .fallback-heart{animation:fallback-beat 2.5s infinite}.intro-heart-shadow{position:absolute;left:50%;top:calc(44% + 138px);width:140px;height:16px;transform:translateX(-50%);border-radius:50%;background:#754f5a12;filter:blur(9px);animation:shadow-beat 2.5s infinite}.intro-copy{position:absolute;top:calc(44% + 180px);left:0;width:100%;text-align:center}.intro-copy h1{font:400 34px/1.4 var(--sans);letter-spacing:5px;margin:0 0 24px;color:#42464f}.enter-link{display:inline-flex;align-items:center;gap:13px;color:#9398a1;font-size:10px;letter-spacing:1px;padding:10px 15px}.tiny-heart{font-size:17px;line-height:1;color:#a71629}.enter-arrow{display:inline-block;transition:transform .3s}.enter-link:hover{color:var(--red)}.enter-link:hover .enter-arrow{transform:translate(3px,-3px)}.intro-footer{position:absolute;bottom:40px;left:4.4%;right:4.4%;display:flex;align-items:center;justify-content:space-between;color:#9bA1aa;font-size:10px;letter-spacing:.7px}.platform{display:flex;align-items:center;gap:8px}.platform svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.1}.intro-index{position:absolute;left:4.4%;top:47%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2.2px;color:#b0b5bd}.intro.departing .intro-copy,.intro.departing .intro-footer,.intro.departing .intro-index{opacity:0;transform:translateY(-8px);transition:opacity .45s .26s,transform .65s .26s}.intro.departing .intro-heart-shadow{opacity:0;transition:opacity .6s}.intro.departing .heart-trigger{pointer-events:none}.intro.gone{display:none}
#experience{position:relative;z-index:10;display:none;background:var(--paper);opacity:0}#experience.preparing{display:block;position:absolute;inset:0 0 auto}#experience.visible{display:block;position:relative;opacity:1}.section-wrap{padding-left:max(8%,calc((100vw - 1260px)/2));padding-right:max(8%,calc((100vw - 1260px)/2))}.product-hero{min-height:810px;height:100svh;max-height:1120px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-top:95px;padding-bottom:75px;overflow:hidden}.hero-copy{position:relative;z-index:3;padding-top:18px}.hero-copy h1{font:400 clamp(46px,4.6vw,72px)/1.42 var(--sans);letter-spacing:3px;margin:0 0 29px;color:#333a45}.hero-copy h1:focus{outline:none}.punctuation{color:#a71629}.hero-description{font-size:13px;line-height:2.25;color:#8d949e;letter-spacing:.6px;margin:0 0 34px}.hero-actions{display:flex;gap:28px;align-items:center}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:29px;padding:15px 24px;background:#3b434e;border:1px solid #3b434e;color:#f7f8fa;font-size:11px;letter-spacing:1px;border-radius:3px;transition:background .25s,transform .25s;white-space:nowrap}.primary-button:hover{background:#515b69;transform:translateY(-2px)}.primary-button:disabled{opacity:.6;transform:none}.primary-button svg{width:18px;height:18px;transition:transform .25s}.primary-button:hover svg{transform:translateX(4px)}.text-link{font-size:11px;color:#8d949f;display:flex;gap:18px;align-items:center}.text-link:hover{color:#515d6a}.hero-caption{display:flex;align-items:center;gap:10px;font-size:9px;color:#a3a9b1;margin-top:53px;letter-spacing:1px}.hairline{width:22px;height:1px;background:#c4c9d0}.hero-bottom{position:absolute;bottom:35px;left:8%;right:8%;display:flex;justify-content:space-between;align-items:center;color:#a5abb4;font-size:9px;letter-spacing:.8px}.hero-bottom a{font-size:7px;letter-spacing:2px;display:flex;gap:16px;align-items:center}.hero-bottom a span{font-size:16px}.hero-bottom>span:last-child{font-size:8px;letter-spacing:1.4px}.reveal-item{opacity:0;transform:translateY(24px);transition:opacity 1.1s ease,transform 1.3s cubic-bezier(.2,.7,.2,1)}.content-visible .reveal-item{opacity:1;transform:translateY(0)}.content-visible .hero-copy .reveal-item:nth-child(2){transition-delay:.1s}.content-visible .hero-copy .reveal-item:nth-child(3){transition-delay:.2s}.content-visible .hero-copy .reveal-item:nth-child(4){transition-delay:.3s}.content-visible .hero-copy .reveal-item:nth-child(5){transition-delay:.4s}.content-visible .watch-composition{transition-delay:.16s}
.watch-composition{height:560px;width:100%;position:relative;perspective:1100px;isolation:isolate}.watch-composition:before{content:"";position:absolute;inset:-15%;border-radius:50%;background:radial-gradient(ellipse,#e4e6eb44,#ffffff00 65%);z-index:-1}.watch{--case-w:204px;--case-h:242px;position:absolute;width:var(--case-w);height:var(--case-h);filter:drop-shadow(18px 28px 20px #46526221);transform-style:preserve-3d}.watch-front{left:9%;top:43%;z-index:3;transform:rotate(-12deg);--band:#c0b7b3}.watch-back{right:-2%;top:16%;--case-w:178px;--case-h:214px;transform:rotate(15deg);z-index:2;--band:#cbd0d5;filter:drop-shadow(12px 20px 15px #46526213)}.watch-case{position:absolute;inset:0;border-radius:48px;background:linear-gradient(135deg,#fff 0%,#c8ccd0 7%,#f3f3f2 14%,#b4b7bb 40%,#f5f5f5 63%,#8b9096 100%);box-shadow:inset 0 0 1px 1px #fff,0 0 0 1px #b8bcc3,inset -4px -2px 3px #777e8580,inset 5px 3px 3px #fff8;padding:9px;z-index:3}.watch-front .watch-case{background:linear-gradient(135deg,#f9f5f1,#d0c9c3 12%,#eeeae5 23%,#b0a8a2 49%,#ece6df 70%,#a59f99)}.watch-screen{position:relative;background:radial-gradient(ellipse at 30% 5%,#242126 0,#141519 45%,#080a0e 100%);border:3px solid #0f1217;border-radius:40px;height:100%;overflow:hidden;display:flex;flex-direction:column;align-items:center;color:#f1eef0;padding:16px 12px 12px;box-shadow:inset 0 0 3px 2px #ffffff08}.watch-screen:after{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,#ffffff00 25%,#ffffff06 45%,#ffffff00 52%);pointer-events:none;transform:rotate(-8deg)}.watch-topline{display:flex;justify-content:space-between;width:100%;font-size:9px;color:#ceced4;letter-spacing:.3px}.watch-topline span:first-child{color:#b57f87}.watch-person{font-size:8px;color:#8b8994;margin-top:15px;letter-spacing:1px}.watch-heart{width:75px;height:71px;margin-top:7px;filter:drop-shadow(0 9px 8px #0006)}.watch-message{font-size:15px;font-weight:450;margin:2px 0 10px;letter-spacing:1px}.watch-reply{display:flex;align-items:center;justify-content:center;width:100%;border:1px solid #bd929025;background:#c9a8ac18;border-radius:20px;color:#d5b5bb;font-size:9px;letter-spacing:.5px;gap:12px;padding:6px 4px;position:relative;z-index:2;transition:background .3s}.watch-reply:hover{background:#c9a8ac38}.watch-reply span{font-size:15px;line-height:1}.strap-top{height:130px;bottom:88%;transform:perspective(300px) rotateX(12deg);transform-origin:bottom}.strap-bottom{height:132px;top:88%;border-radius:8px 8px 31px 31px;transform:perspective(300px) rotateX(-16deg);transform-origin:top}.watch-back .strap-top{height:110px}.watch-back .strap-bottom{height:113px}.watch-back .watch-case{border-radius:42px;padding:8px}.watch-back .watch-screen{border-radius:34px;padding:14px 10px 10px}.watch-back .watch-person{margin-top:16px}.watch-back .watch-heart{width:61px;height:58px;margin-top:6px}.watch-back .watch-message{font-size:12px;margin-top:7px;color:#c9c6cc}.watch-bottom-line{width:34px;height:3px;border-radius:3px;background:#eee5e71f;margin-top:auto}.orbital-line{position:absolute;left:13%;top:32%;width:88%;height:38%;border:1px solid #d9dde560;border-radius:50%;transform:rotate(-31deg);z-index:0;box-shadow:0 -1px 0 #fff7}.orbit-two{width:95%;height:46%;left:6%;top:27%;opacity:.6}.composition-note{position:absolute;left:6%;top:15%;writing-mode:vertical-rl;color:#a5abb6;font-size:8px;letter-spacing:3px}.connection-dots{position:absolute;left:49%;top:41%;display:flex;gap:8px;transform:rotate(-35deg);z-index:4}.connection-dots i{width:3px;height:3px;border-radius:50%;background:#cbaab1;opacity:.25}.demo-label{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:8px;letter-spacing:1px;color:#a5aab3}.demo-label>span{width:4px;height:4px;background:#b6969d;border-radius:50%}.demo-playing .connection-dots i{animation:signal-dot 1s ease-in-out both}.demo-playing .connection-dots i:nth-child(2){animation-delay:.1s}.demo-playing .connection-dots i:nth-child(3){animation-delay:.2s}.demo-playing .connection-dots i:nth-child(4){animation-delay:.3s}.demo-playing .connection-dots i:nth-child(5){animation-delay:.4s}.watch.is-beating .watch-heart{animation:demo-beat 1.1s ease-in-out 2}
.gestures-section{padding-top:135px;padding-bottom:130px;display:grid;grid-template-columns:31% 1fr;gap:8%}.section-heading h2,.connection-header h2,.closing-content h2{font:400 42px/1.6 var(--sans);letter-spacing:3px;margin:0 0 25px}.section-heading>p:last-child,.connection-header>p:last-child,.closing-content>p{color:#9299a3;font-size:12px;line-height:2.2;letter-spacing:.3px}.gesture-experience{min-width:0;padding-top:3px}.gesture-art{height:220px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:28px}.gesture-halo{position:absolute;width:230px;height:150px;background:radial-gradient(ellipse,#e5d7dd48,#ffffff00 68%);top:-5px;left:50%;transform:translateX(-50%);z-index:0}.gesture-symbol{position:relative;width:88px;height:84px;margin-bottom:13px;color:var(--red);filter:drop-shadow(0 15px 12px #85606b12);overflow:visible}.gesture-art>p{font:400 18px var(--sans);letter-spacing:3px;margin:0 0 13px}.gesture-art>span{font-size:10px;color:#a0a6af;letter-spacing:.5px}.gesture-art .gesture-demo-note{font-size:8px;letter-spacing:1px;color:#b4bac2;margin-top:24px}.gesture-option{display:flex;align-items:center;width:100%;text-align:left;padding:24px 0;color:#8c94a1;transition:color .3s}.gesture-option:last-child{border-bottom:0}.gesture-number{font-size:8px;letter-spacing:1px;margin-right:23px;align-self:flex-start;padding-top:7px;color:#b6bcc4}.gesture-text{display:flex;flex-direction:column;gap:7px}.gesture-text strong{font-size:14px;font-weight:450;letter-spacing:1px}.gesture-text>span{font-size:10px;color:#a1a7b0;line-height:1.8}.gesture-arrow{width:19px;height:19px;margin-left:auto;color:#afb5be;transition:transform .35s}.gesture-option.active{color:#a71629}.gesture-option.active .gesture-arrow{transform:rotate(-35deg);color:#a71629}.gesture-option.active .gesture-number{color:#a71629}.gesture-option:hover .gesture-arrow{transform:translateX(4px)}.gesture-art.playing[data-action="miss"] .gesture-symbol{animation:demo-beat 1.2s ease-in-out}.gesture-art.playing[data-action="poke"] .gesture-symbol{animation:poke .65s ease-in-out}.gesture-art.playing[data-action="headpat"] .gesture-symbol{animation:headpat 1.2s ease-in-out}.connection-section{padding-top:110px;padding-bottom:120px}.connection-header{text-align:center}.connection-header h2{line-height:1.65;margin-bottom:16px}.connection-header h2>span{color:#a71629}.two-worlds{display:flex;align-items:center;justify-content:center;margin:65px auto 70px;max-width:650px}.person-orb{width:104px;height:104px;flex:none;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 23%,#fff,#f3f4f6 54%,#e5e7ed);border:1px solid #fff9;box-shadow:inset 0 -2px 4px #a6b0c615,12px 15px 30px #6670820a;color:#929ba8;font:24px var(--sans)}.other-person{background:radial-gradient(circle at 32% 23%,#fff,#f2ecee 58%,#e5d9dd);color:#b08992}.world-line{flex:1;display:flex;align-items:center;gap:20px;margin:0 23px}.world-line span{height:1px;background:linear-gradient(90deg,#dbe0e6,#decbd2);flex:1}.world-line span:last-child{transform:rotate(180deg)}.world-line svg{width:27px;height:27px;flex:none}.connection-details{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:900px;margin:auto}.connection-details>div{padding-left:20px;border-left:0}.detail-number{font-size:8px;letter-spacing:1.6px;color:#a5acb6}.connection-details h3{font-size:14px;font-weight:450;letter-spacing:1px;margin:16px 0 13px}.connection-details p{font-size:11px;line-height:2.1;color:#9aa1aa;margin:0}.closing-section{padding-top:110px;padding-bottom:110px;text-align:center;position:relative;overflow:hidden}.closing-section:before{content:"";position:absolute;width:800px;height:800px;border:1px solid #e9e5e9;left:50%;top:42%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.closing-section:after{content:"";position:absolute;width:970px;height:970px;border:1px solid #ece9ec;left:50%;top:42%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}.closing-content{position:relative;z-index:1}.closing-heart{width:45px;height:43px;margin:31px auto 25px;filter:drop-shadow(0 7px 6px #9c77821a)}.closing-content h2{font-size:40px;line-height:1.6;margin-bottom:21px}.closing-content .primary-button{margin-top:24px}.site-footer{display:flex;align-items:center;gap:28px;padding-top:36px;padding-bottom:36px;border-top:1px solid #e1e5eb}.site-footer .wordmark{font-size:21px}.site-footer>span{font-size:9px;color:#a3a9b2;letter-spacing:1px}.site-footer>div{margin-left:auto;display:flex;align-items:center;gap:23px;color:#9aa1ab;font-size:9px}.site-footer button{font-size:9px;color:#8e96a1;padding:4px 0}.site-footer button:hover{color:var(--red)}.site-footer>div>span{color:#b0b6bf;font-size:8px}.scroll-reveal{opacity:1;transform:none}.scroll-reveal.in-view{opacity:1;transform:translateY(0)}
.toast{position:fixed;bottom:33px;left:50%;transform:translate(-50%,20px);padding:13px 23px;border-radius:40px;display:flex;gap:10px;align-items:center;background:#fff;border:0;font-size:11px;color:#7f8793;opacity:0;pointer-events:none;transition:opacity .4s,transform .4s;z-index:70;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.toast-dot{width:5px;height:5px;border-radius:50%;background:#ba8991}dialog{border:0;border-radius:4px;padding:51px 45px 35px;width:min(470px,calc(100% - 36px));background:#ffffff;color:var(--ink);box-shadow:none}dialog::backdrop{background:#25252533}.dialog-close{position:absolute;right:20px;top:14px;color:#9299a4;font-size:24px;font-weight:300}.dialog-close:hover{color:var(--ink)}dialog h2{font:400 29px/1.5 var(--sans);margin:0 0 25px;letter-spacing:2px}#dialog-body p{font-size:12px;line-height:2;color:#8a929f;margin:0 0 17px}#dialog-body strong{color:#646e7c;font-weight:500}.progress-list{margin:24px 0;padding:0;list-style:none}.progress-list li{display:flex;justify-content:space-between;padding:12px 0;font-size:11px;color:#798493;gap:10px}.progress-list li:last-child{border-bottom:0}.progress-list li span{font-size:9px;color:#ad8791}.dialog-done{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px;color:#656f7e;padding:20px 0 0;margin-top:26px}.dialog-done svg{width:18px;height:18px}.noscript-note{position:fixed;inset:auto 15px 15px;padding:15px;background:white;z-index:100;text-align:center;font-size:12px}

@keyframes shadow-beat{0%,36%,66%,100%{transform:translateX(-50%) scale(1);opacity:.65}45%,58%{transform:translateX(-50%) scale(1.12);opacity:.8}}
@keyframes receiver-ring{0%{opacity:.8;transform:scale(.8)}100%{opacity:0;transform:scale(2.5)}}
@keyframes demo-beat{0%,100%{transform:scale(1)}20%{transform:scale(1.13)}38%{transform:scale(1.01)}54%{transform:scale(1.09)}75%{transform:scale(1)}}
@keyframes signal-dot{0%,100%{opacity:.2;transform:scale(1)}40%{opacity:1;transform:scale(1.7)}}
@keyframes poke{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-10px) rotate(-12deg)}65%{transform:translateY(7px) rotate(4deg)}}
@keyframes headpat{0%,100%{transform:translateY(0) rotate(-10deg)}25%,65%{transform:translateY(10px) rotate(4deg)}45%,85%{transform:translateY(-5px) rotate(-7deg)}}
@media(min-width:1600px){.product-hero{gap:80px}.watch-composition{transform:scale(1.1)!important}.main-nav{right:calc(4% + 90px)}}
@media(max-width:1100px){.section-wrap{padding-left:7%;padding-right:7%}.main-nav{right:110px;gap:25px}.watch-composition{height:510px}.watch{--case-w:178px;--case-h:218px}.watch-front{left:2%;top:43%}.watch-back{--case-w:155px;--case-h:192px;right:-2%;top:12%}.watch-case{border-radius:42px;padding:8px}.watch-screen{border-radius:34px;padding:12px 10px 9px}.watch-topline{font-size:8px}.watch-person{margin-top:12px;font-size:7px}.watch-heart{width:68px;height:64px;margin-top:4px}.watch-message{font-size:13px;margin:2px 0 8px}.watch-reply{font-size:8px;padding:5px}.watch-back .watch-case{border-radius:37px;padding:7px}.watch-back .watch-screen{border-radius:30px;padding:12px 8px}.watch-back .watch-heart{width:50px;height:48px;margin-top:5px}.watch-back .watch-person{margin-top:10px}.watch-back .watch-message{font-size:10px}.hero-actions{gap:20px}.primary-button{padding:13px 18px;gap:20px}.hero-copy h1{font-size:52px}.gestures-section{grid-template-columns:34% 1fr;gap:7%}.section-heading h2{font-size:36px}.connection-details{gap:25px}.intro-copy h1{font-size:32px}}
@media(max-width:760px){.site-header{height:82px;padding:0 7%}.wordmark{font-size:25px}.brand-cn{font-size:9px;margin-left:17px;letter-spacing:2px}.intro-header-note{font-size:9px;letter-spacing:.5px}.intro{min-height:520px}.heart-trigger{top:41%;width:250px;height:230px}.intro-heart-shadow{top:calc(41% + 122px);width:120px}.intro-copy{top:calc(41% + 158px)}.intro-copy h1{font-size:29px;letter-spacing:4px;margin-bottom:21px}.intro-footer{left:7%;right:7%;bottom:29px;font-size:8px}.intro-footer>span:first-child{max-width:130px;line-height:2}.platform{gap:5px;font-size:8px}.platform svg{width:15px;height:15px}.intro-index{left:7%;font-size:6px;letter-spacing:1.8px}.main-nav{right:94px;gap:20px}.main-nav>a{display:none}.status-link{font-size:9px;gap:6px}.receiver{right:6%;top:20px;width:43px;height:43px}.product-hero{min-height:985px;max-height:none;height:auto;grid-template-columns:1fr;padding-top:135px;padding-bottom:85px;overflow:hidden}.hero-copy{padding-top:0}.hero-copy h1{font-size:44px;line-height:1.5;letter-spacing:2px;margin-bottom:20px}.hero-description{font-size:11px;line-height:2.1;margin-bottom:25px}.hero-description br:nth-child(2){display:none}.hero-actions{gap:25px}.primary-button{font-size:10px;padding:12px 17px;gap:23px}.text-link{font-size:10px;gap:13px}.hero-caption{display:none}.watch-composition{height:438px;max-width:370px;justify-self:center;margin-top:35px;margin-bottom:30px}.watch-front{top:40%;left:10%;--case-w:167px;--case-h:204px}.watch-back{--case-w:145px;--case-h:178px;right:2%;top:13%}.watch-case{border-radius:39px;padding:7px}.watch-screen{border-radius:32px;padding:12px 10px 9px}.watch-person{margin-top:10px}.watch-heart{width:58px;height:56px;margin-top:5px}.watch-message{font-size:13px;margin-top:2px;margin-bottom:6px}.watch-reply{font-size:8px;padding:5px}.watch-topline{font-size:8px}.watch-back .watch-case{border-radius:35px;padding:7px}.watch-back .watch-screen{border-radius:29px;padding:11px 9px}.watch-back .watch-person{font-size:7px;margin-top:11px}.watch-back .watch-heart{width:43px;height:41px;margin-top:7px}.watch-back .watch-message{font-size:10px;margin-top:5px}.composition-note{font-size:7px;top:13%;left:7%;letter-spacing:2px}.demo-label{font-size:7px;bottom:-10px}.connection-dots{top:41%;left:50%;gap:6px}.hero-bottom{bottom:24px;left:7%;right:7%;font-size:8px}.hero-bottom a{font-size:6px;letter-spacing:1.5px}.hero-bottom>span:last-child{font-size:7px}.gestures-section{grid-template-columns:1fr;gap:25px;padding-top:75px;padding-bottom:75px}.section-heading h2{font-size:34px;line-height:1.5;margin-bottom:20px}.section-heading>p:last-child{font-size:11px}.gesture-art{height:200px;margin-bottom:15px}.gesture-symbol{width:77px;height:74px}.gesture-art>p{font-size:17px}.gesture-art>span{font-size:9px}.gesture-art .gesture-demo-note{font-size:7px;margin-top:20px}.gesture-option{padding:21px 0}.gesture-text strong{font-size:13px}.gesture-text>span{font-size:9px}.gesture-number{margin-right:19px}.connection-section{padding-top:75px;padding-bottom:75px}.connection-header h2{font-size:30px;letter-spacing:2px}.connection-header>p:last-child{font-size:10px}.two-worlds{margin:42px auto}.person-orb{width:75px;height:75px;font-size:20px}.world-line{gap:10px;margin:0 15px}.world-line svg{width:23px;height:23px}.connection-details{grid-template-columns:1fr;gap:26px;padding:0 10px}.connection-details>div{padding-left:18px;display:grid;grid-template-columns:1fr 1fr;align-items:start;column-gap:10px}.connection-details .detail-number{grid-column:1;margin-bottom:11px;font-size:7px}.connection-details h3{grid-column:1;margin:0;font-size:12px}.connection-details p{grid-column:2;grid-row:1/3;font-size:9px;line-height:2.3;padding-top:4px}.closing-section{padding-top:75px;padding-bottom:80px}.closing-content h2{font-size:32px;letter-spacing:2px}.closing-content>p{font-size:10px}.closing-heart{width:39px;height:38px;margin:28px auto 20px}.closing-section:before{width:560px;height:560px}.closing-section:after{width:710px;height:710px}.site-footer{flex-wrap:wrap;gap:17px;padding-top:27px;padding-bottom:25px}.site-footer .wordmark{font-size:20px}.site-footer>span{font-size:8px}.site-footer>div{width:100%;margin-left:0;gap:22px}.site-footer>div>span{margin-left:auto;font-size:7px}.site-footer button{font-size:8px}.toast{bottom:22px;font-size:10px;max-width:90%;padding:12px 18px}dialog{padding:45px 29px 28px}dialog h2{font-size:25px}#dialog-body p{font-size:11px}}
@media(max-height:700px) and (min-width:761px){.intro-copy{top:calc(43% + 125px)}.intro-copy h1{font-size:27px;margin-bottom:14px}.heart-trigger{top:42%;width:230px;height:210px}.intro-heart-shadow{top:calc(42% + 105px)}.intro-footer{bottom:24px}.site-header{height:85px}.receiver{top:20px}.product-hero{min-height:700px}.watch-composition{transform:scale(.9)!important}}
#heart-canvas{z-index:42}.watch-screen{overflow:clip}.hero-description{color:#77808c}.gesture-text>span,.section-heading>p:last-child,.connection-header>p:last-child,.closing-content>p,.connection-details p{color:#808996}.gesture-art>span{color:#8a939f}.status-link{min-height:44px}.site-footer button{min-height:40px}
@media(max-height:820px) and (min-width:761px){.product-hero{min-height:700px}.watch-composition{transform:scale(.87)!important}.hero-copy h1{font-size:54px}.hero-caption{margin-top:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scroll-reveal{opacity:1;transform:none}}

/* White space, neutral typography, and one deep red material. */
html,body,.intro,#experience{background:#fff}
.intro:before,.watch-composition:before,.closing-section:before,.closing-section:after{content:none}
.gesture-halo,.orbital-line{display:none}
.wordmark{font-weight:600;letter-spacing:-1.3px}
.intro-header-note{color:#595959;font-size:12px;letter-spacing:1.5px}
.intro-copy h1{font-family:var(--sans);font-weight:500;font-size:30px;line-height:1.45;letter-spacing:1px;color:#252525;margin-bottom:20px}
.intro-copy{top:calc(44% + 195px)}
.enter-link{font-size:11px;color:#757575;letter-spacing:.5px;gap:11px}
.tiny-heart{color:#a71629}
.intro-footer{color:#858585;font-size:10px}
.hero-copy h1{font-weight:550;letter-spacing:-1px;line-height:1.4;color:#252525}
.section-heading h2,.connection-header h2,.closing-content h2{font-weight:500;letter-spacing:-.5px;line-height:1.5;color:#252525}
.gesture-art>p,dialog h2{font-weight:500;letter-spacing:.5px}
.hero-description,.section-heading>p:last-child,.connection-header>p:last-child,.closing-content>p,.connection-details p,.gesture-text>span{color:#737373}
.primary-button{background:#262626;border-color:#262626;color:#fff}
.primary-button:hover{background:#444;border-color:#444}
.status-dot,.toast-dot{background:#a71629}
.receiver-orbit{display:none}
.receiver:hover{background:#a7162908}
.watch-topline span:first-child{color:#ce5964}
.intro-heart-shadow{background:#00000013;filter:blur(10px)}
.intro.departing .intro-heart-shadow{animation:contact-shadow 1.3s ease-out both;transition:none}
.intro.departing .fallback-heart{animation:fallback-release 2.45s ease-out both}
.person-orb,.other-person{background:#f5f5f5;border:0;box-shadow:none}
.other-person{color:#a71629}
#experience.preparing{will-change:opacity}
.reveal-item{opacity:1;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
/* taste-skill-ignore: the requested water surface needs a shaded SVG fallback; this is not a page background. */
#water-fallback{position:fixed;z-index:41;pointer-events:none;width:80px;height:20px;border-radius:50%;transform:translate(-50%,-50%);opacity:0;background:radial-gradient(ellipse,#fff 25%,#dddddd70 52%,#fff 63%,transparent 75%)} /* taste-skill-ignore: water relief fallback */
#water-fallback.active{animation:water-fallback 2.75s .4s ease-out both}
.webgl-ready #water-fallback{display:none}
@keyframes contact-shadow{0%{opacity:.6;transform:translateX(-50%) scale(1)}32%{opacity:.85;transform:translateX(-50%) scale(.85)}100%{opacity:0;transform:translateX(-50%) scale(1.2)}}
@keyframes fallback-sink{0%{transform:translateY(0);opacity:1}19%{transform:translateY(36px);opacity:1}100%{transform:translateY(125%);opacity:1}}
@keyframes water-fallback{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}20%{opacity:.7}100%{opacity:0;transform:translate(-50%,-50%) scale(12,8)}}
@media(max-width:760px){
  .intro-copy{top:calc(41% + 171px)}
  .intro-copy h1{font-size:26px;letter-spacing:.5px}
  .intro-header-note{font-size:11px;letter-spacing:1px}
  .intro-footer{font-size:9px}
  .intro-footer>span:first-child{max-width:none}
  .hero-copy h1{font-size:43px;letter-spacing:-1px}
}
@media(max-height:700px) and (min-width:761px){.intro-copy{top:calc(42% + 145px)}.intro-copy h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){#water-fallback{display:none}.intro.departing .fallback-heart{opacity:0}}

/* Fallback animations must never reappear underneath the live 3D surface. */
.webgl-ready .fallback-heart{display:none}
@keyframes fallback-beat{0%,36%,66%,100%{transform:scale(1)}43%{transform:scale(1.055)}52%{transform:scale(1.015)}58%{transform:scale(1.035)}}

/* The waterline is fixed; the fallback keeps its size as it passes below it. */
.fallback-waterline{display:block;width:100%;height:100%;clip-path:inset(-20% -20% -32px)}
.webgl-ready .fallback-waterline{display:none}
.intro-description{font-size:14px;letter-spacing:.3px;color:#666;margin:0 0 13px}
.intro-copy h1{margin-bottom:12px}
.enter-link{font-size:12px;color:#656565}
.enter-link svg{width:16px;height:16px}
.intro.departing .intro-copy{transition:opacity .45s .26s,transform .65s .26s}
.hero-description,.section-heading>p,.connection-header>p,.closing-content>p,.connection-details p{font-size:16px;line-height:1.9;color:#555}
.hero-description{max-width:30em;letter-spacing:0}
.hero-description br{display:none}
.gesture-option{padding:22px 16px;margin:4px 0;border-radius:0;color:#252525}
.gesture-option.active{background:#f6f6f6;color:var(--red)}
.gesture-text strong{font-size:17px;letter-spacing:0}
.gesture-text>span{font-size:14px;line-height:1.7;color:#666}
.gesture-art>span{font-size:13px;color:#666}
.gesture-art .gesture-demo-note{font-size:12px;color:#777}
.connection-details h3{font-size:17px;letter-spacing:0;margin-top:0}
.connection-details>div{padding-left:0}
.world-line span{background:#ececec}
.hero-bottom{font-size:11px;letter-spacing:0}
.hero-bottom a{font-size:11px;letter-spacing:0}
#dialog-body p{font-size:14px;color:#555;line-height:1.9}
.progress-list li{font-size:13px}.progress-list li span{font-size:12px}
@media(max-width:760px){
  .intro-description{font-size:13px}
  .intro-copy h1{font-size:26px}
  .hero-description,.section-heading>p,.connection-header>p,.closing-content>p,.connection-details p{font-size:14px}
  .section-heading h2{font-size:30px;letter-spacing:-.5px}
  .connection-header h2{font-size:30px;letter-spacing:-.5px}
  .connection-details{gap:30px;padding:0}
  .connection-details>div{display:block}
  .connection-details h3{margin:0 0 7px}
  .hero-bottom>span{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.intro.departing .fallback-heart{opacity:0!important}}
@media(min-width:761px) and (max-width:950px){
  .watch-composition{transform:scale(.82)!important;transform-origin:60% 50%}
}

/* Photographic hardware, with a live HTML interface above the black glass. */
.watch-hardware{position:absolute;left:-17%;top:-46.5%;width:135%;height:204%;max-width:none;pointer-events:none;object-fit:fill;z-index:0}
.watch .watch-case,.watch-front .watch-case,.watch.is-beating .watch-case{background:none;box-shadow:none;padding:0}
.watch .watch-screen{position:absolute;inset:5% 5% 3%;height:auto;background:none;border:0;box-shadow:none;border-radius:16%;padding:13px 10px 10px}
.watch .watch-screen:after{content:none}
.watch-composition[data-ui] .watch{filter:drop-shadow(5px 10px 12px #00000013)}
.watch .watch-heart{filter:none}
.watch .watch-topline{color:#ddd}
.watch .watch-person{color:#aaa}
.watch .watch-reply{background:#ffffff13;border:0;color:#e0b8c0}
@keyframes fallback-release{0%{transform:translateY(0);opacity:1}16%{transform:translateY(36px);opacity:1}28%{transform:translateY(29px) scale(1.025);opacity:1}42%{transform:translateY(36px);opacity:.9;filter:blur(0)}100%{transform:translateY(31px);opacity:0;filter:blur(3px)}}
.receiver.assembling .fallback-heart{animation:receiver-assemble 1.85s ease-out both}
@keyframes receiver-assemble{0%,50%{opacity:0;transform:scale(.94)}100%{opacity:1;transform:scale(1)}}

.intro-heart-shadow{top:calc(44% + 154px)}
@media(max-width:760px){.intro-heart-shadow{top:calc(41% + 141px)}}
@media(max-height:700px) and (min-width:761px){.intro-heart-shadow{top:calc(42% + 133px)}}
.intro.departing{background:transparent;pointer-events:none}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .intro:not(.departing) .heart-trigger:hover .fallback-heart{animation:fallback-hover 3.2s ease-in-out infinite}
  .intro:not(.departing):has(.heart-trigger:hover) .intro-heart-shadow{animation:shadow-hover 3.2s ease-in-out infinite}
}
@keyframes fallback-hover{0%,100%{transform:scale(1)}50%{transform:scale(1.032)}}
@keyframes shadow-hover{0%,100%{transform:translateX(-50%) scale(1);opacity:.48}50%{transform:translateX(-50%) scale(1.035);opacity:.54}}
