/* Jewellery campaign: photographic, understated, and controlled by store settings. */
.jewel-marquee{display:flex;align-items:center;background:#f5eddf;color:var(--wine);border-block:1px solid #b5905133;padding:14px 0;position:relative}.marquee-window{overflow:hidden;flex:1;min-width:0}.marquee-track{display:flex;width:max-content;animation:jewel-marquee var(--marquee-duration,35s) linear infinite}.marquee-group{display:flex;align-items:center;flex-shrink:0}.marquee-group>span{display:flex;align-items:center;gap:28px;white-space:nowrap;padding-right:50px;font-size:13px;letter-spacing:.6px;line-height:1.6}.marquee-group svg{width:15px;height:15px;fill:none;stroke:var(--gold);stroke-width:1;flex:none}.marquee-pause{align-self:stretch;border:0;border-left:1px solid #b5905133;background:#f5eddf;color:var(--wine);width:48px;display:grid;place-items:center;cursor:pointer}.marquee-pause svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.jewel-marquee:hover .marquee-track,.jewel-marquee:focus-within .marquee-track,.jewel-marquee.is-paused .marquee-track{animation-play-state:paused}@keyframes jewel-marquee{to{transform:translateX(-50%)}}
.campaign-edit{max-width:1132px;margin:44px auto;display:grid;grid-template-columns:1fr 1fr;min-height:410px;background:var(--wine);color:#fff6e8;position:relative;overflow:hidden;border:1px solid #b5905170}.campaign-art{position:relative;overflow:hidden;min-width:0;background:#efe2cb}.campaign-art>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 40%;transition:transform 1.4s cubic-bezier(.2,.6,.3,1)}.campaign-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#23171b70,transparent 50%);pointer-events:none}.campaign-art-label{position:absolute;bottom:28px;left:28px;z-index:1;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#fff6e8}.campaign-copy{position:relative;padding:48px 42px;align-self:center}.campaign-copy:before{content:'';position:absolute;inset:14px;border:1px solid #dbbc793b;pointer-events:none}.campaign-copy .eyebrow{display:block;color:#e3c997;font-size:12px;letter-spacing:2px}.campaign-copy h2{color:#fff6e8;font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.3;letter-spacing:-1px;margin:12px 0 18px}.campaign-copy>p{color:#f0dfd7;font-size:15px;line-height:1.8}.campaign-discount{display:flex;align-items:center;gap:18px;margin:22px 0 26px}.campaign-discount strong{font-size:52px;line-height:1.1;font-weight:500;color:#e5c889;letter-spacing:-2px}.campaign-discount>span{font-size:14px}.campaign-discount small{display:block;max-width:180px;font-size:11px;color:#e3cdbf;line-height:1.5;margin-top:4px}.campaign-button{margin-top:24px;border-color:#d9bc82;background:#f4e4c3;color:var(--wine);gap:24px;border-radius:0;min-height:46px}.campaign-button:hover{background:#fff4db}.campaign-copy .campaign-terms{font-size:12px;line-height:1.6;color:#e3cdbf;margin-top:16px}.campaign-discount+.campaign-button{margin-top:0}
html[data-experience~="zoom"] .product-image img,html[data-experience~="zoom"] .signature-image img,html[data-experience~="zoom"] .story-image img,html[data-experience~="zoom"] .gift-photo img,html[data-experience~="zoom"] .mosaic-card img{transition:transform 1.2s cubic-bezier(.2,.6,.3,1)!important}
@media(hover:hover) and (pointer:fine){html[data-experience~="zoom"] .product:hover .product-image img,html[data-experience~="zoom"] .signature-card:hover img,html[data-experience~="zoom"] .story-image:hover img,html[data-experience~="zoom"] .gift-photo:hover img,html[data-experience~="zoom"] .mosaic-card:hover img,html[data-experience~="zoom"] .campaign-edit:hover .campaign-art img{transform:scale(1.065)!important}}
html[data-experience~="shimmer"] .signature-image,html[data-experience~="shimmer"] .product-image{position:relative;overflow:hidden}html[data-experience~="shimmer"] .signature-image:after,html[data-experience~="shimmer"] .product-image:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff7da28 48%,transparent 65%);transform:translateX(-130%);pointer-events:none;z-index:1}@media(hover:hover){html[data-experience~="shimmer"] .product:hover .product-image:after,html[data-experience~="shimmer"] .signature-card:hover .signature-image:after{animation:jewel-light 1.3s ease-out}}@keyframes jewel-light{to{transform:translateX(130%)}}
html[data-experience~="motion"] .campaign-edit.experience-enter{opacity:0;translate:0 20px;transition:opacity .8s ease,translate .8s ease}html[data-experience~="motion"] .campaign-edit.experience-visible{opacity:1;translate:0 0}
html:not([data-experience~="zoom"]) .product-image img,html:not([data-experience~="zoom"]) .signature-image img,html:not([data-experience~="zoom"]) .story-image img,html:not([data-experience~="zoom"]) .gift-photo img,html:not([data-experience~="zoom"]) .mosaic-card img{transform:none!important}
html:not([data-experience~="tilt"]) .product,html:not([data-experience~="tilt"]) .mosaic-card,html:not([data-experience~="tilt"]) .signature-card,html:not([data-experience~="tilt"]) .style-card{--depth-x:0deg!important;--depth-y:0deg!important}
html:not([data-experience~="motion"]) *,html:not([data-experience~="motion"]) *:before,html:not([data-experience~="motion"]) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html:not([data-experience~="motion"]) .reveal,html:not([data-experience~="motion"]) .depth-enter{opacity:1!important;translate:none!important;transform:none!important}
@media(max-width:1180px){.campaign-edit{margin:36px 24px}}@media(max-width:700px){.campaign-edit{grid-template-columns:1fr;margin:28px 18px;min-height:0}.campaign-art{height:260px}.campaign-copy{padding:34px 28px}.campaign-copy h2{font-size:28px}.campaign-copy>p{font-size:15px}.campaign-discount strong{font-size:44px}.marquee-group>span{gap:20px;padding-right:32px;font-size:13px}.campaign-art-label{left:22px;bottom:22px}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}.marquee-window{overflow:auto}.marquee-group[aria-hidden=true],.marquee-pause{display:none}.campaign-edit.experience-enter{opacity:1!important;translate:none!important}.campaign-art img{transition:none!important}html .product-image:after,html .signature-image:after{animation:none!important}html .product-image img,html .signature-image img,html .story-image img,html .gift-photo img,html .mosaic-card img{transform:none!important;transition:none!important}}
html:not([data-experience~="motion"]) .marquee-group[aria-hidden=true],html:not([data-experience~="motion"]) .marquee-pause{display:none}html:not([data-experience~="motion"]) .marquee-window{overflow:auto}html:not([data-experience~="motion"]) .marquee-track{width:max-content}
/* Perspective zoom follows the pointer while the product text stays still. */
@media(hover:hover) and (pointer:fine){
html[data-experience~="motion"][data-experience~="tilt"][data-experience~="zoom"] .product:hover .product-image img,
html[data-experience~="motion"][data-experience~="tilt"][data-experience~="zoom"] .mosaic-card:hover img,
html[data-experience~="motion"][data-experience~="tilt"][data-experience~="zoom"] .signature-card:hover img,
html[data-experience~="motion"][data-experience~="tilt"][data-experience~="zoom"] .style-card:hover img{transform:perspective(900px) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg)) scale(1.09)!important;transition:transform .35s ease-out!important}
html[data-experience~="tilt"] .mosaic-card,html[data-experience~="tilt"] .signature-card,html[data-experience~="tilt"] .style-card{transform:none!important}
html[data-experience~="tilt"] .product:hover{transform:translateY(-3px);box-shadow:0 16px 32px #44202a1a}
html[data-experience~="tilt"] .product-image img,html[data-experience~="tilt"] .mosaic-card img,html[data-experience~="tilt"] .signature-card img,html[data-experience~="tilt"] .style-card img{transform-origin:50% 50%;backface-visibility:hidden}
}
@media(prefers-reduced-motion:reduce){html[data-experience] .product:hover .product-image img,html[data-experience] .mosaic-card:hover img,html[data-experience] .signature-card:hover img,html[data-experience] .style-card:hover img{transform:none!important;transition:none!important}}
/* Lift the photograph beyond its frame on desktop hover. */
@media(hover:hover) and (pointer:fine){
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .product{overflow:visible;position:relative;isolation:auto}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .product:hover{z-index:5;transform:translateY(-5px);box-shadow:0 22px 45px #26171b26}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .product-image{overflow:visible;perspective:1000px;z-index:1}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .product-image img{border-radius:7px 7px 0 0;position:relative;transition:transform .45s cubic-bezier(.2,.7,.25,1),box-shadow .45s!important}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .product:hover .product-image img{transform:perspective(1000px) translateY(-16px) translateZ(45px) rotateX(var(--depth-x,3deg)) rotateY(var(--depth-y,-3deg)) scale(1.09)!important;box-shadow:0 24px 35px #26171b35;border-radius:9px;z-index:2}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .product:hover .tag{z-index:3}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .signature-card{overflow:visible;position:relative}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .signature-image{overflow:visible;position:relative;z-index:1}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .signature-card:hover{z-index:5}
html[data-experience~="motion"][data-experience~="zoom"][data-experience~="tilt"] .signature-card:hover img{transform:perspective(1000px) translateY(-14px) translateZ(35px) rotateX(var(--depth-x,3deg)) rotateY(var(--depth-y,-3deg)) scale(1.08)!important;box-shadow:0 22px 35px #26171b30;border-radius:8px}
}
@media(prefers-reduced-motion:reduce){html[data-experience] .product:hover .product-image img,html[data-experience] .signature-card:hover img{transform:none!important;box-shadow:none!important}}
/* Quiet movement as the collection enters the viewport. */
html[data-experience~="motion"] .scroll-jewel{transition:opacity .8s ease,translate .9s cubic-bezier(.2,.7,.2,1);opacity:0;translate:0 24px}
html[data-experience~="motion"] .scroll-jewel.in-view{opacity:1;translate:0 0}
html[data-experience~="motion"][data-experience~="zoom"] .scroll-image-active:not(:hover) img{animation:scroll-jewel-zoom 1.8s cubic-bezier(.2,.6,.3,1) both}
@keyframes scroll-jewel-zoom{from{transform:scale(1.025)}to{transform:scale(1)}}
html[data-experience~="motion"][data-experience~="shimmer"] .product.scroll-light .product-image:after,html[data-experience~="motion"][data-experience~="shimmer"] .signature-card.scroll-light .signature-image:after{animation:jewel-light 1.7s ease-out}
html[data-experience~="motion"] .button.scroll-button{animation:scroll-button-light 1.5s ease-out}
@keyframes scroll-button-light{0%,100%{box-shadow:0 0 0 0 #b5905100}45%{box-shadow:0 0 0 5px #b5905120,0 6px 20px #44202a18}}
.back-to-top{position:fixed;bottom:22px;left:22px;z-index:40;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;background:var(--paper);color:var(--wine);box-shadow:0 6px 22px #44202a18;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s;cursor:pointer}.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}.back-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.back-to-top:hover{background:var(--wine);color:#f5e5c5}.back-to-top:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:700px){.back-to-top{bottom:18px;left:14px;width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){html .scroll-jewel{opacity:1!important;translate:none!important}html .scroll-image-active img,html .scroll-button,html .scroll-light .product-image:after{animation:none!important}.back-to-top{transition:none}}
.back-to-top{left:auto;right:22px}@media(max-width:700px){.back-to-top{left:auto;right:14px}}
/* Full-width mobile products and uncropped jewellery photographs. */
@media(max-width:700px){
.products,.spotlight-section .products,.shop-layout .products{grid-template-columns:minmax(0,1fr)!important;gap:22px;width:100%;max-width:100%}
.product{width:100%;max-width:100%;min-width:0;overflow:hidden}
.product-image{width:100%;aspect-ratio:1/1;max-height:none;height:auto;overflow:hidden;background:#faf7f1}
.product-image img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;transform:none!important;padding:12px;background:#faf7f1}
.product-info,.shop-layout .product-info{padding:18px!important}
.product-info h3,.shop-layout .product-info h3,.spotlight-section .product-info h3{font-size:17px!important;line-height:1.5}
.product-info .product-details{width:100%;min-height:46px}
.shop-layout,.shop-layout>section,.spotlight-section{min-width:0}
.shop-layout{padding-left:16px;padding-right:16px}
html[data-experience] .product:hover .product-image img{transform:none!important;box-shadow:none!important}
}

/* Keep conditional controls hidden even when component styles set display. */
[hidden]{display:none!important}
/* Product photographs should render as soon as the card enters the viewport. */
.spotlight-section .product{content-visibility:visible}
.product-details:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
