/* The shop keeps the artist's archive photography at the centre. */
.shop-section{padding-block:72px 68px}.shop-section .archive-heading{margin-bottom:32px}.shop-section .design-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px}.shop-preview{display:block;width:100%;text-align:left}.shop-card-foot{margin-top:17px}.shop-card-price{font-size:.8125rem;letter-spacing:.02em;color:var(--muted)}.shop-card-actions{display:flex;align-items:center;gap:20px;margin-top:13px}.shop-buy{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 23px;background:var(--ink);color:var(--paper);font-size:.8125rem;line-height:1.5;transition:background .2s,transform .2s}.shop-buy:hover{background:#435749}.shop-buy:active{transform:translateY(1px)}.shop-buy:disabled{opacity:.6;cursor:wait}.shop-add{font-size:.75rem;min-height:44px;color:var(--muted);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#b8b9af}.shop-add:hover{color:var(--ink)}.shop-card-actions .shop-buy{flex:1}.album-shop-actions{display:grid;grid-template-columns:1fr auto;gap:12px 20px;width:100%;margin-block:24px}.album-shop-actions .shop-card-price{grid-column:1/-1}.shop-modal-open{overflow:hidden!important}
.shop-dialog{position:fixed;inset:0;width:min(1050px,94vw);max-width:94vw;max-height:92dvh;margin:auto;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);overscroll-behavior:contain;box-shadow:0 25px 100px #182d302b}.shop-dialog::backdrop{background:#1b2925b0;backdrop-filter:blur(5px)}.shop-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 30px;background:var(--paper);border-bottom:1px solid var(--line)}.shop-dialog-head>div{display:flex;align-items:center;gap:14px}.shop-dialog-head button{min-width:44px;min-height:44px}.shop-language{font-size:.8125rem;text-decoration:underline;text-underline-offset:5px}[data-close-shop]{font-size:1.7rem;font-weight:300}.shop-dialog-head h2{font:400 1.8rem var(--serif)}#checkout-content{padding:32px}.checkout-intro h2{font:400 2.6rem/1.2 var(--serif)}.checkout-intro p{margin-top:12px;font-size:.875rem;line-height:1.7;color:var(--muted)}.checkout-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:40px;margin-top:32px}.checkout-summary{min-width:0}.order-item{display:flex;align-items:flex-start;gap:16px;padding-block:18px;border-bottom:1px solid var(--line)}.order-item:first-child{padding-top:0}.order-item>img{width:88px;aspect-ratio:.85;flex-shrink:0;object-fit:cover}.order-item-info{min-width:0;flex:1}.order-item h3{font:400 1.5rem/1.3 var(--serif)}.order-item p{font-size:.75rem;color:var(--muted);line-height:1.7;margin-top:7px}.item-choices{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}.item-choices>.field-label:first-child{flex:1 1 170px;min-width:0}.quantity-field{width:65px}.field-label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:.75rem;line-height:1.5}.field-label input,.field-label select,.field-label textarea{display:block;width:100%;min-width:0;min-height:43px;padding:10px;border:1px solid #cfd2c8;border-radius:0;background:#fff9;color:var(--ink);font:400 .875rem/1.5 var(--sans);outline-offset:2px}.field-label textarea{min-height:76px;resize:vertical}.field-label :is(input,select,textarea):focus-visible{outline:1px solid var(--ink);border-color:var(--ink)}.item-choices select{font-size:.6875rem}.piece-note{font-size:.6875rem;line-height:1.8;color:var(--muted);margin-top:14px}.order-totals{margin-top:28px;border-top:1px solid var(--line);padding-top:14px}.order-totals p{display:flex;justify-content:space-between;gap:20px;margin-block:10px;font-size:.8125rem}.order-totals strong{font-weight:500}.checkout-fields>h3{font:400 1.7rem var(--serif);margin-bottom:18px}.customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 15px}.customer-grid>label:has([name=address]),.customer-grid>label:has([name=note]){grid-column:1/-1}.order-consent{display:flex;align-items:flex-start;gap:12px;max-width:640px;font-size:.75rem;line-height:1.8;margin-top:30px}.order-consent input{width:17px;height:17px;flex-shrink:0;accent-color:var(--ink);margin-top:3px}.checkout-submit{display:flex;align-items:center;gap:20px;margin-top:16px}.checkout-submit>.shop-buy{min-width:190px}.checkout-submit p{font-size:.75rem;color:var(--muted)}.order-error{color:#963c38;font-size:.8125rem;line-height:1.7;margin-top:12px}.order-error:empty{display:none}.order-success{text-align:center;max-width:560px;margin:20px auto 35px}.success-mark{display:grid;place-items:center;border:1px solid #a8b4a4;width:46px;height:46px;border-radius:50%;margin:0 auto 25px}.order-success h2{font:400 2.6rem var(--serif);outline:none}.order-status{font-size:.8125rem;margin-top:17px}.order-success-copy{color:var(--muted);font-size:.875rem;line-height:1.9;margin-top:20px}.order-reference{border-block:1px solid var(--line);padding:23px 0;margin:25px 0;display:grid;gap:10px;overflow-wrap:anywhere}.order-reference span{font-size:.75rem}.order-reference strong{font-weight:500;letter-spacing:.03em}.order-success>p:last-of-type{font-size:.8125rem}.order-success .shop-buy{margin-top:25px}.cart-dialog{width:680px}#cart-content{padding:30px}.cart-empty{padding:30px 0 50px;color:var(--muted)}.cart-footer{padding-top:25px}.cart-footer>p{margin-bottom:20px;font-size:.875rem}.cart-footer>.shop-buy{width:100%}#shop-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,10px);padding:13px 23px;background:var(--ink);color:var(--paper);font-size:.8125rem;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap}#shop-toast.visible{opacity:1;transform:translate(-50%,0)}
/* Gentle movement stays close to the original illustration. */
.life-art .life-tabs{margin:8px 28px 0}.life-art .life-tabs button{align-items:center;gap:6px;padding:13px 5px 15px;min-height:65px;transition:color .25s,background .25s}.life-tabs button:hover{color:var(--ink);background:#76618005}.life-tabs button:focus-visible{outline:0;box-shadow:inset 0 0 0 1px #76618070;background:#76618009}.story-art-footer{margin-top:9px}.life-copy .life-panel{margin-top:35px;min-height:158px}.story-frame,.story-frame.is-active{transform:translate(var(--shift-x,0px),var(--shift-y,0px)) rotate(var(--sway,0deg));transform-origin:50% 78%;transition:opacity 1.3s ease,filter 1.35s ease;will-change:transform}.story-canvas{touch-action:pan-y}.story-fire-glow{position:absolute;left:47.5%;top:22%;width:5%;height:15%;border-radius:50%;background:radial-gradient(ellipse,#ffc859,transparent 70%);filter:blur(5px);mix-blend-mode:screen;opacity:0;transform:translateX(var(--flame-x,0px));pointer-events:none;transition:opacity .8s}.story-canvas[data-active=candle] .story-fire-glow{opacity:var(--warmth,.14)}.story-particles{position:absolute;inset:0;pointer-events:none}.life-particle{position:absolute;width:5px;height:5px;pointer-events:none;animation:life-spark 1.3s ease-out both}.life-particle.flowers{width:7px;height:4px;border-radius:70% 10% 70% 20%;background:#c5a2bb;animation-name:life-petal}.life-particle.keepsakes{width:8px;height:8px;background:#dac49a;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.life-particle.studio{width:5px;height:5px;border-radius:50%;background:#a495b5;animation-name:life-ink}@keyframes life-petal{0%{opacity:0;transform:translate(0,0) rotate(0)}20%{opacity:.55}100%{opacity:0;transform:translate(var(--drift),24px) rotate(100deg)}}@keyframes life-spark{0%{opacity:0;transform:scale(.3)}25%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:translateY(-10px) scale(.2)}}@keyframes life-ink{0%{opacity:.45;transform:scale(.3)}100%{opacity:0;transform:translate(var(--drift),-12px) scale(1.4)}}
html[lang=zh-CN] .checkout-intro h2,html[lang=zh-CN] .order-success h2{font-size:1.9rem;line-height:1.65}html[lang=zh-CN] .order-item h3{font-size:1rem;line-height:1.6}html[lang=zh-CN] .checkout-fields>h3{font-size:1.2rem}
@media(max-width:1000px){.shop-card-actions{gap:12px}.shop-card-actions .shop-buy{padding-inline:12px}.checkout-grid{gap:25px}.life-art .life-tabs{margin-inline:0}}
@media(max-width:700px){.shop-section{padding-block:38px}.shop-section .design-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 16px}.shop-section .design-grid[data-filter=all] .design-card:first-child{grid-column:auto}.shop-section .design-grid .archive-image img{aspect-ratio:1!important}.shop-card-foot{margin-top:12px}.shop-card-price{font-size:.6875rem}.shop-card-actions{display:grid;gap:0;margin-top:10px}.shop-card-actions .shop-buy{font-size:.75rem;padding:10px 8px}.shop-add{font-size:.6875rem}.shop-preview .archive-meta{min-height:64px}.life-inner{display:flex;flex-direction:column;gap:0}.life-copy{display:contents}.life-copy>.eyebrow{order:0;align-self:flex-start}.life-copy>h2{order:1;align-self:flex-start}.life-intro{order:2;align-self:flex-start}.life-art{order:3;width:100%;margin:16px 0 0}.life-art .life-tabs{margin:0}.life-art .life-tabs button{font-size:.8125rem;min-height:62px;padding-block:9px 12px}.story-art-footer{padding:0;font-size:.5625rem;margin-top:5px}.life-copy .life-panel{order:4;width:100%;margin-top:23px;min-height:144px}.life-progress{order:5;width:100%;margin-top:9px}.life-care{order:6;width:100%}.shop-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0}.shop-dialog-head{padding:8px 20px}#checkout-content,#cart-content{padding:24px 20px}.checkout-intro h2{font-size:2.25rem}.checkout-grid{grid-template-columns:1fr;gap:30px;margin-top:25px}.order-item>img{width:76px}.order-item h3{font-size:1.35rem}.order-totals{margin-top:20px}.checkout-submit{align-items:flex-start;flex-direction:column;gap:12px}.checkout-submit .shop-buy{width:100%}.order-consent{margin-top:24px}.order-success{margin-top:35px}.order-reference strong{font-size:.875rem}html[lang=zh-CN] .checkout-intro h2{font-size:1.5rem}.cart-dialog .order-item{flex-wrap:wrap}.cart-dialog .order-item>.shop-add{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.story-frame,.story-frame.is-active{transform:none!important;transition:none;will-change:auto}.story-fire-glow,.story-particles{display:none}.shop-buy,#shop-toast{transition:none}}

.checkout-intro h2,.life-copy h2{text-wrap:balance}
