:root{--ink:#20211e;--paper:#f3efe7;--line:#d5cfc2;--gold:#ae842c;--muted:#77756d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Serif TC',serif}.grain{position:fixed;inset:0;pointer-events:none;opacity:.28;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}.site-header{height:88px;padding:0 5.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:2;width:100%}.wordmark{display:flex;align-items:center;gap:5px;font-size:19px;letter-spacing:3px;text-decoration:none;color:inherit}.wordmark i{display:block;width:5px;height:5px;background:var(--gold);border-radius:50%;margin-left:2px}.site-header nav{display:flex;gap:38px;margin-left:110px}.site-header nav a{color:#74736d;text-decoration:none;font-size:13px;letter-spacing:1px}.site-header nav a.active{color:var(--ink)}.menu-button{border:0;background:none;width:42px;padding:10px 0}.menu-button span{height:1px;background:var(--ink);display:block;margin:6px 0}.hero{min-height:700px;padding:171px 10vw 70px;position:relative;overflow:hidden}.eyebrow{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:1.5px;color:#74736d;margin:0 0 22px}.hero h1,h2{font-size:clamp(36px,4.4vw,65px);line-height:1.34;font-weight:500;letter-spacing:3px;margin:0}.hero-copy{font-size:15px;line-height:2.1;margin:31px 0;color:#605e57}.round-link{width:110px;height:110px;border:1px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:1px;margin-top:37px;transition:.3s}.round-link:hover{background:var(--ink);color:var(--paper)}.round-link b{font-weight:400;font-size:18px;margin-top:3px}.hero-art{position:absolute;right:4vw;top:95px;width:min(47vw,630px);height:605px;background:#d8d0bd;overflow:hidden}.halo{position:absolute;width:380px;height:380px;border-radius:50%;border:1px solid rgba(77,67,46,.35);left:15%;top:18%;box-shadow:0 0 0 55px rgba(231,225,211,.45),0 0 0 150px rgba(232,225,210,.25)}.pendant{width:188px;height:260px;border-radius:48% 52% 48% 52%;border:18px solid #b28a37;position:absolute;top:135px;left:37%;transform:rotate(28deg);box-shadow:inset 0 0 0 5px #d8bd78,12px 19px 28px #9a8f7969}.pendant:after{content:'';position:absolute;width:53px;height:53px;background:#f0e7d4;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.thread{height:205px;width:1px;background:#655844;position:absolute;top:-30px;left:55%;transform:rotate(28deg)}.hero-art em{position:absolute;bottom:25px;right:30px;font:10px/1.8 'DM Mono';letter-spacing:1px;color:#625b4c}.collection{padding:105px 5.2vw 125px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:66px}.section-heading h2{font-size:42px}.section-heading>p{font-size:12px;line-height:1.9;color:var(--muted)}.catalog-controls{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;gap:20px}.filter-list{display:flex;gap:23px;align-items:center;flex-wrap:wrap}.filter{font:13px 'Noto Serif TC';border:0;background:transparent;color:#77756d;padding:4px 0;cursor:pointer}.filter.active{color:var(--ink);border-bottom:1px solid var(--ink)}.filter small{font:10px 'DM Mono';margin-left:3px}.catalog-utilities{display:flex;gap:17px}.search{border-bottom:1px solid var(--line);display:flex;align-items:center}.search input{border:0;background:transparent;width:115px;outline:0;font:12px 'Noto Serif TC'}.search span{font-size:21px;line-height:1}select{border:0;background:transparent;color:var(--ink);font:12px 'Noto Serif TC';outline:0}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:56px 20px;padding-top:38px}.product-card{cursor:pointer;outline-offset:5px}.art-wrap{position:relative}.product-art{height:315px;position:relative;overflow:hidden;background:#d9d0bd}.product-art.gold{background:#ded5c1}.product-art.jade{background:#cad0c4}.product-art.warm{background:#d9c8ba}.product-art.wood{background:#cfc4b3}.product-art span{position:absolute;bottom:14px;left:16px;font:10px 'DM Mono';letter-spacing:1px;color:#58554c}.art-shadow{width:120px;height:25px;border-radius:50%;background:#493c2d30;filter:blur(7px);position:absolute;bottom:62px;left:calc(50% - 60px)}.jewel-shape{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);filter:drop-shadow(9px 14px 12px #5b4c382d)}.shape-yun{width:102px;height:102px;border-radius:48% 52% 43% 57%;border:16px solid #b9913d;transform:translate(-50%,-50%) rotate(-25deg)}.shape-qing,.shape-song{width:88px;height:132px;border-radius:46% 54% 50% 50%;background:#5c875d;border:9px solid #c3a75c}.shape-zhu{width:57px;height:137px;border:12px solid #b88c43;border-radius:30px}.shape-zhu:after{content:'';height:2px;background:#b88c43;width:95px;position:absolute;left:-31px;top:48px}.shape-ning,.shape-an{width:145px;height:145px;border-radius:50%;border:21px dotted #70513b}.shape-yuan{width:126px;height:126px;border:17px solid #b9913d;border-radius:50%}.shape-yuan:after{content:'';width:20px;height:20px;border-radius:50%;background:#f4e5b9;position:absolute;top:35px;left:35px}.shape-wen{width:109px;height:109px;border:14px solid #ba8860;border-radius:50%;border-right-color:transparent;transform:translate(-50%,-50%) rotate(-22deg)}.quick-view{position:absolute;right:13px;bottom:12px;background:var(--paper);border:0;width:80px;height:31px;font:11px 'Noto Serif TC';opacity:0;transition:.2s;cursor:pointer}.quick-view b{font-weight:400}.product-card:hover .quick-view{opacity:1}.product-info{padding-top:14px;display:flex;justify-content:space-between;gap:8px}.product-info h3{font-weight:500;font-size:18px;margin:0 0 3px;letter-spacing:2px}.product-info p{font:9px 'DM Mono';letter-spacing:.5px;color:#78756d;margin:0;line-height:1.8}.product-info>div:last-child{text-align:right}.product-info strong{font:12px 'DM Mono';font-weight:400;display:block;margin-top:6px}.no-results{grid-column:1/-1;color:var(--muted);padding:45px 0}.materials{background:#252824;color:#eeeadf;padding:110px 10vw}.materials .eyebrow{color:#b8b5a8}.material-layout{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.materials h2{font-size:42px}.material-notes article{border-top:1px solid #5f615b;padding:18px 0;display:grid;grid-template-columns:35px 68px 1fr;gap:12px}.material-notes span{font:11px 'DM Mono';color:#b9a36c}.material-notes h3{margin:0;font-size:18px;font-weight:500;letter-spacing:4px}.material-notes p{margin:0;color:#c4c3bb;line-height:1.85;font-size:13px}.about{min-height:450px;padding:107px 10vw;background:linear-gradient(125deg,#e7e1d5,#c9c0ae)}.about h2{font-size:43px}.text-link,.inquire{display:inline-flex;gap:20px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:8px;margin-top:36px;font-size:14px}.text-link span,.inquire span{font-size:18px}footer{background:#171916;color:#d9d5cb;padding:38px 5.2vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}footer p{font:10px/1.8 'DM Mono';color:#9b9c94;margin:0}footer p:nth-child(2){text-align:center}footer p:nth-child(3){text-align:right}footer a{color:inherit}dialog{border:0;padding:0;max-width:min(900px,92vw);width:900px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#1c1d19bb}.close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:30px;z-index:2;cursor:pointer}.dialog-art{width:50%;float:left}.dialog-art .product-art{height:590px}.dialog-info{margin-left:50%;padding:75px 56px 45px;min-height:590px}.dialog-info h2{font-size:45px;margin-bottom:22px}.story{font-size:14px;line-height:2;color:#5c5b54;margin-bottom:35px}.dialog-info dl{margin:0;border-top:1px solid var(--line)}.dialog-info dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.dialog-info dt{color:var(--muted)}.dialog-info dd{margin:0}.dialog-info .inquire{margin:26px 0 13px}.dialog-info small{display:block;font-size:10px;line-height:1.7;color:var(--muted)}
@media(max-width:780px){.site-header{height:68px}.site-header nav{display:none}.hero{padding:130px 7vw 0;min-height:720px}.hero h1{font-size:41px}.hero-art{top:390px;right:0;width:90vw;height:330px}.halo{width:220px;height:220px;top:15%;left:24%}.pendant{width:105px;height:145px;border-width:11px;top:78px;left:40%}.thread{height:110px;left:56%}.collection{padding:75px 7vw}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:34px}.section-heading>p{margin-top:17px}.catalog-controls{display:block}.catalog-utilities{justify-content:space-between;margin-top:16px}.product-grid{grid-template-columns:repeat(2,1fr);gap:36px 12px}.product-art{height:225px}.product-info{display:block}.product-info>div:last-child{text-align:left;margin-top:7px}.quick-view{display:none}.materials{padding:75px 7vw}.material-layout{display:block}.materials h2{font-size:34px;margin-bottom:45px}.material-notes article{grid-template-columns:28px 48px 1fr}.about{min-height:370px;padding:75px 7vw}.about h2{font-size:34px}footer{padding:30px 7vw;grid-template-columns:1fr 1fr;gap:20px}footer p:nth-child(2){display:none}footer p:nth-child(3){text-align:right}.dialog-art{width:100%;float:none}.dialog-art .product-art{height:300px}.dialog-info{margin:0;padding:40px 27px;min-height:0}.dialog-info h2{font-size:37px}}

/* DearCrush brand and selection journey */
.brand-lockup{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-lockup img{width:109px;height:36px;object-fit:cover;object-position:center 62%;mix-blend-mode:multiply}.brand-lockup span{font-size:12px;letter-spacing:2px}.header-actions{display:flex;align-items:center;gap:18px}.currency-select{border-bottom:1px solid var(--line)}.currency-select select{font:10px 'DM Mono';padding:5px 0}.cart-button{border:0;background:var(--ink);color:var(--paper);padding:10px 13px;font:11px 'Noto Serif TC';letter-spacing:1px;cursor:pointer}.cart-button small{font:10px 'DM Mono';background:#b99648;color:var(--ink);padding:1px 5px;border-radius:10px;margin-left:5px}.add-to-cart,.generate-order{border:0;background:var(--ink);color:var(--paper);font:13px 'Noto Serif TC';padding:14px 16px;cursor:pointer}.add-to-cart{width:100%;margin:26px 0 13px;display:flex;justify-content:space-between}.cart-panel{position:fixed;right:0;top:0;z-index:30;width:min(430px,94vw);height:100dvh;background:var(--paper);padding:35px 30px;display:flex;flex-direction:column;transform:translateX(105%);transition:.35s ease}.cart-panel.open{transform:translateX(0)}.cart-overlay{position:fixed;inset:0;background:#1c1d19aa;opacity:0;visibility:hidden;transition:.35s;z-index:25}.cart-overlay.open{opacity:1;visibility:visible}.cart-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--ink);padding-bottom:22px}.cart-head h2{font-size:35px}.cart-close{font-size:30px;border:0;background:transparent;cursor:pointer}.cart-items{overflow:auto;flex:1}.empty-cart{font-size:13px;color:var(--muted);line-height:2;padding:36px 0}.cart-item{display:grid;grid-template-columns:74px 1fr 74px;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}.cart-mini{height:74px;position:relative;overflow:hidden}.cart-mini.gold{background:#ded5c1}.cart-mini.jade{background:#cad0c4}.cart-mini.warm{background:#d9c8ba}.cart-mini.wood{background:#cfc4b3}.cart-mini .jewel-shape{transform:translate(-50%,-50%) scale(.48)}.cart-item h3{margin:0;font-size:17px;font-weight:500}.cart-item p{font-size:10px;margin:3px 0;color:var(--muted)}.cart-item strong{font:11px 'DM Mono';font-weight:400}.quantity{display:flex;align-items:center;justify-content:space-between;font:12px 'DM Mono'}.quantity button{border:0;background:transparent;font-size:17px;cursor:pointer}.cart-summary{border-top:1px solid var(--ink);padding-top:20px}.cart-summary>div,.order-total{display:flex;justify-content:space-between;align-items:baseline}.cart-summary strong,.order-total strong{font:17px 'DM Mono';font-weight:400}.cart-summary small{display:block;color:var(--muted);font-size:10px;line-height:1.6;margin:8px 0 16px}.generate-order{width:100%;display:flex;justify-content:space-between}.generate-order:disabled{opacity:.35;cursor:not-allowed}.order-content{padding:70px 65px 45px}.order-content h2{font-size:43px;margin-bottom:10px}.order-content>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 30px}.order-line{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);font-size:13px}.order-line strong{font:12px 'DM Mono';font-weight:400}.order-total{border-top:1px solid var(--ink);padding:18px 0;margin-top:10px}.whatsapp-button{background:#2b7a55;color:#fff;display:flex;justify-content:space-between;text-decoration:none;padding:15px 17px;font-size:13px}.order-content small{display:block;color:var(--muted);font-size:10px;line-height:1.7;margin-top:14px}
@media(max-width:780px){.brand-lockup img{width:88px;height:31px}.brand-lockup span{display:none}.header-actions{gap:8px}.currency-select{display:none}.cart-button{padding:9px 10px}.dialog-info .add-to-cart{margin-top:22px}.order-content{padding:55px 27px 32px}.order-content h2{font-size:36px}}

/* DearCrush · vermilion paper room */
:root{--ink:#2a1c18;--paper:#f2e8d8;--line:#bea78e;--gold:#c49a50;--muted:#775f51;--vermilion:#6d171a;--vermillion-light:#8d2727}body{background:var(--paper);background-image:radial-gradient(rgba(98,67,37,.11) .65px,transparent .7px),radial-gradient(rgba(255,255,255,.55) .7px,transparent .75px);background-size:5px 5px,7px 7px;background-position:0 0,2px 3px}.grain{opacity:.13}.site-header{background:rgba(109,23,26,.97);border-color:#a66250;color:#f4e8d3;position:absolute}.site-header nav a,.currency-select select{color:#e9d8bd}.site-header nav a.active{color:#fff4dd}.currency-select{border-color:#b87e64}.cart-button{background:#e9d8b9;color:#5e1517}.brand-lockup img{mix-blend-mode:screen;filter:grayscale(1) contrast(1.8) brightness(2.7)}.brand-lockup span{color:#ead6b3}.hero{min-height:720px;background:var(--vermilion);background-image:radial-gradient(rgba(240,201,153,.12) .7px,transparent .8px),radial-gradient(rgba(18,0,0,.17) .6px,transparent .7px);background-size:5px 5px,9px 9px;color:#f4e7d0}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(63,8,13,.16),transparent 50%,rgba(63,8,13,.19))}.hero>*:not(.hero-art){position:relative;z-index:1}.hero .eyebrow{color:#e7c89a}.welcome-title{font-weight:400;letter-spacing:0;margin:0;font-size:clamp(43px,5vw,75px);line-height:1.03}.welcome-title span{font-family:'Callem','Brittany Signature','Snell Roundhand',cursive;font-weight:400;display:block;white-space:nowrap;letter-spacing:1px}.welcome-title b{font-family:'康熙字典體','Kangxi Dictionary','Noto Serif TC',serif;font-size:.72em;font-weight:400;display:block;text-align:center;letter-spacing:10px;margin-top:17px}.hero-copy{color:#ead8be;max-width:310px}.round-link{border-color:#e7cfaa;color:#f5e8d5}.round-link:hover{background:#ecd9b9;color:#6d171a}.hero-art{right:5.2vw;top:112px;width:min(43vw,548px);height:540px;background:#3d2618;box-shadow:-30px 28px 0 #a34a31,0 22px 55px #2c0408a8}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:saturate(.72) sepia(.22) contrast(1.03)}.hero-art:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,#6d171a40,transparent 55%,#2810064f);pointer-events:none}.hero-art-caption{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:15px 19px;background:linear-gradient(transparent,#1d0809dd);color:#f6e5c4;display:flex;gap:13px;align-items:center}.hero-art-caption span{font:12px 'DM Mono'}.hero-art-caption em{font:9px 'DM Mono';font-style:normal;letter-spacing:1px}.collection{background:#f2e8d8;background-image:radial-gradient(rgba(116,72,38,.09) .6px,transparent .75px);background-size:6px 6px}.materials{background:var(--vermilion);background-image:linear-gradient(140deg,#541116dd,#86272acc),url('assets/gold-mountain-reference.jpg');background-size:cover;background-position:center}.about{background:#e7d6bd;background-image:linear-gradient(110deg,#f2e7d4e5,#dfc5a0ba),url('assets/red-plum-reference.jpg');background-position:center 44%;background-size:cover}.about h2{color:#4d1618}.text-link{color:#4d1618;border-color:#4d1618}footer{background:#4f1215}.footer-brand img{filter:grayscale(1) contrast(1.8) brightness(3)}
@media(max-width:780px){.hero{min-height:755px}.welcome-title{font-size:44px}.welcome-title span{white-space:normal}.welcome-title b{font-size:.75em;letter-spacing:7px;margin-top:11px}.hero-art{top:400px;right:6vw;width:87vw;height:300px;box-shadow:-16px 18px 0 #a34a31}.hero-copy{margin-top:24px}.hero-art-caption{padding:11px 14px}}

/* Transparent, reference-derived jewellery-box model with a CSS 3D stage. */
.box-stage{overflow:visible!important;background:transparent!important;box-shadow:none!important;isolation:isolate}.box-stage:before{content:'';position:absolute;z-index:-1;left:9%;right:2%;bottom:5%;height:18%;border-radius:50%;background:radial-gradient(ellipse,rgba(30,2,4,.36),transparent 68%);filter:blur(18px)}.jewellery-model{position:absolute;inset:-10% -10% -7%}.box-model-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(16px 22px 18px rgba(30,2,4,.32));user-select:none;pointer-events:none}.box-cabinet{z-index:1}.box-chest{z-index:2;transition:transform .36s cubic-bezier(.2,.8,.2,1);will-change:transform}.box-chest.is-open{display:none}.jewellery-model.is-open .box-chest.is-closed{display:none}.jewellery-model.is-open .box-chest.is-open{display:block;animation:chest-open .36s cubic-bezier(.2,.8,.2,1)}.jewellery-model:not(.is-open) .box-chest.is-closed{animation:chest-close .3s cubic-bezier(.2,.8,.2,1)}.box-lid-hotspot{position:absolute;z-index:3;cursor:pointer;left:47%;top:48%;width:48%;height:24%;border:0;background:transparent;outline:0}.box-lid-hotspot:focus-visible{outline:1px solid #e6be70;outline-offset:4px}@keyframes chest-open{from{transform:translateY(10px) scale(.985)}to{transform:translateY(0) scale(1)}}@keyframes chest-close{from{transform:translateY(-7px) scale(1.01)}to{transform:translateY(0) scale(1)}}@media(max-width:780px){.jewellery-model{inset:-8% -7% -3%}.box-lid-hotspot{display:none}}

/* Hero title: align the Chinese line to the English sentence, not the page. */
@font-face{font-family:'KangXiZiDianTi';src:url('assets/fonts/TypeLand-com-KangXiZiDianTi-ShiYongBan-1.otf') format('opentype');font-display:swap}
.welcome-title{display:grid;width:max-content;max-width:100%;justify-items:start}
.welcome-title b{font-family:'KangXiZiDianTi','康熙字典體','Kangxi Dictionary','Noto Serif TC',serif;justify-self:center;text-align:initial}
@media(max-width:780px){.welcome-title{font-size:clamp(34px,11vw,44px)}.welcome-title span{white-space:nowrap}}

.footer-brand span{font-family:'Callem','Brittany Signature','Snell Roundhand',cursive;font-size:26px;font-weight:400;letter-spacing:1px;color:#ead6b3}.hero-intro{width:max-content;max-width:100%;text-align:center}.hero-intro .hero-copy{margin:22px auto 0!important;text-align:center}.hero-intro .round-link{margin:25px auto 0}
.hero .falling-jewellery{position:absolute;z-index:12;left:7vw;top:445px;width:550px;height:241px;pointer-events:none;isolation:isolate}.falling-jewellery>div{position:absolute;display:block}.falling-jewellery img{display:block;width:100%;filter:drop-shadow(0 2px 1px rgba(255,238,190,.42)) drop-shadow(12px 20px 15px rgba(34,3,7,.48));will-change:transform}.falling-bracelet{width:244px;left:0;bottom:0;animation:bracelet-drop 1.05s cubic-bezier(.18,.8,.25,1) both}.falling-rings{width:140px;left:255px;top:-9px;animation:rings-drop 1.2s .12s cubic-bezier(.18,.8,.25,1) both}.falling-charm{width:64px;left:408px;top:43px;animation:charm-drop 1.1s .26s cubic-bezier(.18,.8,.25,1) both}.falling-jade-charms{width:66px;right:0;top:8px;animation:jade-charms-drop 1.18s .36s cubic-bezier(.18,.8,.25,1) both}.falling-bracelet img{animation:bracelet-float 5.5s 1.05s ease-in-out infinite}.falling-rings img{animation:rings-float 6s 1.32s ease-in-out infinite}.falling-charm img{animation:charm-float 5.2s 1.36s ease-in-out infinite}.falling-jade-charms img{animation:jade-charms-float 5.8s 1.54s ease-in-out infinite}@keyframes bracelet-drop{0%{opacity:0;transform:translateY(-190px) rotate(-24deg) scale(.72)}72%{opacity:1;transform:translateY(12px) rotate(5deg) scale(1.03)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes rings-drop{0%{opacity:0;transform:translateY(-230px) rotate(20deg) scale(.7)}72%{opacity:1;transform:translateY(10px) rotate(-4deg) scale(1.02)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes charm-drop{0%{opacity:0;transform:translateY(-150px) rotate(-35deg) scale(.68)}72%{opacity:1;transform:translateY(9px) rotate(4deg) scale(1.04)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes jade-charms-drop{0%{opacity:0;transform:translateY(-180px) rotate(28deg) scale(.7)}72%{opacity:1;transform:translateY(10px) rotate(-5deg) scale(1.03)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes bracelet-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-2deg)}}@keyframes rings-float{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(4px,-9px) rotate(3deg)}}@keyframes charm-float{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-3px,-8px) rotate(-5deg)}}@keyframes jade-charms-float{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(3px,-7px) rotate(4deg)}}@media(max-width:780px){.hero .falling-jewellery{left:5vw;top:345px;width:350px;height:151px}.falling-bracelet{width:161px}.falling-rings{width:92px;left:168px}.falling-charm{width:42px;left:265px;top:27px}.falling-jade-charms{width:43px;right:0;top:4px}}

/* Keep navigation available while browsing; preserve the original hero overlay. */
.site-header{position:fixed;top:0;left:0;z-index:20}
#collection,#materials,#about{scroll-margin-top:88px}
@media(max-width:780px){#collection,#materials,#about{scroll-margin-top:68px}}

/* Bilingual navigation and cart affordance. */
.site-header nav a{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.05}
.site-header nav a small{font:9px/1 'Times New Roman',Times,serif;letter-spacing:.8px;color:inherit}
.cart-button{display:inline-flex;align-items:center;gap:7px}
.cart-button small{margin-left:0}
.cart-icon{position:relative;display:inline-block;width:15px;height:11px;border:1px solid currentColor;border-top:0;transform:skewX(-8deg);margin-top:-2px}
.cart-icon:before{content:'';position:absolute;width:5px;height:1px;background:currentColor;left:-4px;top:-3px;transform:rotate(58deg);transform-origin:right center}
.cart-icon:after{content:'•  •';position:absolute;top:6px;left:1px;font-size:10px;letter-spacing:1px;line-height:1;color:currentColor;white-space:nowrap}
.hero-tagline{margin:25px auto 0;font:italic 16px/1.35 'Times New Roman',Times,serif;letter-spacing:.5px;color:#f1dfc2;text-align:center}
.hero-intro .hero-tagline + .hero-copy{margin-top:10px!important}
@media(max-width:780px){.hero-tagline{font-size:15px;margin-top:18px}.cart-icon{width:14px}.cart-button{gap:5px}}

/* Lift and compact the hero copy so it clears the falling jewellery. */
.hero{padding-top:134px}
.hero .eyebrow{margin-bottom:15px}
.welcome-title b{margin-top:10px}
.hero-tagline{margin-top:16px}
.hero-intro .hero-tagline + .hero-copy{margin-top:6px!important;line-height:1.8}
.hero-intro .round-link{margin-top:18px}
@media(max-width:780px){.hero{padding-top:98px}.hero .eyebrow{margin-bottom:11px}.welcome-title b{margin-top:7px}.hero-tagline{margin-top:12px}.hero-intro .round-link{margin-top:14px}}

/* Additional product models continue the falling sequence toward the jewellery box. */
.hero .falling-jewellery{width:700px}.falling-jade-charms{left:484px;right:auto}.falling-wood-bracelet{width:86px;left:562px;top:94px;animation:wood-bracelet-drop 1.14s .48s cubic-bezier(.18,.8,.25,1) both}.falling-red-cord{width:118px;right:0;top:15px;animation:red-cord-drop 1.2s .58s cubic-bezier(.18,.8,.25,1) both}.falling-wood-bracelet img{animation:wood-bracelet-float 5.6s 1.62s ease-in-out infinite}.falling-red-cord img{animation:red-cord-float 6.2s 1.78s ease-in-out infinite}@keyframes wood-bracelet-drop{0%{opacity:0;transform:translateY(-175px) rotate(-22deg) scale(.7)}72%{opacity:1;transform:translateY(10px) rotate(4deg) scale(1.03)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes red-cord-drop{0%{opacity:0;transform:translateY(-205px) rotate(24deg) scale(.68)}72%{opacity:1;transform:translateY(12px) rotate(-4deg) scale(1.03)}100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes wood-bracelet-float{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-3px,-7px) rotate(-3deg)}}@keyframes red-cord-float{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(4px,-8px) rotate(3deg)}}@media(max-width:780px){.hero .falling-jewellery{width:430px}.falling-jade-charms{left:309px}.falling-wood-bracelet{width:56px;left:357px;top:58px}.falling-red-cord{width:77px;right:0;top:8px}}

/* The two bracelet styles share the jade bracelet's scale and sit as a separated pair. */
.hero .falling-jewellery{width:1100px}.falling-wood-bracelet{width:244px;left:565px;top:auto;bottom:0}.falling-red-cord{width:244px;left:835px;right:auto;top:auto;bottom:0}@media(max-width:780px){.hero .falling-jewellery{width:720px}.falling-wood-bracelet{width:161px;left:370px;top:auto;bottom:0}.falling-red-cord{width:161px;left:550px;right:auto;top:auto;bottom:0}}

/* A subtle tonal reduction lets the product photography sit within the hero palette. */
.falling-jewellery img{filter:brightness(.91) saturate(.94) drop-shadow(0 2px 1px rgba(255,238,190,.32)) drop-shadow(12px 20px 15px rgba(34,3,7,.48))}

/* Lenis integration: prevent browser smooth-scroll from competing with its animation loop. */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}

/* Keep the jewellery box safely inside the hero crop and crossfade its two
   rendered states instead of abruptly swapping them. */
.box-stage{transform:translateX(-6%) scale(.9);transform-origin:center right}
.box-chest{will-change:transform,opacity;transition:opacity .16s linear,transform .36s cubic-bezier(.2,.8,.2,1)}
.box-chest.is-open{display:block;opacity:0;transform:translateY(10px) scale(.985)}
.jewellery-model.is-open .box-chest.is-closed{display:block;opacity:0;transform:translateY(-7px) scale(1.01);animation:none}
.jewellery-model.is-open .box-chest.is-open{display:block;opacity:1;transform:translateY(0) scale(1);animation:none}
.jewellery-model:not(.is-open) .box-chest.is-closed{display:block;opacity:1;transform:translateY(0) scale(1);animation:none}
@media(max-width:780px){.box-stage{transform:translateX(-4%) scale(.9);transform-origin:center right}}

/* A restrained filled cart, assembled from visible elements rather than clipped pseudo-elements. */
.cart-button{gap:7px}
.cart-icon{position:relative;display:inline-block;width:19px;height:18px;border:0;transform:none;margin:0 1px 0 2px;background:none;clip-path:none}
.cart-icon:before,.cart-icon:after{content:none}
.cart-handle{position:absolute;width:7px;height:2px;left:0;top:2px;background:currentColor;border-radius:2px;transform:rotate(58deg);transform-origin:right center}
.cart-basket{position:absolute;width:15px;height:9px;left:4px;top:4px;background:currentColor;clip-path:polygon(0 0,100% 0,84% 100%,15% 100%)}
.cart-wheels{position:absolute;width:4px;height:4px;left:5px;top:14px;border-radius:50%;background:currentColor;box-shadow:9px 0 0 currentColor}
@media(max-width:780px){.cart-button{gap:6px}.cart-icon{width:18px;height:17px;margin-right:0}}

/* Match the collection's paper tone. */
.about{background:#f2e8d8;background-image:radial-gradient(rgba(116,72,38,.09) .6px,transparent .75px);background-size:6px 6px}

/* Overscaled, static phone: full width visible at right and cropped only by the lower edge. */
.about{position:relative;isolation:isolate;overflow:hidden}
.about>p,.about>h2,.about>a{position:relative;z-index:1}
.about-phone{position:absolute;z-index:0;right:clamp(42px,8vw,165px);top:40px;width:min(29vw,580px);height:min(56vw,1125px);padding:13px;background:linear-gradient(100deg,#18302d,#081b1a 24%,#294842 49%,#071513 76%,#203d38);border:2px solid #0d2421;border-radius:clamp(44px,4vw,72px);box-shadow:0 12px 26px rgba(48,26,21,.22),inset 0 0 0 2px rgba(210,226,209,.45)}
.about-phone:before{content:'';position:absolute;left:-5px;top:27%;width:4px;height:58px;border-radius:4px 0 0 4px;background:#1c3632;box-shadow:0 79px 0 #1c3632,0 151px 0 #1c3632}
.phone-screen{position:relative;height:100%;overflow:hidden;border-radius:clamp(34px,3.2vw,58px);background:#f2e8d8;color:#321d1a;padding:0}
.phone-slides,.phone-slide{position:absolute;inset:0}.phone-slide{display:block;background-repeat:no-repeat;opacity:0;animation:phone-slide-cycle 15s infinite}.phone-slide--instagram{background-image:url('assets/about-instagram.jpg');background-size:cover;background-position:center top;animation-delay:0s}.phone-slide--market{background-color:#c6a57d;background-image:url('assets/about-market.jpg');background-size:100% auto;background-position:center calc(-8vw);animation-delay:5s}.phone-slide--whatsapp{overflow:hidden;background:#fff;animation-delay:10s}.phone-slide--whatsapp:before{content:'';position:absolute;inset:auto 0 0;top:-30%;background:url('assets/about-whatsapp-qr.jpg') center top/100% auto no-repeat}
.phone-status{display:block;position:relative;z-index:1;height:42px}.phone-status span{display:none}.phone-status i{position:absolute;top:0;left:50%;width:37%;height:34px;border-radius:0 0 21px 21px;background:#080d0c;transform:translateX(-50%)}
.phone-title,.phone-feature,.phone-card,.phone-home{display:none}
@keyframes phone-slide-cycle{0%,29%{opacity:1}33%,100%{opacity:0}}
@media(max-width:780px){.about-phone{display:none}}

/* Material service promise and unnumbered material notes. */
.material-intro h2{margin:0}
.material-promise{margin:18px 0 0;font:14px/1.5 'Times New Roman',Times,serif;letter-spacing:.3px;color:#c9b987}
.material-notes article{grid-template-columns:68px 1fr}
@media(max-width:780px){.material-intro{margin-bottom:42px}.material-intro h2{margin-bottom:0}.material-promise{font-size:13px;margin-top:13px}.material-notes article{grid-template-columns:48px 1fr}}

/* Photography-backed product cards and the plum-cord detail gallery. */
.product-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.dialog-art{position:relative}.dialog-gallery{position:absolute;z-index:2;left:14px;bottom:14px;display:flex;gap:7px}.dialog-gallery button{width:48px;height:61px;padding:0;border:1px solid transparent;background:var(--paper);cursor:pointer;opacity:.72}.dialog-gallery button.active{border-color:var(--ink);opacity:1}.dialog-gallery img,.cart-mini img{display:block;width:100%;height:100%;object-fit:cover}
.image-zoom-trigger{display:none;position:absolute;right:14px;bottom:14px;z-index:2;border:0;background:var(--paper);color:var(--ink);font:12px 'Noto Serif TC';padding:10px 12px;cursor:pointer}.image-zoom-trigger span{font:20px/0 'Times New Roman',serif;margin-right:4px}#image-zoom-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;background:#171916;color:var(--paper)}#image-zoom-dialog::backdrop{background:#171916}#image-zoom-dialog .zoom-toolbar{position:absolute;top:18px;right:18px;z-index:3;display:flex;gap:7px;align-items:center}#image-zoom-dialog .zoom-toolbar button{min-width:40px;height:40px;border:1px solid #ffffff50;background:#242622;color:var(--paper);font:15px 'Noto Serif TC';cursor:pointer}#image-zoom-dialog .zoom-toolbar .zoom-close{font-size:25px;border:0;background:transparent;margin-left:7px}.zoom-hint{position:absolute;z-index:2;top:20px;left:22px;margin:0;color:#d7d2c6;font:11px 'Noto Serif TC';letter-spacing:1px}.zoom-stage{width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none}.zoom-stage img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;transform-origin:center;will-change:transform;user-select:none;-webkit-user-drag:none}
@media(max-width:780px){.image-zoom-trigger{display:block}.dialog-gallery{bottom:14px;left:14px}.dialog-art .product-art{touch-action:manipulation}}

/* Mobile keeps the hero's staged composition rather than shrinking the box and
   ornaments into the first viewport. The About phone remains visible so its
   three-image sequence works on touch devices too. */
@media(max-width:780px){
  .hero{min-height:840px;padding-bottom:0}
  .hero-art{top:452px;right:5vw;width:78vw;height:305px;box-shadow:-11px 15px 0 #a34a31}
  .box-stage{transform:translateX(-1%) scale(.92);transform-origin:center right}
  .hero .falling-jewellery{left:50%;top:305px;width:615px;height:175px;transform:translateX(-50%)}
  .falling-bracelet{width:143px}.falling-rings{width:82px;left:149px;top:-8px}.falling-charm{width:38px;left:237px;top:23px}.falling-jade-charms{left:283px;top:3px;width:39px}.falling-wood-bracelet{width:137px;left:316px;bottom:0}.falling-red-cord{width:137px;left:467px;bottom:0}
  /* On phones, show the complete width of the handset but crop its lower half
     at the section edge—matching the desktop composition rather than a full
     handset or a side-cropped fragment. */
  .about{height:155vw;min-height:600px;max-height:690px;padding-top:75px;padding-bottom:0;overflow:hidden}
  .about-phone{display:block;position:relative;right:auto;top:auto;margin:34px auto 0;width:70vw;height:136vw;padding:8px;border-radius:38px}
  .about-phone:before{left:-4px;top:28%;width:3px;height:39px;box-shadow:0 54px 0 #1c3632,0 104px 0 #1c3632}
  .phone-screen{border-radius:30px}
  .phone-status{height:25px}.phone-status i{width:39%;height:21px;border-radius:0 0 14px 14px}
  .phone-slide--market{background-position:center -58px}
}

/* Keep the three primary destinations available in the compact mobile header. */
@media(max-width:780px){
  .site-header{padding:0 4vw;gap:7px}
  .site-header nav{display:flex;order:2;gap:10px;margin:0;flex:1;justify-content:center}
  .site-header nav a{font-size:11px;letter-spacing:0;white-space:nowrap}
  .site-header nav a small{display:none}
  .brand-lockup{order:1;font-size:0;min-width:42px}
  .brand-lockup span{display:block;font-size:11px;white-space:nowrap}
  .header-actions{order:3;gap:0}
  .cart-button{width:33px;padding:8px 0;font-size:0;justify-content:center}
  .cart-button small{font:9px 'DM Mono';position:relative;top:-7px;left:-2px}
}

/* Collection pagination stays discreetly at the lower-right edge. */
.catalog-pagination{display:flex;justify-content:flex-end;align-items:center;gap:5px;min-height:42px;margin-top:46px;font-family:'DM Mono',monospace}.page-control{width:32px;height:32px;padding:0;border:0;background:transparent;color:var(--muted);font:11px 'DM Mono',monospace;cursor:pointer;transition:background .2s,color .2s}.page-control:hover:not(:disabled),.page-control.active{background:var(--ink);color:var(--paper)}.page-control:disabled{opacity:.28;cursor:default}.page-prev,.page-next{font-size:16px}@media(max-width:780px){.catalog-pagination{margin-top:34px}.page-control{width:30px;height:30px}}

/* Reserve a clear field for the hero's viewing CTA. The chest and ornaments
   sit lower, with the pieces intentionally layered across its front edge. */
.hero{min-height:770px}
.hero-art{top:150px}
.hero .falling-jewellery{top:500px}
@media(max-width:780px){
  .hero{min-height:875px}
  .hero-art{top:485px}
  .hero .falling-jewellery{top:410px}
}
