@font-face{font-family:Ling;src:url('assets/title.woff') format('woff');font-display:swap}
@font-face{font-family:Wen;src:url('assets/body.woff') format('woff');font-display:swap}
:root{--paper:#f6edf2;--ink:#382b3b;--plum:#7d4663;--muted:#705767;--line:#d9c4d0;--soft:#eadce7;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;scrollbar-color:#ab7d99 var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.8 Wen,'Microsoft YaHei',sans-serif}::selection{background:#d8b7cb;color:#382b3b}button,input,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:2px solid var(--plum);outline-offset:5px}button:active,.button:active{transform:translateY(1px)}button,a{transition:background .2s,color .2s,border-color .2s}h1,h2,h3,p{margin:0}h1,h2{font-family:Ling,Wen,serif;font-weight:400}h2{font-size:38px;line-height:1.5}h3{font-weight:400}p{color:var(--muted)}.button,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;padding:13px 26px;white-space:nowrap;border:1px solid var(--plum);background:var(--plum);color:#fff5fa;font-size:14px;letter-spacing:.08em}.button:hover{background:#62354d}.outline-button{background:transparent;color:var(--plum)}.outline-button:hover{background:var(--soft)}.compact{padding:8px 21px}.text-link{display:inline-flex;gap:23px;align-items:center;border-bottom:1px solid #b48fa5;padding:7px 0;font-size:14px}.text-link:hover{color:var(--plum);border-color:var(--plum)}
.navigation{height:76px;display:flex;align-items:center;padding:0 4.5%;gap:48px;background:var(--paper);position:relative;z-index:10;border-bottom:1px solid #e7d7e1}.brand{display:flex;align-items:center;gap:10px;font-size:24px;letter-spacing:.13em;white-space:nowrap}.brand img{height:35px;width:35px;object-fit:contain;mix-blend-mode:multiply}.nav-links{margin-left:auto;display:flex;gap:32px;font-size:14px}.nav-links a:hover{color:var(--plum)}
.hero{position:relative;height:min(760px,calc(100dvh - 76px));min-height:570px;overflow:hidden;background:#e7ccdc}.hero-art{position:absolute;inset:0}.hero-art>img:first-child{height:100%;width:100%;object-fit:cover;object-position:center 55%}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,237,242,.5),transparent 63%);pointer-events:none}.hero-copy{position:absolute;top:17%;left:8%;z-index:2}.hero h1{font-size:clamp(46px,4.4vw,68px);line-height:1.45;letter-spacing:.035em}.hero h1 span{color:var(--plum)}.hero-copy p{margin-top:23px;font-size:16px;line-height:2;color:#594051}.hero-links{display:flex;gap:30px;align-items:center;margin-top:30px}.hero-pet{position:absolute;width:32%;left:74%;top:66%;transform:translate(-58%,-76.5%);filter:drop-shadow(0 5px 4px #39213544);z-index:1}.vertical-note{position:absolute;right:4.4%;top:14%;writing-mode:vertical-rl;letter-spacing:.4em;color:#684b61;font-size:13px}.hero-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:15px 4.5%;font-size:12px;letter-spacing:.1em;background:#f6edf2e8;color:#684b61}
.experience,.content-section{width:88%;max-width:1380px;margin:0 auto}.experience{padding-top:85px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.section-heading p{margin-top:8px}.pet-picker{display:flex;gap:4px;border-bottom:1px solid var(--line)}.pet-picker button{background:none;border:0;padding:10px 20px;color:var(--muted)}.pet-picker button[aria-pressed=true]{color:var(--plum);box-shadow:0 2px var(--plum)}.scene-tabs{display:flex;gap:42px;margin:10px 0 22px}.scene-tabs button{position:relative;display:flex;align-items:center;gap:18px;border:0;background:none;padding:10px 0;font-size:19px;color:var(--muted)}.scene-tabs button span{font-size:12px;letter-spacing:.02em}.scene-tabs button[aria-selected=true]{color:var(--plum)}.scene-tabs button[aria-selected=true]:after{content:'';position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--plum)}
.stage{position:relative;width:100%;aspect-ratio:1672/941;overflow:hidden;background:#dcc7d7;isolation:isolate}.scene-image{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 66%;transition:filter 1s var(--ease)}.scene-caption{position:absolute;top:9%;left:5%;pointer-events:none}.scene-caption h3{font-family:Ling,serif;font-size:32px;letter-spacing:.15em;color:#583747}.scene-caption p{margin-top:10px;font-size:13px;color:#634251;letter-spacing:.05em}.stage[data-scene=window] .scene-caption h3,.stage[data-scene=window] .scene-caption p{color:#f6dce9}.night-shade{position:absolute;inset:0;background:#392047;opacity:0;mix-blend-mode:multiply;pointer-events:none;transition:opacity 1s}.stage.moonlit .night-shade{opacity:.46}.stage.moonlit .scene-caption h3,.stage.moonlit .scene-caption p{color:#fff1f8}.lamp-glow{pointer-events:none;position:absolute;right:1%;top:53%;width:22%;height:37%;background:radial-gradient(ellipse,rgba(255,191,133,.4),transparent 68%);opacity:0;transition:opacity .7s}.stage.lamp-on .lamp-glow{opacity:1}#weather{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.pet-anchor{position:absolute;left:73%;top:66.2%;width:32%;transition:left 3.7s linear;z-index:3}.stage[data-scene=window] .pet-anchor{left:66%;top:78%}.stage[data-scene=lake] .pet-anchor{left:64%;top:80%}#pet-hit{position:absolute;width:100%;aspect-ratio:1;border:0;padding:0;background:none;transform:translate(var(--pet-x,-58%),var(--pet-y,-76.6%));clip-path:inset(22% 17% 15% 16%)}#pet-image,#pet-frozen{display:block;width:100%;height:100%;filter:drop-shadow(0 5px 4px #301f3944)}#pet-frozen[hidden],#pet-image[hidden]{display:none}.pet-response{position:absolute;bottom:130px;left:-40px;white-space:nowrap;background:#fff3f9ed;color:#62354d;padding:4px 13px;opacity:0;transform:translateY(6px);transition:.3s;pointer-events:none;font-size:13px}.pet-response.visible{opacity:1;transform:translateY(0)}
.scene-object{position:absolute;right:10%;top:26%;display:flex;flex-direction:column;align-items:center;gap:10px;background:none;border:0;color:#57364f;padding:18px;z-index:4}.object-label{font-size:12px;background:#f6edf2e8;padding:2px 8px}.bell{height:43px;width:28px;border:1px solid #694759;border-radius:50% 50% 15% 15%;display:block;position:relative;transform-origin:50% -24px;background:#d3b5c988;box-shadow:inset -6px 0 9px #946c8744}.bell:before{content:'';position:absolute;width:1px;height:26px;background:#694759;top:-26px;left:13px}.bell:after{content:'';position:absolute;width:1px;height:30px;background:#694759;top:43px;left:13px}.bell i{position:absolute;top:63px;left:9px;width:11px;height:27px;background:#be8fa8;transform:rotate(-5deg)}.scene-object.ringing .bell{animation:ring 1.3s ease-in-out 2}.stage[data-scene=window] .scene-object{right:2.5%;top:60%;width:12%;height:19%;justify-content:flex-end}.stage[data-scene=window] .bell,.stage[data-scene=lake] .bell{display:none}.stage[data-scene=lake] .scene-object{right:33%;top:55%}.scene-tools{position:absolute;right:22px;top:22px;display:flex;gap:6px}.scene-tools button{border:1px solid #d0afc3;background:#f7edf2eF;font-size:12px;padding:7px 12px;color:#62354d}.scene-tools button:hover,.scene-tools button[aria-pressed=true]{background:#7d4663;color:#fff3f9;border-color:#7d4663}.scene-instruction{position:absolute;bottom:20px;left:24px;font-size:12px;letter-spacing:.05em;background:#f6edf2e8;padding:4px 12px;color:#62354d}.action-bar{display:flex;align-items:center;gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}.pet-status{display:flex;align-items:center;gap:10px;min-width:210px;font-size:13px}.pet-status strong{font-weight:500;font-size:15px}.status-dot{width:6px;height:6px;background:var(--plum);border-radius:50%}.actions{display:flex;gap:8px;margin:auto}.actions button,.reset{background:none;border:1px solid transparent;padding:7px 18px;font-size:13px;white-space:nowrap}.actions button:hover{background:var(--soft)}.actions button[aria-pressed=true]{background:var(--plum);color:#fff5fa}.reset{color:var(--muted);padding-right:0}.reset:hover{color:var(--plum);text-decoration:underline}.demo-note{font-size:11px;margin-top:13px;color:#785b6d;text-align:right}
.content-section{padding:76px 0;border-bottom:1px solid var(--line)}.flow{padding-top:105px}.steps{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:25px 0 0;margin:0;gap:24px}.steps li{border-top:1px solid var(--line);padding-top:20px}.steps li>span{font-family:Ling,serif;font-size:30px;color:#98708b}.steps h3{margin:8px 0;font-size:17px}.steps p{font-size:13px}.pricing{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}.pricing h2{font-size:30px}.pricing>div>p{margin-top:8px}.price{padding-left:25px;border-left:1px solid var(--line)}.price h3{font-size:17px}.price strong{font-family:Ling,serif;font-size:44px;font-weight:400;color:var(--plum)}.price p{font-size:13px}.small{font-size:12px;color:#785b6d}.download{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px}.download h2{font-size:34px}.download-options{display:flex;gap:12px}.download>.small{grid-column:1/-1}.questions{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.questions h2{font-size:34px}.questions>div>p{margin-top:15px}.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-size:16px}.faq-list summary:after{content:'＋';color:var(--plum)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:14px;max-width:65ch;margin-top:14px}.feedback{display:grid;grid-template-columns:1fr 1fr;gap:60px;border:0}.feedback h2{font-size:30px}.feedback p{margin-top:10px}label{display:block;font-size:13px;margin-bottom:8px}.form-row{display:flex;gap:10px}input{flex:1;min-width:0;border:1px solid #b99aac;background:#fff8fc;padding:12px 14px;color:var(--ink);caret-color:var(--plum)}input::placeholder{color:#806277}input[aria-invalid=true]{border-color:#9b375b}footer{display:flex;align-items:center;gap:25px;padding:30px 6%;background:#eadce7;font-size:12px;color:#705767}footer .brand{font-size:22px}footer>div{margin-left:auto;display:flex;gap:25px}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(17deg)}50%{transform:rotate(-12deg)}75%{transform:rotate(6deg)}}
@media(min-width:1600px){.hero-copy{left:10%}.hero-pet{top:67%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep every pet registered to the image geometry at desktop widths. */
.hero-art>img:first-child{object-fit:fill}.hero-pet{top:66.2%}.hero-pet[hidden]{display:none}.pet-response{bottom:clamp(160px,16vw,245px);left:0;transform:translate(-50%,6px)}.pet-response.visible{transform:translate(-50%,0)}#pet-hit{clip-path:inset(0)}.stage.paused .pet-anchor{transition:none}.stage.paused .bell{animation-play-state:paused}

.stage[data-scene=lake] .scene-caption{left:38%}.stage[data-scene=lake] .scene-object{right:47%;top:55%}
