/* V4: interaction with restraint; the page stays readable without JavaScript. */
.language-picker{font:inherit;font-size:11px;border:0;background:transparent;padding:8px 2px;max-width:72px;color:inherit;cursor:pointer}.language-control{display:flex;align-items:center;flex-shrink:0}.nav-actions{gap:16px}.compact-header .header-inner{gap:26px}.compact-header .nav-links{gap:17px}.compact-header .masthead{font-size:25px}.main-nav a:not(.bag-link){position:relative}.main-nav a:not(.bag-link):after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .24s}.main-nav a:hover:after,.main-nav a:focus-visible:after{transform:scaleX(1)}
.motion-toggle{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:inherit;cursor:pointer;font:inherit;padding:0}.scroll-progress{position:fixed;left:0;top:0;height:3px;background:var(--ui-accent-ink);transform-origin:left;transform:scaleX(0);width:100%;z-index:90;pointer-events:none}.button,.bag-link{transition:transform .2s,background .2s}.button:active,.bag-link:active{transform:scale(.96)}.text-button{transition:letter-spacing .2s}.text-button:hover{letter-spacing:.02em}.object-arrow{transition:translate .3s}.object-card:hover .object-arrow{translate:3px -3px}.object-image,.product-image-button{transition:rotate .25s,box-shadow .25s;rotate:var(--tilt,0deg)}.object-image:hover,.product-image-button:hover{box-shadow:0 15px 25px -22px var(--ui-shadow)}.hero-abu,.hero-pip,.hero-liuliu{translate:var(--scene-x,0px) var(--scene-y,0px);transition:translate .35s ease-out}.reveal-wait{opacity:0;translate:0 18px}.reveal-enter{transition:opacity .6s ease,translate .65s cubic-bezier(.2,.8,.2,1);opacity:1;translate:0 0}.accordion details[open] summary,.faq details[open] summary{color:var(--ui-accent-ink)}.cast-card img{transition:rotate .35s,translate .35s}.cast-card:hover img{rotate:4deg;translate:0 -5px}.motion-off .object-image,.motion-off .product-image-button{rotate:0deg}.motion-off .hero img{translate:0 0}.motion-off .cast-card:hover img{rotate:0deg;translate:0 0}.motion-off .reveal-wait{opacity:1;translate:0 0}.motion-off *, .motion-off *:before,.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.everyday-lab{background:var(--ui-surface);display:grid;grid-template-columns:.85fr 1.15fr;gap:0 65px;align-items:center;position:relative;overflow:hidden}.remix-copy{max-width:440px}.remix-copy h2{font-size:clamp(42px,4.6vw,70px);margin-bottom:25px;line-height:1.05}.remix-copy>p:not(.eyebrow){font-size:15px;line-height:1.7;color:var(--ui-muted)}.remix-copy>.text-button{display:table;margin-top:20px}.remix-object-options{display:flex;gap:10px;margin:26px 0 22px;flex-wrap:wrap}.remix-object-options button{background:transparent;padding:9px 18px;border:1px solid var(--ui-line);border-radius:30px;font-size:12px;cursor:pointer;transition:background .2s,transform .2s}.remix-object-options button:hover{transform:translateY(-2px)}.remix-object-options button[aria-pressed=true]{background:var(--ui-accent);border-color:var(--ui-accent)}.remix-status{min-height:48px;margin:19px 0 0;font-size:13px!important}/* Photography stays independent of the three interface colours. */
.remix-visual{min-width:0;position:relative;border:1px solid var(--ui-line);background:var(--ui-paper);border-radius:0}
.remix-stamp{position:absolute;right:20px;top:20px;z-index:1;padding:8px 11px;background:var(--ui-paper);color:var(--ui-ink);font:10px/1.2 var(--body);letter-spacing:.1em}
.remix-scene{display:none;margin:0}
.everyday-lab[data-object=cup] .scene-cup,.everyday-lab[data-object=light] .scene-light,.everyday-lab[data-object=storage] .scene-storage{display:block}
.remix-photo-frame{aspect-ratio:4/3;overflow:hidden;background:var(--ui-surface)}
.scene-cup .remix-photo-frame{aspect-ratio:3/2}
.remix-art{display:block;width:100%;height:100%;max-height:none;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.scene-light .remix-art{object-position:50% 78%}
.everyday-lab[data-remixed=false] .remix-art{transform:scale(1.6)}
.everyday-lab[data-remixed=false] .scene-light .remix-art{transform:scale(1.4)}
.remix-stage-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 20px;border-top:1px solid var(--ui-line);font-size:9px;letter-spacing:.05em;line-height:1.6}
.remix-stage-caption a{color:var(--ui-muted);letter-spacing:0;text-align:right}
.remix-stage-caption a:hover{text-decoration:underline;text-underline-offset:3px}
.remix-disclaimer{grid-column:1/-1;font-size:10px;line-height:1.6;color:var(--ui-muted);margin:24px 0 0;max-width:650px}
.everyday-principles{padding-block:55px}.everyday-principles .format-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.everyday-principles h2{font-size:30px}.everyday-principles article{background:var(--ui-surface)}.everyday-principles article:nth-child(2){background:var(--ui-accent)}.brand-positioning{padding:25px var(--gap);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:12px}.brand-positioning strong{font-size:15px}.brand-positioning a{text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.character-hello{margin-top:18px;background:transparent;border:1px solid var(--ui-line);padding:9px 18px;border-radius:25px;font-size:12px;cursor:pointer}.character-reply{font-size:13px;color:var(--ui-accent-ink);min-height:24px;margin:12px 0 0}
html:lang(zh),html:lang(ja){--body:"PingFang SC","Hiragino Sans","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--display:"PingFang SC","Hiragino Sans","Microsoft YaHei",sans-serif}html:lang(zh) h1,html:lang(ja) h1,html:lang(zh) h2,html:lang(ja) h2{font-weight:800;letter-spacing:-.04em;line-height:1.22}html:lang(zh) .hero h1,html:lang(ja) .hero h1{font-size:clamp(60px,6.6vw,96px);transform:none;line-height:1.25;letter-spacing:-.055em}html:lang(zh) .hero-copy,html:lang(ja) .hero-copy{padding-top:42px}html:lang(zh) .hero-copy p,html:lang(ja) .hero-copy p{margin-top:20px}html:lang(zh) .page-lead h1,html:lang(ja) .page-lead h1{font-size:clamp(38px,4.5vw,62px)}html:lang(zh) .section-heading h2,html:lang(ja) .section-heading h2{font-size:clamp(35px,3.5vw,54px)}html:lang(zh) .cast-name,html:lang(ja) .cast-name{font-family:var(--brand)}html:lang(zh) .gift-edit h2,html:lang(ja) .gift-edit h2{font-size:clamp(52px,5.5vw,86px)}html:lang(zh) .remix-copy h2,html:lang(ja) .remix-copy h2{font-size:clamp(35px,3.6vw,54px)}html:lang(zh) .custom h2,html:lang(ja) .custom h2{font-size:clamp(45px,5.3vw,80px)}html:lang(zh) .project-callout h2,html:lang(ja) .project-callout h2{font-size:clamp(45px,6vw,85px)}html:lang(zh) .step-number,html:lang(ja) .step-number{font-family:var(--brand)}
@media(max-width:1180px){.compact-header .main-nav{position:relative}.compact-header .menu-toggle{display:block;order:-1}.compact-header .nav-links{display:none;position:absolute;top:100%;left:-220px;right:0;padding:25px;background:var(--ui-paper);z-index:20;border:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:20px}.compact-header .main-nav.open .nav-links{display:flex}.compact-header .nav-actions{margin-left:auto}.compact-header .trade-link{display:none}.compact-header .mobile-trade{display:block}}
@media(max-width:900px){.everyday-lab{gap:35px}.remix-copy h2{font-size:45px}.remix-stamp{font-size:9px;right:12px;top:12px;padding:7px 9px}.everyday-principles .format-grid{grid-template-columns:1fr}.brand-positioning{align-items:flex-start;flex-direction:column;gap:9px}}
@media(max-width:760px){.language-picker{font-size:10px;max-width:54px;padding:8px 0}.nav-actions,.compact-header .nav-actions{gap:10px}.compact-header .nav-search{display:none}.compact-header .mobile-search{display:block}.compact-header .header-inner{gap:15px}.compact-header .masthead{font-size:22px}.compact-header .nav-links{left:-170px;right:0}.everyday-lab{grid-template-columns:1fr;gap:25px;padding-block:45px}.remix-copy{max-width:none}.remix-visual{order:-1}.remix-copy h2{font-size:40px}.remix-copy>p:not(.eyebrow){font-size:14px}.remix-status{min-height:26px}.remix-art{max-height:none}.remix-disclaimer{margin-top:0}.remix-stamp{font-size:8px;width:auto;height:auto;white-space:nowrap}.remix-stage-caption{font-size:8px;padding:13px 15px}.remix-copy>.text-button{margin-top:14px}.brand-positioning{font-size:11px;padding:22px}.brand-positioning strong{font-size:13px}html:lang(zh) .hero h1,html:lang(ja) .hero h1{font-size:12.6vw;line-height:1.3;width:100%;white-space:normal;letter-spacing:-.05em}html:lang(zh) .hero-copy,html:lang(ja) .hero-copy{padding-top:30px}html:lang(zh) .hero-copy p,html:lang(ja) .hero-copy p{font-size:14px;max-width:225px;margin-top:18px}html:lang(zh) .section-heading h2,html:lang(ja) .section-heading h2{font-size:34px}html:lang(zh) .hero-actions .text-button,html:lang(ja) .hero-actions .text-button{max-width:140px}.remix-object-options{margin:20px 0}.motion-toggle{margin-top:5px}}
@media(max-width:420px){.compact-header .masthead{font-size:19px}.compact-header .header-inner{gap:12px}.compact-header .nav-actions{gap:8px}.compact-header .nav-links{left:-150px}.compact-header .bag-link{padding:8px 10px;font-size:11px}.compact-header .language-picker{max-width:47px;font-size:9px}.home-header .nav-actions{gap:11px}.home-header .nav-search{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-wait{opacity:1;translate:0 0}.hero img{translate:0 0!important}.object-image,.product-image-button,.cast-card:hover img{rotate:0deg!important;translate:0 0!important}.scroll-progress{display:none}}
@media(max-width:760px){html:lang(ja) .home-page .hero h1{font-size:10.5vw;line-height:1.3}}
@media(max-width:760px){.trade-page .filters{flex-wrap:wrap;overflow:visible;gap:10px 20px}html:lang(ja) .trade-page .hero h1{font-size:8.8vw;line-height:1.35}}
@media(max-width:600px){.compact-header .header-inner{display:block;padding-top:15px;min-height:0}.compact-header .masthead{font-size:23px;margin-bottom:11px}.compact-header .main-nav{border-top:1px solid var(--line);min-height:46px}.compact-header .nav-links{left:0;right:0}.compact-header .nav-actions{margin-left:auto}}
