

:root{
  --rose:#3a4f8c;--ink:#141a2e;--navy:#1e2a4a;--heading:#141a2e;--body:#3b4052;--secondary:#6e7385;--inverse:#fff;
  --porcelain:#f7f7f9;--stone:#e6e8ef;--white:#fff;--product:#f2f3f6;--ivory:#eeeff4;--mist:#f0f2f8;--ice:#e3e8f3;--sky:#b9c6e4;--night:#101830;
  --border:#dcdfe7;--strong:#141a2e;--success:#4e7656;
  --metal-white:#e6e7ea;--metal-yellow:#e3c68b;--metal-rose:#e7b7a3;--metal-platinum:#cdd0d5;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"Lexend Zetta","Helvetica Neue",Arial,sans-serif;
  --u:calc(min(100vw, 1440px) / 1440);--m:1px;--px:16px;
}
@media (min-width:600px) and (max-width:1023.98px){:root{--px:24px}}
@media (min-width: 1024px){:root{--px:calc(80 * var(--u))}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--porcelain);color:var(--body);font-family:var(--serif);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
p,h1,h2,h3,h4,ul,ol,figure{margin:0;padding:0}
ul{list-style:none}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nv-w{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--px)}
@media (max-width: 1023.98px){.d-only,.flex-d-only{display:none!important}}
@media (min-width: 1024px){.m-only{display:none!important}}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:999;background:#fff;padding:8px 12px}
:focus-visible{outline:1.5px solid var(--rose);outline-offset:2px}

/* type */
.t-label{font-family:var(--sans);font-weight:400;font-size:10px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}
.t-cap{font-family:var(--sans);font-weight:400;font-size:9px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}
.t-nav{font-family:var(--sans);font-weight:400;font-size:10.5px;line-height:1.4;letter-spacing:.04em;text-transform:uppercase}
.t-h3{font-family:var(--sans);font-weight:400;font-size:15px;line-height:1.35;letter-spacing:.03em;text-transform:uppercase}
.t-body{font-family:var(--serif);font-size:16px;line-height:1.55}
.t-bodyl{font-family:var(--serif);font-size:18px;line-height:1.55}
.t-bodys{font-family:var(--serif);font-size:14px;line-height:1.5}
.t-link{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.4}
.t-price{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.4}
.t-ptitle{font-family:var(--serif);font-size:17px;line-height:1.35}
.t-pricel{font-family:var(--serif);font-size:26px;line-height:1.2}
.c-heading{color:var(--heading)}.c-body{color:var(--body)}.c-sec{color:var(--secondary)}.c-rose{color:var(--rose)}.c-white{color:#fff}.c-sky{color:var(--sky)}.c-navy{color:var(--navy)}
.nv-h{font-family:var(--serif);font-weight:300;line-height:1;color:var(--heading);letter-spacing:-.02em}
.nv-h em,.nv-h i{font-style:italic;color:var(--rose)}
.nv-h--inline{line-height:1.04;letter-spacing:-.015em}
.nv-h span{display:block}
.u-line{text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}

/* eyebrow */
.nv-eyebrow{display:flex;align-items:center;gap:10px;color:var(--rose)}
.nv-eyebrow svg{width:11px;height:11px;flex:none}
.nv-eyebrow--sm{gap:8px}.nv-eyebrow--sm svg{width:10px;height:10px}
@media (max-width: 1023.98px){.nv-eyebrow{gap:8px}.nv-eyebrow svg{width:10px;height:10px}.nv-eyebrow .t-label{font-size:9px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 34px;font-family:var(--sans);font-weight:500;font-size:10.5px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent;transition:background-color .2s,color .2s,border-color .2s;min-height:44px}
.btn--ink{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--ink:hover{background:var(--navy);border-color:var(--navy)}
.btn--ink.is-added{background:var(--rose);border-color:var(--rose)}
.btn--outline{border-color:var(--strong);color:var(--heading);padding:16px 33px}
.btn--outline:hover{background:var(--ink);color:#fff}
.btn--light{background:#fff;color:var(--heading)}
.btn--light:hover{background:var(--ink);color:#fff}
.btn--ow{border-color:#fff;color:#fff;padding:16px 33px}
.btn--ow:hover{background:#fff;color:var(--heading)}
.btn--block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.lnk{display:inline-flex;align-items:center;gap:6px;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.4;color:var(--heading);transition:gap .2s}
.lnk svg{width:14px;height:14px;opacity:0;transition:opacity .2s}
.lnk:hover{gap:10px}.lnk:hover svg{opacity:1}
.lnk--white{color:#fff}
.arrows{display:flex;gap:10px}
.arrow{width:44px;height:44px;border-radius:22px;border:1px solid var(--strong);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:18px;line-height:1;background:#fff;color:var(--heading);transition:background .2s,color .2s}
.arrow--next{background:var(--ink);color:#fff}
.arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.arrow[disabled]{opacity:.35;cursor:default}

/* chips & inputs */
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;background:#fff;border:1px solid var(--border);font-family:var(--serif);font-size:14px;line-height:1.5;color:var(--heading);white-space:nowrap;cursor:pointer}
.chip.is-on,.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.field{display:flex;flex-direction:column;gap:6px}
.input{width:100%;height:48px;padding:0 14px;background:#fff;border:1px solid var(--border);font-family:var(--serif);font-size:16px;color:var(--heading);border-radius:0;outline:0}
@media (min-width: 1024px){.input{font-size:14px}}
.input::placeholder{color:var(--secondary)}
.input:focus{border-color:var(--strong)}
textarea.input{height:88px;padding-top:14px;resize:vertical}
.check{width:18px;height:18px;border:1px solid var(--strong);flex:none;display:inline-flex;align-items:center;justify-content:center;background:#fff}
.check svg{width:12px;height:12px;opacity:0}
input:checked+.check,.is-on>.check{background:var(--ink)}
input:checked+.check svg,.is-on>.check svg{opacity:1}
.sel{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--border);background:transparent;position:relative}
.sel select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font-family:var(--sans);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--heading);padding-right:22px;cursor:pointer;outline:0}
.sel svg{width:14px;height:14px;position:absolute;right:14px;pointer-events:none}

/* octagon clips */
.oct15{clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%)}
.oct-tile{clip-path:polygon(10% 0,90% 0,100% 11.25%,100% 88.75%,90% 100%,10% 100%,0 88.75%,0 11.25%)}
.oct28{clip-path:polygon(28px 0,calc(100% - 28px) 0,100% 28px,100% calc(100% - 28px),calc(100% - 28px) 100%,28px 100%,0 calc(100% - 28px),0 28px)}
.oct20{clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 20px,100% calc(100% - 20px),calc(100% - 20px) 100%,20px 100%,0 calc(100% - 20px),0 20px)}
.oct30{clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% calc(100% - 30px),calc(100% - 30px) 100%,30px 100%,0 calc(100% - 30px),0 30px)}

/* media placeholder (store products without photos) */
.ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--product);color:#c9cdd8}
.ph{container-type:size}
.ph__logo{display:flex;align-items:center;gap:max(4px,3.2cqw);color:var(--heading)}
.ph__logo svg{width:max(10px,8cqw);height:auto;max-width:34px}
.ph__name{font-family:var(--sans);font-weight:300;font-size:clamp(6px,7cqw,26px);letter-spacing:.22em;line-height:1;white-space:nowrap}
.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* product card (Card/Product 4:208 / mobile 4:251) */
.card{display:flex;flex-direction:column;gap:10px;position:relative;min-width:0}
.card__media{position:relative;overflow:hidden}
.card__img{position:relative;display:block;aspect-ratio:1;background:var(--product);overflow:hidden}
.card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .35s,transform .5s}
.card__img .card__alt{opacity:0;transform:scale(1.04)}
.card:hover .card__img .card__alt{opacity:1}
.card__badges{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;gap:5px;align-items:flex-start;z-index:2}
.badge{background:#fff;padding:4px 8px;font-family:var(--sans);font-size:9px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--heading)}
.card__heart{position:absolute;right:14px;top:12px;width:18px;height:18px;z-index:3;color:var(--heading)}
.card__heart svg{width:18px;height:18px}
.card__heart.is-on svg path{fill:var(--heading)}
.card__qv{position:absolute;left:0;right:0;bottom:-40px;height:40px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:9px;letter-spacing:.06em;text-transform:uppercase;transition:bottom .25s;z-index:3;width:100%}
.card:hover .card__qv,.card__qv:focus{bottom:0}
.card__title{font-family:var(--serif);font-size:17px;line-height:1.35;color:var(--heading)}
.card__price{font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.4;color:var(--body);display:flex;gap:8px;align-items:baseline}
.card__price s{color:var(--secondary);font-size:14px}
/* cards in one row are stretched to the same height; the price + metal row sits at the bottom so it lines up whether the title takes 1, 2 or 3 lines */
.card__price{margin-top:auto}
.b1__item,.sv__item{display:flex;flex-direction:column}.b1__item>.card,.sv__item>.card{flex:1}
.metals{display:flex;gap:6px;height:12px}
.metal{width:12px;height:12px;border-radius:50%;border:1px solid var(--border);display:block}
a.metal:hover,.metal.is-on{box-shadow:0 0 0 1.5px var(--porcelain),0 0 0 2.5px var(--secondary)}
.metal--white{background:var(--metal-white)}.metal--yellow{background:var(--metal-yellow)}.metal--rose{background:var(--metal-rose)}.metal--platinum{background:var(--metal-platinum)}.metal--silver{background:#d9dbe0}
@media (max-width: 1023.98px){
  .card{gap:6px}
  .card__badges{left:8px;top:8px}
  .card__heart{right:8px;top:8px;width:16px;height:16px}.card__heart svg{width:16px;height:16px}
  .card__qv{height:30px;bottom:-30px}
  .card__title{font-size:14.5px}
  .card__price{font-size:14px}
  .metals{gap:6px;height:10px}.metal{width:10px;height:10px}
}

/* rail (horizontal scroller) */
.rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;position:relative}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start;flex:none}
/* the selected metal dot's ring (2.5px box-shadow) sits outside the card; a rail scrolls (overflow) so it clipped it — room inside the rail, cancelled by margins so nothing moves */
.rail{padding-bottom:4px;margin-bottom:-4px;padding-left:3px;margin-left:-3px;scroll-padding-left:3px}
.lightrail{position:relative;height:12px;flex:1}
.lightrail__track{position:absolute;left:0;right:0;top:6px;height:1px;background:var(--border)}
.lightrail__fill{position:absolute;left:0;top:6px;height:1px;background:var(--ink);width:38%;transition:width .3s}
.lightrail__mark{position:absolute;top:0;width:12px;height:12px;color:var(--rose);transform:translateX(-6px);left:38%;transition:left .3s}

/* sections common */
.sec{position:relative}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.sec-head__l{display:flex;flex-direction:column;gap:22px}
@media (max-width: 1023.98px){.sec-head{flex-direction:column;align-items:flex-start;gap:16px}.sec-head__l{gap:18px}}
.h52{font-size:52px;letter-spacing:-.02em}
@media (max-width: 1023.98px){.h52{font-size:34px;line-height:1.02;letter-spacing:-.02em}}

/* overlays */
.ov{position:fixed;inset:0;z-index:200;display:none}
.ov.is-open{display:block}
.ov__scrim{position:absolute;inset:0;background:rgba(20,20,23,.5);animation:nvfade .2s}
.ov__panel{position:absolute;background:var(--porcelain);overflow:auto;-webkit-overflow-scrolling:touch}
.ov__panel:focus{outline:none}
.ov__panel--right{top:0;right:0;bottom:0;width:460px;max-width:100%;animation:nvslide .28s ease}
.ov__panel--top{top:0;left:0;right:0;max-height:100vh;animation:nvdrop .25s ease}
.ov__panel--center{left:50%;top:50%;transform:translate(-50%,-50%);max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);animation:nvfade .2s}
.ov__close{position:absolute;width:36px;height:36px;background:#fff;display:flex;align-items:center;justify-content:center;z-index:5}
.ov__close svg{width:18px;height:18px}
@keyframes nvfade{from{opacity:0}to{opacity:1}}
@keyframes nvslide{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes nvdrop{from{transform:translateY(-16px);opacity:.4}to{transform:none;opacity:1}}
body.nv-lock{overflow:hidden}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;font-family:var(--serif);font-size:14px;z-index:400;display:none}
.toast.is-on{display:block;animation:nvfade .2s}

/* ===== header ===== */
.sec-header{position:sticky;top:0;z-index:100}
.hd{background:var(--porcelain);position:relative;z-index:95}
.hd__ann{height:32px;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-family:var(--serif);font-size:12.5px;line-height:1.5}
.hd__msg{position:absolute;left:0;right:0;text-align:center;opacity:0;transition:opacity .5s;padding:0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd__msg.is-on{opacity:1}
.hd__msg a{color:#fff}
.hd__util{height:58px;background:var(--stone);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px}
.hd__mleft{display:flex;gap:16px;width:80px;align-items:center}
.hd__icons{display:flex;gap:16px;align-items:center;justify-content:flex-end;width:80px}
.hd__ic{width:20px;height:20px;display:flex;align-items:center;justify-content:center;position:relative;color:var(--heading)}
.hd__ic svg{width:20px;height:20px}
.hd__mleft .hd__ic:first-child svg{width:22px;height:22px}
.hd__count{position:absolute;top:-6px;right:-9px;min-width:15px;height:15px;border-radius:8px;background:var(--rose);color:#fff;font-family:var(--sans);font-size:8px;display:flex;align-items:center;justify-content:center;padding:0 3px}
.hd__dot{position:absolute;top:-2px;right:-3px;width:6px;height:6px;border-radius:50%;background:var(--rose)}
.hd__logo{display:flex;align-items:center;gap:9.6px;color:var(--heading)}
.hd__logo svg{width:20.8px;height:20.8px}
.hd__logo span{font-family:var(--sans);font-weight:300;font-size:14.4px;letter-spacing:.22em}
@media (min-width: 1024px){
  .hd__ann{height:36px;font-size:14px}
  .hd__util{height:66px;padding:0 48px;border-bottom:0}
  .hd__contact{display:flex;width:330px;align-items:center;gap:12px;font-family:var(--serif);font-style:italic;font-size:14px;line-height:1.5;color:var(--heading)}
  .hd__contact .c-sec{font-style:normal}
  .hd__icons{width:330px;gap:22px}
  .hd__logo{gap:12px}.hd__logo svg{width:26px;height:26px}.hd__logo span{font-size:18px}
  .hd__nav{border-bottom:1px solid var(--border);background:var(--porcelain)}
  .hd__navlist{display:flex;justify-content:center;gap:36px}
  .hd__navli{position:static}
  .hd__navlink{display:block;padding:14px 0;color:var(--heading);position:relative}
  .hd__ul{position:absolute;left:50%;bottom:4.5px;height:1.5px;width:0;background:var(--rose);transform:translateX(-50%);transition:width .25s}
  .hd__navli:hover .hd__ul,.hd__navli.is-open .hd__ul{width:100%}
  .mega{position:absolute;left:0;right:0;top:100%;background:var(--porcelain);border-bottom:1px solid var(--border);display:none;z-index:2}
  .hd__navli.is-open .mega{display:block;animation:nvfade .18s}
  .mega__in{display:flex;gap:calc(56 * var(--u));padding-top:40px;padding-bottom:48px;align-items:flex-start}
  .mega__main{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:28px calc(44 * var(--u));align-items:flex-start}
  .mega__col{display:flex;flex-direction:column;gap:18px;min-width:calc(152 * var(--u))}
  .mega__col>.t-label{white-space:nowrap}
  .mega__links{display:flex;flex-direction:column;gap:17px}
  .mega__link{font-family:var(--serif);font-size:16px;line-height:1.4;color:var(--heading)}
  .mega__link:hover{color:var(--rose)}
  .mega__col--band{flex-basis:100%;padding-bottom:28px;border-bottom:1px solid var(--border)}
  .mega__col--band .mega__links{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px calc(34 * var(--u))}
  .mega__col--links2 .mega__links{display:grid;grid-template-columns:repeat(2,max-content);gap:10px 24px}
  .mega__col--links .mega__links{gap:10px}
  .mega__col{min-width:0!important}
  .mega__dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px;border:1px solid var(--border);vertical-align:0}
  .mega__shape{display:flex;flex-direction:column;align-items:center;gap:6px}
  .mega__glyph{width:38px;height:38px;border-radius:50%;background:var(--stone);display:flex;align-items:center;justify-content:center;color:var(--heading)}
  .mega__glyph .glyph{width:20px;height:20px}
  .mega__glyph{overflow:hidden}.mega__glyph .shape-photo{width:100%;height:100%;object-fit:cover}
  .mega__promo{margin-left:auto;flex:none;width:calc(230 * var(--u));min-width:200px;display:flex;flex-direction:column;gap:10px}
  .mega__pimg{display:block;width:100%;aspect-ratio:1;overflow:hidden}
  .mega__pimg img{width:100%;height:100%;object-fit:cover}
  .mega__promo .t-h3{margin-top:10px}
  .mega-scrim{position:fixed;inset:0;background:rgba(20,20,23,.5);z-index:90;display:none}
  .sec-header{z-index:100}
  .mega-scrim.is-on{display:block}
}
/* mobile menu */
.ov[data-ov=menu] .mm{left:0;top:0;bottom:0;width:100%;max-width:420px;display:flex;flex-direction:column;animation:nvfade .2s}
.mm__top{height:58px;flex:none;background:var(--stone);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;color:var(--heading)}
.mm__top button svg{width:22px;height:22px}.mm__top button:last-child svg{width:20px;height:20px}
.mm__logo{display:flex;align-items:center;gap:10px}.mm__logo svg{width:20px;height:20px}.mm__logo span{font-family:var(--sans);font-weight:300;font-size:15px;letter-spacing:.22em}
.mm__list{flex:1;padding:8px 16px;overflow:auto}
.mm__row{border-bottom:1px solid var(--border);padding:18px 0}
.mm__row summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.mm__row summary::-webkit-details-marker{display:none}
.mm__pm svg{width:16px;height:16px}
.mm__pm--m,.mm__row[open] .mm__pm--p{display:none}.mm__row[open] .mm__pm--m{display:block}
.mm__row ul{display:flex;flex-direction:column;gap:12px;padding-top:10px}
.mm__groups{display:flex;flex-direction:column;gap:20px;padding-top:16px}
.mm__grp ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.mm__all{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--heading);text-decoration:underline}
.mm__row .mega__dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px;border:1px solid var(--border)}
.mm__row li a{font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--body)}
.mm__row--link{display:flex;flex-direction:column;gap:14px}
.mm__row--link a{display:flex;justify-content:space-between;align-items:center;color:var(--heading)}
.mm__row--link svg{width:16px;height:16px}
.mm__foot{flex:none;background:var(--ivory);padding:22px 16px;display:flex;flex-direction:column;gap:14px}
.mm__foot a,.mm__foot button{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:14px;line-height:1.5;color:var(--heading)}
.mm__foot svg{width:18px;height:18px}

/* ===== footer ===== */
.ft{background:var(--stone)}
.fab{position:fixed;bottom:24px;z-index:150;box-shadow:0 10px 28px rgba(20,26,46,.22)}
.fab-call{left:24px;display:inline-flex;align-items:center;gap:10px;padding:14px 24px 14px 20px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--sans);font-weight:500;font-size:11px;line-height:1;letter-spacing:.08em;text-transform:uppercase;transition:background .2s}
.fab-call:hover{background:var(--navy)}.fab-call svg{width:16px;height:16px;flex:none}
.fab-top{right:24px;width:48px;height:48px;border-radius:50%;background:#fff;border:1px solid var(--border);color:var(--heading);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s,background .2s}
.fab-top.is-on{opacity:1;visibility:visible;transform:none}.fab-top:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.fab-top svg{width:16px;height:16px;transform:rotate(180deg)}
@media (max-width: 1023.98px){.fab{bottom:16px}.fab-call{left:16px;padding:12px 18px 12px 16px}.fab-top{right:16px;width:44px;height:44px}}
body.nv-lock .fab{visibility:hidden}
.ft__in{padding-top:44px;padding-bottom:28px;display:flex;flex-direction:column;gap:32px}
.ft__top{display:flex;flex-direction:column;gap:28px}
.ft__brand{display:flex;flex-direction:column;gap:16px}
.ft__logo{display:flex;align-items:center;gap:10.8px;color:var(--heading)}
.ft__logo svg{width:23.4px;height:23.4px}.ft__logo span{font-family:var(--sans);font-weight:300;font-size:16.2px;letter-spacing:.22em}
.ft__form{display:flex;height:48px}
.ft__input{flex:1;min-width:0;height:48px;padding:0 16px;background:#fff;border:1px solid var(--strong);font-family:var(--serif);font-size:16px;border-radius:0;outline:0}
.ft__input::placeholder{color:var(--secondary)}
.ft__join{background:var(--ink);color:#fff;padding:0 22px;font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.ft__join:hover{background:var(--navy)}
.ft__social{display:flex;gap:18px;color:var(--heading)}.ft__social svg{width:18px;height:18px}
.ft__contact{display:flex;flex-direction:column;gap:10px}
.ft__contact li{display:flex;gap:10px;align-items:flex-start;color:var(--heading)}.ft__contact svg{width:16px;height:16px;flex:none;margin-top:2px}
.ft__paytxt{width:46px;height:30px;background:#fff;border:1px solid var(--border);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:6px;letter-spacing:.02em;text-transform:uppercase;color:var(--heading);white-space:nowrap;overflow:hidden}
.ft__cols{display:flex;flex-direction:column}
.ft__col{border-bottom:1px solid var(--border);padding:16px 0}
.ft__col summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.ft__col summary::-webkit-details-marker{display:none}
.ft__pl svg{width:14px;height:14px}
.ft__col ul{display:flex;flex-direction:column;gap:12px;padding-top:14px}
.ft__col:not([open]) ul{display:none}
.ft__pay{display:flex;flex-wrap:wrap;gap:6px 4px}
.ft__pay img{width:46px;height:30px}
.ft__bottom{border-top:1px solid var(--border);padding-top:20px;display:flex;flex-direction:column;gap:8px}
.ft__copy{white-space:nowrap;overflow:hidden}
.ft__legal{display:flex;flex-wrap:wrap;gap:8px 18px}
.ft__ok{margin-top:4px}
@media (max-width: 1023.98px){.ft__bottom{display:grid}.ft__pay{order:0}}
@media (min-width: 1024px){
  .ft__in{padding-top:72px;padding-bottom:32px;padding-inline:64px;gap:56px;max-width:1440px}
  .ft__top{flex-direction:row;gap:72px}
  .ft__brand{width:380px;flex:none}
  .ft__logo{gap:12px}.ft__logo svg{width:26px;height:26px}.ft__logo span{font-size:18px}
  .ft__input{font-size:14px}
  .ft__cols{flex-direction:row;flex:1;gap:64px}
  .ft__col{flex:1;border:0;padding:0}
  .ft__col summary{pointer-events:none}
  .ft__pl{display:none}
  .ft__col ul{padding-top:12px;display:flex!important}
  .ft__pay{gap:6px 8px}.ft__pay img{width:52px;height:32px}.ft__paytxt{width:52px;height:32px}
  .ft__bottom{flex-direction:row;justify-content:space-between;align-items:center}
}

/* ===== overlays ===== */
.cd{display:flex;flex-direction:column}
.cd>[data-cart-drawer]{display:flex;flex-direction:column;min-height:100%}
.cd__head{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;border-bottom:1px solid var(--border);color:var(--heading)}
.cd__head svg{width:22px;height:22px}
.cd__body{flex:1;padding:18px 28px;display:flex;flex-direction:column;gap:4px}
.cd__meter{background:var(--mist);padding:14px 16px;display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:center;color:var(--heading)}
.cd__meter svg{width:18px;height:18px}
.cd__bar{grid-column:1/-1;height:3px;background:var(--border);position:relative}.cd__bar span{position:absolute;left:0;top:0;bottom:0;background:var(--navy)}
.cd__gift{background:#fff;border:1px solid var(--border);padding:14px;display:flex;gap:14px;align-items:center;margin-top:12px}
.cd__gimg{width:56px;height:56px;background:var(--product);display:flex;align-items:center;justify-content:center;color:var(--rose)}.cd__gimg svg{width:22px;height:22px}
.cd__ok{color:var(--success)}
.cd__foot{border-top:1px solid var(--border);padding:18px 28px 22px;display:flex;flex-direction:column;gap:12px;background:var(--porcelain);position:sticky;bottom:0}
.cd__sub{display:flex;justify-content:space-between;align-items:center}
.cd__view{align-self:center}
.cd__empty{padding:32px 28px;display:flex;flex-direction:column;gap:22px;position:relative}
.cd__x{left:auto;right:22px;top:26px}
.cd__eblock{display:flex;flex-direction:column;align-items:center;gap:14px;padding:48px 0 24px;text-align:center}
.cd__eh{font-size:32px;line-height:1.2}
.cd__eblock .t-bodys{max-width:300px}
.cd__picks{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cd__pick{display:flex;flex-direction:column;gap:6px}
.cd__pimg{position:relative;height:160px;background:var(--product);overflow:hidden}.cd__pimg img{width:100%;height:100%;object-fit:cover}
.cl{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border)}
.cl__img{position:relative;width:var(--s,84px);height:var(--s,84px);flex:none;background:var(--product);overflow:hidden}.cl__img img{width:100%;height:100%;object-fit:cover}
.cl__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.cl__top{display:flex;justify-content:space-between;gap:12px}
.cl__act{display:flex;justify-content:space-between;align-items:center;padding-top:6px}
.qty{display:inline-flex;align-items:center;gap:14px;border:1px solid var(--border);padding:7px 12px;color:var(--heading)}
.qty button{width:14px;height:14px;display:flex;align-items:center;justify-content:center}.qty svg{width:14px;height:14px}
.qty button{position:relative}.qty button::after{content:"";position:absolute;inset:-14px}
.cl.is-busy{opacity:.5;pointer-events:none}
@media (max-width: 1023.98px){.ov__panel--right{width:100%}.cd__head,.cd__body,.cd__foot{padding-inline:16px}}

.srch{padding:24px 16px 32px}
.srch__close{right:16px;top:16px}
.srch__bar{border-bottom:1px solid var(--strong);padding-bottom:12px;margin-right:48px}
.srch__input{width:100%;border:0;background:transparent;font-family:var(--serif);font-weight:300;font-size:28px;color:var(--heading);outline:0;padding:0}
.srch__input::-webkit-search-cancel-button{display:none}
.srch__res{display:flex;flex-direction:column;gap:28px;margin-top:24px}
.srch__sug{display:flex;flex-direction:column;gap:14px}
.srch__pop{display:flex;flex-direction:column;gap:14px}
.srch__sh{margin-top:12px}
.srch__shapes{display:flex;gap:8px;flex-wrap:wrap}
@media (min-width: 1024px){.srch__shapes{flex-wrap:wrap}.srch__input{line-height:1.1}.srch{padding-top:28px}}
.srch__prod{display:flex;flex-direction:column;gap:18px;min-width:0}
.srch__phead{display:flex;justify-content:space-between;align-items:center}
.srch__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.srch__row .card:nth-child(3){display:none}
@media (min-width: 1024px){
  .srch{padding:36px 80px 48px}
  .srch__close{right:24px;top:30px}
  .srch__bar{margin-right:0;padding-bottom:14px}
  .srch__input{font-size:40px}
  .srch__res{flex-direction:row;gap:56px;margin-top:28px}
  .srch__sug{width:250px;flex:none}
  .srch__prod{flex:1;max-width:920px}
  .srch__row{grid-template-columns:repeat(3,300px);gap:20px}
  .srch__row .card:nth-child(3){display:flex}
}

.si{padding:32px;display:flex;flex-direction:column;gap:20px}
.si form{display:flex;flex-direction:column;gap:20px}
.si__close{right:24px;top:26px}
.si__h{font-size:40px}
.si__or{display:flex;align-items:center;gap:12px}.si__or span{flex:1;height:1px;background:var(--border)}
.si__ben{background:var(--ivory);padding:18px;display:flex;flex-direction:column;gap:10px}
.si__li{display:flex;gap:10px;align-items:center;font-family:var(--serif);font-size:14px;line-height:1.5;color:var(--body)}
.si__li svg{width:9px;height:9px;color:var(--rose);flex:none}
@media (max-width: 1023.98px){.si{padding:24px 16px}.si__h{font-size:34px}}

.su{display:flex;background:#fff;width:840px}
.su__img{width:420px;flex:none}.su__img img{width:100%;height:100%;object-fit:cover;min-height:540px}
.su__body{width:420px;padding:48px 44px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;position:relative}
.su__body form{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}
.su__close{right:8px;top:8px}
.su__h{font-size:32px;line-height:1.18}
.su__checks{display:flex;gap:16px}
.su__ck{display:flex;gap:8px;align-items:center;cursor:pointer}.su__ck .check{width:16px;height:16px}
.su__fine{text-align:center}
@media (max-width: 1023.98px){.su{width:358px;flex-direction:column}.su__img{width:100%;height:220px}.su__img img{min-height:0}.su__body{width:100%;padding:28px 20px}.su__h{font-size:28px}.su__checks{gap:12px;flex-wrap:wrap;justify-content:center}}

.sg{width:760px;padding:40px 44px;display:flex;flex-direction:column;gap:24px}
.gd{width:620px}.gd__tr{grid-template-columns:70px 110px 1fr}.gd__two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gd__two>div{display:flex;flex-direction:column;gap:8px}
@media (max-width: 1023.98px){.gd{width:100%}.gd__two{grid-template-columns:1fr}.gd__tr{grid-template-columns:52px 90px 1fr}}
.sg__close{right:12px;top:12px}
.sg__h{font-size:40px}
.sg__tabs{display:flex;gap:8px;flex-wrap:wrap}
.sg__content{display:flex;gap:36px}
.sg__pane{width:400px;display:none}.sg__pane.is-on{display:block}
.sg__tr{display:grid;grid-template-columns:100px 150px 150px;padding:11px 0;border-bottom:1px solid var(--border);align-items:center}
.sg__tr>span:first-child{padding-left:8px}
.sg__th{padding:10px 0;border-bottom-color:var(--strong)}.sg__th>span:first-child{padding-left:0}
.sg__tr.is-pop{background:var(--ivory)}
.sg__tip{width:236px;display:flex;flex-direction:column;gap:16px}
.sg__dia{position:relative;width:180px;height:180px}.sg__dia img{position:absolute;left:5px;top:5px;width:170px;height:170px}
.sg__line{position:absolute;left:15px;top:90px;width:150px;height:1px;background:var(--rose)}
.sg__mm{position:absolute;left:62px;top:96px}
.sg__ctas{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
@media (max-width: 1023.98px){.sg{width:358px;padding:28px 16px}.sg__h{font-size:30px}.sg__content{flex-direction:column;gap:20px}.sg__pane{width:100%}.sg__tr{grid-template-columns:70px 1fr 1fr}.sg__tip{width:100%}}

.mdl{display:flex;background:var(--porcelain)}
.mdl__img{position:relative;flex:none;overflow:hidden}.mdl__img img{width:100%;height:100%;object-fit:cover}
.mdl--hint{width:840px}.mdl--hint .mdl__img{width:360px;min-height:600px}
.mdl--appt{width:900px}.mdl--appt .mdl__img{width:380px;min-height:660px}
.mdl__form{flex:1;padding:44px 44px 40px;display:flex;flex-direction:column;gap:18px;position:relative}
.mdl__form form{display:flex;flex-direction:column;gap:18px}
.mdl--appt .mdl__form{padding:40px 44px}
.mdl__close{right:12px;top:12px}
.mdl__h{font-size:38px}
.mdl__row{display:flex;gap:12px}.mdl__row .field{flex:1}
.mdl__chips{display:flex;gap:8px;flex-wrap:wrap}
.mdl__days{display:flex;gap:8px;flex-wrap:wrap}
.day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;background:#fff;border:1px solid var(--border);cursor:pointer;min-width:52px}
.day .t-cap{color:var(--secondary)}.day b{font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.35;color:var(--heading)}
.day.is-on{background:var(--ink);border-color:var(--ink)}.day.is-on .t-cap,.day.is-on b{color:#fff}
@media (max-width: 1023.98px){.mdl{width:358px!important;flex-direction:column}.mdl__img{width:100%!important;min-height:0!important;height:200px}.mdl__form{padding:28px 16px}.mdl__h{font-size:30px}.mdl__row{flex-direction:column}}

.qv{width:880px;background:var(--porcelain);padding:0}
.qv__close{right:12px;top:12px}
.qv__in{display:flex}
.qv__img{width:420px;aspect-ratio:1;background:var(--product);position:relative;flex:none}.qv__img img{width:100%;height:100%;object-fit:cover}
.qv__info{flex:1;padding:40px 36px;display:flex;flex-direction:column;gap:16px}
@media (max-width: 1023.98px){.qv{width:358px}.qv__in{flex-direction:column}.qv__img{width:100%}.qv__info{padding:20px 16px}}

/* ===== hero ===== */
.hero{position:relative;background:var(--porcelain);overflow:hidden}
.hero{container-type:inline-size}
.hero__d,.hero__d *{--hu:calc(min(100cqw, 1920px) / 1440);--tu:calc(min(100cqw, 1440px) / 1440)}
.hero__txt{position:absolute;left:calc((100cqw - 1440 * var(--tu)) / 2);top:calc(410 * (var(--hu) - var(--tu)));width:calc(1440 * var(--tu));height:calc(820 * var(--tu));z-index:2}
.hero__d{position:relative;height:calc(820 * var(--hu));max-width:1920px;margin:0 auto}
.hero__photo{position:absolute;left:0;top:calc(-265 * var(--hu));width:100%;height:calc(1160 * var(--hu));object-fit:cover}
.hero__wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,248,245,.94) 0,rgba(250,248,245,.78) 34%,rgba(250,248,245,0) 56%,rgba(250,248,245,0) 100%)}
.hero__eb{position:absolute;left:calc(80 * var(--tu));top:calc(150 * var(--tu))}
.hero__eb .nv-eyebrow svg{width:12px;height:12px}
.hero__h{font-family:var(--serif);font-weight:300;color:var(--heading)}
.hero__d .hero__h{position:absolute;left:calc(72 * var(--tu));top:calc(188 * var(--tu));width:calc(560 * var(--tu));height:calc(270 * var(--tu));font-size:calc(128 * var(--tu));line-height:.92;letter-spacing:calc(-3.84 * var(--tu))}
.hero__l1,.hero__l2{display:block;white-space:nowrap}
.hero__l2{font-style:italic;color:var(--rose)}
.hero__d .hero__l2{position:absolute;left:calc(128 * var(--tu));top:calc(118 * var(--tu))}
.hero__body{position:absolute;left:calc(80 * var(--tu));top:calc(470 * var(--tu));width:calc(400 * var(--tu));font-size:max(14px,calc(18 * var(--tu)));line-height:1.55;color:var(--body)}
.hero__ctas{position:absolute;left:calc(80 * var(--tu));top:calc(580 * var(--tu));display:flex;gap:28px;align-items:center}
.hero__tabs{position:absolute;left:calc(80 * var(--tu));top:calc(680 * var(--tu));display:flex;gap:26px}
.hero__tab{font-family:var(--sans);font-size:9px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--secondary);display:flex;flex-direction:column;align-items:flex-start;gap:0;position:relative;padding-bottom:9.5px;white-space:nowrap}
.hero__tab span{display:inline}
.hero__tabs .hero__tab{flex-direction:row}
.hero__tab i{position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--rose);transition:width .3s}
.hero[data-slide="1"] .hero__tab[data-go="1"],.hero[data-slide="2"] .hero__tab[data-go="2"],.hero[data-slide="3"] .hero__tab[data-go="3"]{color:var(--heading)}
.hero[data-slide="1"] .hero__tab[data-go="1"] i,.hero[data-slide="2"] .hero__tab[data-go="2"] i,.hero[data-slide="3"] .hero__tab[data-go="3"] i{width:40px}
.hero__note{position:absolute;background:rgba(255,255,255,.94);box-shadow:0 16px 18px rgba(30,30,31,.1);padding:16px 18px;width:calc(250 * var(--hu));display:flex;flex-direction:column;gap:6px;opacity:0;transition:opacity .45s;pointer-events:none}
.hero__nt{font-family:var(--serif);font-weight:300;font-size:max(18px,calc(24 * var(--hu)));line-height:1.1;color:var(--heading)}
.hero__note .t-bodys{width:calc(214 * var(--hu))}
.hero__d .hero__note[data-n="1"]{left:calc(1001.5 * var(--hu));top:calc(310 * var(--hu))}
.hero__d .hero__note[data-n="2"]{left:calc(974 * var(--hu));top:calc(435 * var(--hu))}
.hero__d .hero__note[data-n="3"]{left:calc(904 * var(--hu));top:calc(550 * var(--hu))}
.hero[data-slide="1"] [data-n="1"],.hero[data-slide="2"] [data-n="2"],.hero[data-slide="3"] [data-n="3"]{opacity:1}
.loupe{position:absolute;width:calc(230 * var(--hu));height:calc(230 * var(--hu));transition:left .7s cubic-bezier(.6,0,.2,1),top .7s cubic-bezier(.6,0,.2,1)}
.hero[data-slide="1"] .hero__d .loupe{left:calc(747.5 * var(--hu));top:calc(245 * var(--hu))}
.hero[data-slide="2"] .hero__d .loupe{left:calc(720 * var(--hu));top:calc(370 * var(--hu))}
.hero[data-slide="3"] .hero__d .loupe{left:calc(650 * var(--hu));top:calc(485 * var(--hu))}
.loupe__lens{position:absolute;inset:0;border-radius:50%;background:#fff;overflow:hidden}
.loupe__macro{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}
.hero[data-slide="1"] .loupe__macro[data-m="1"],.hero[data-slide="2"] .loupe__macro[data-m="2"],.hero[data-slide="3"] .loupe__macro[data-m="3"]{opacity:1}
.loupe__glass{position:absolute;inset:0;width:100%;height:100%}
.loupe__rim{position:absolute;left:-17.391%;top:-9.565%;width:134.783%;height:134.783%;max-width:none;pointer-events:none}
.loupe__rimline{position:absolute;left:-6.087%;top:-6.087%;width:112.174%;height:112.174%;max-width:none;pointer-events:none}
.loupe__badge{position:absolute;left:50%;top:-26px;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:20px;padding:5px 9px;font-family:var(--sans);font-size:9px;line-height:1.4;letter-spacing:.06em;z-index:2;white-space:nowrap}
.hero__cert{position:absolute;left:calc(581 * var(--hu));top:calc(740 * var(--hu));width:calc(854 * var(--hu));min-height:68px;background:rgba(255,255,255,.95);padding:16px 24px;display:flex;gap:28px;align-items:center;color:inherit}
.hero__cert-h{display:flex;gap:8px;align-items:center;white-space:nowrap}.hero__cert-h svg{width:10px;height:10px;color:var(--rose)}
.cell{display:flex;flex-direction:column;gap:0;min-width:0}
.cell--t{flex:1}.cell--t .t-body{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width: 1024px) and (max-width: 1279.98px){.hero__cert{gap:18px;padding:14px 18px}.hero__cert-h{white-space:normal;max-width:132px;align-items:flex-start}.cell--t{min-width:0}}
.hero__m{position:relative}
.hero__mt{padding:24px 16px 0;height:200px;position:relative}
.hero__mt .nv-eyebrow{position:absolute;left:16px;top:24px}
.hero__h--m{position:absolute;left:12px;top:46px;font-size:72px;line-height:.92;letter-spacing:-2.16px}
.hero__h--m .hero__l2{position:absolute;left:108px;top:66px}
.mstage{position:relative;container-type:inline-size;width:100%}
.mstage *{--m:calc(100cqw / 390)}
.hero__win{aspect-ratio:390/420;overflow:hidden}
.hero__mphoto{position:absolute;left:calc(-215 * var(--m));top:calc(-140 * var(--m));width:calc(760.32 * var(--m));height:calc(612.48 * var(--m));max-width:none;object-fit:cover}
.hero__mtabs{position:absolute;left:calc(12 * var(--m));top:calc(12 * var(--m));background:rgba(255,255,255,.9);padding:8px 10px;display:flex;gap:14px;z-index:3}
.hero__mtabs .hero__tab{padding-bottom:6.5px}
.hero__m .hero__tab i{display:block}
.hero[data-slide="1"] .hero__mtabs [data-go="1"] i,.hero[data-slide="2"] .hero__mtabs [data-go="2"] i,.hero[data-slide="3"] .hero__mtabs [data-go="3"] i{width:24px}
.loupe--m{width:calc(124 * var(--m));height:calc(124 * var(--m))}
.hero[data-slide="1"] .loupe--m{left:calc(178.4 * var(--m));top:calc(128 * var(--m))}
.hero[data-slide="2"] .loupe--m{left:calc(163.88 * var(--m));top:calc(194 * var(--m))}
.hero[data-slide="3"] .loupe--m{left:calc(126.92 * var(--m));top:calc(254.72 * var(--m))}
.loupe--m .loupe__rim{left:-22.581%;top:-12.903%;width:145.161%;height:145.161%}
.loupe--m .loupe__badge{top:-18px;padding:4px 7px}
.hero__note--m{padding:10px 12px;gap:3px;width:auto;max-width:calc(200 * var(--m));box-shadow:none;background:rgba(255,255,255,.95)}
.hero__note--m .hero__nt{font-size:18px}
.hero__note--m[data-n="1"]{left:calc(174.4 * var(--m));top:calc(270 * var(--m))}
.hero__note--m[data-n="2"]{left:calc(149.38 * var(--m));top:calc(336 * var(--m))}
.hero__note--m[data-n="3"]{left:calc(262 * var(--m));top:calc(318 * var(--m))}
.hero__note--m[data-n="3"]{left:auto;right:calc(12 * var(--m))}
.hero__mcert{position:relative;margin:-30px 16px 0;background:#fff;border:1px solid var(--border);padding:12px 16px;display:flex;justify-content:space-between;gap:12px;font-family:var(--serif);font-size:15px;line-height:1.55;z-index:2}
.hero__mb{padding:14px 16px 25px;display:flex;flex-direction:column;gap:0;align-items:stretch}
.hero__mb .btn{margin-top:2px}
.hero__mlink{margin-top:14px}
.hero__mlink{align-self:center}
@media (max-width: 1023.98px){.hero__m .hero__tab{font-size:9px}}

/* ===== clear price ===== */
.cp__in{padding-top:72px;padding-bottom:72px;display:flex;flex-direction:column;gap:22px}
.cp__intro{display:flex;flex-direction:column;gap:22px}
.cp__h{font-size:38px;line-height:1.02;letter-spacing:-.76px}
.prism{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.prism__row{display:flex;justify-content:space-between;align-items:baseline}
.prism__bar{height:5px;background:var(--stone);position:relative}
.prism__bar--n{background:transparent}.prism__bar--n span{position:absolute;left:0;top:0;bottom:0;background:var(--rose)}
.prism__keep{font-family:var(--serif);font-weight:300;font-style:italic;font-size:18px;line-height:1.35;color:var(--rose);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cp__cards{min-width:0;display:flex;flex-direction:column;gap:28px}
.cp__rail{gap:16px;margin-right:calc(var(--px) * -1);padding-right:var(--px)}
.cp__rail>.card{width:171px}
.cp__nav{display:flex;align-items:center;gap:24px}
.empty{padding:40px 0}
@media (min-width: 1024px){
  .cp__in{flex-direction:row;gap:calc(40 * var(--u));padding-top:120px;padding-bottom:120px}
  .cp__intro{width:calc(300 * var(--u));flex:none;gap:26px}
  .cp__h{font-size:52px;line-height:1;letter-spacing:-1.04px}
  .prism{padding-top:18px;gap:10px}.prism__bar{height:6px}.prism__keep{font-size:20px}
  .cp__cards{flex:1}
  .cp__rail{gap:calc(20 * var(--u));margin-right:0;padding-right:0}
  .cp__rail>.card{width:calc(300 * var(--u))}
}

/* ===== gift band ===== */
.gift{background:var(--ivory)}
.gift__d{position:relative;height:calc(620 * var(--u));max-width:1440px;margin:0 auto}
.gift__d .gift__photo{position:absolute;left:calc(80 * var(--u));top:calc(60 * var(--u));width:calc(700 * var(--u));height:calc(500 * var(--u));object-fit:cover}
.gift__string{position:absolute;left:calc(660 * var(--u));top:calc(380 * var(--u));width:calc(120 * var(--u));height:calc(70 * var(--u))}
.gift__tag{position:absolute;transform-origin:8% 46%}
.gift__d .gift__tag{left:calc(610.82 * var(--u));top:calc(418.86 * var(--u));width:calc(270 * var(--u));height:calc(168 * var(--u))}
.gift__tagin{position:absolute;inset:0;transform:rotate(7deg);animation:nvswing 4.5s ease-in-out infinite;transform-origin:8% 46%}
.gift__d .gift__tagsvg{position:absolute;left:calc(-12.559999999999999 * var(--u));top:calc(5.4944 * var(--u));width:calc(285.048 * var(--u));height:calc(173.0048 * var(--u));max-width:none}
.gift__d .gift__eye{position:absolute;left:calc(18 * var(--u));top:calc(59 * var(--u));width:calc(10 * var(--u));height:calc(10 * var(--u))}
.gift__d .gift__tagcopy{position:absolute;left:calc(58 * var(--u));top:calc(30 * var(--u));display:flex;flex-direction:column;gap:4px}
.gift__tagt{font-family:var(--serif);font-size:max(16px,calc(21 * var(--u)));line-height:1.35;color:var(--heading)}
.gift__tagv{font-family:var(--serif);font-style:italic;font-size:14px;line-height:1.4;color:var(--secondary)}
@keyframes nvswing{0%,100%{transform:rotate(7deg)}50%{transform:rotate(3deg)}}
.gift__copy{position:absolute;left:calc(880 * var(--u));top:calc(130 * var(--u));width:calc(470 * var(--u));display:flex;flex-direction:column;gap:26px;align-items:flex-start}
.gift__h{font-size:calc(54 * var(--u));letter-spacing:calc(-1.08 * var(--u))}
@media (min-width: 1024px){.gift__h{font-size:max(40px,calc(54 * var(--u)))}}
.gift__body{max-width:calc(420 * var(--u))}
.gift__ms{aspect-ratio:390/440}
.gift__ms .gift__photo{position:absolute;left:calc(16 * var(--m));top:calc(40 * var(--m));width:calc(358 * var(--m));height:calc(320 * var(--m));object-fit:cover}
.gift__ms .gift__tag{left:calc(145.63 * var(--m));top:calc(289.01 * var(--m));width:calc(230 * var(--m));height:calc(148 * var(--m))}
.gift__ms .gift__tagin{transform:rotate(6deg)}
.gift__ms .gift__tagsvg{position:absolute;left:calc(-8.559999999999999 * var(--m));top:calc(5.4963999999999995 * var(--m));width:calc(237.06 * var(--m));height:calc(145.0008 * var(--m));max-width:none}
.gift__ms .gift__eye{position:absolute;left:calc(14 * var(--m));top:calc(50 * var(--m));width:calc(8 * var(--m));height:calc(8 * var(--m))}
.gift__ms .gift__tagcopy{position:absolute;left:calc(46 * var(--m));top:calc(24 * var(--m));display:flex;flex-direction:column;gap:3px}
.gift__ms .gift__tagt{font-size:18px}.gift__ms .gift__tagv{font-size:13px}
.gift__m{max-width:600px;margin:0 auto}
.gift__mcopy{padding:0 16px 23px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.gift__mcopy .gift__h{font-size:34px;line-height:1.02;letter-spacing:-.68px}

/* ===== popular styles ===== */
.sty{background:var(--mist)}
.sty__in{padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;gap:28px}
.sty__row{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--px) * -1);padding-right:var(--px)}
.sty__row::-webkit-scrollbar{display:none}
.sty__tile{position:relative;flex:none;width:130px;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--heading)}
.sty__pool{position:absolute;left:-5px;top:122px;width:140px;height:40px;max-width:none}
.sty__img{position:relative;display:block;width:130px;height:130px;background:var(--product);overflow:hidden;margin-bottom:20px}
.sty__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sty__name{font-family:var(--serif);font-weight:300;font-size:19px;line-height:1.2;text-align:center}
@media (min-width: 1024px){
  .sty__in{padding-top:110px;padding-bottom:120px;gap:56px}
  .sty__row{gap:calc(16 * var(--u));overflow:visible;margin:0;padding:0}
  /* 7 tiles (13 Oct): 7 × u(168) + 6 gaps of u(16) fill the 1280 content width that 6 × u(200) used to */
  .sty__row{justify-content:space-between}
  .sty__tile{width:calc(168 * var(--u));height:calc(calc(168 * var(--u)) + 80px);gap:0}
  .sty__glow{position:absolute;left:-8%;top:calc(152 * var(--u));width:116%;height:calc(68.88 * var(--u));max-width:none;transition:opacity .3s}
  .sty__glow--h{opacity:0}
  .sty__img{width:calc(168 * var(--u));height:calc(168 * var(--u));margin:0;transition:transform .3s}
  .sty__name{position:absolute;top:calc(calc(168 * var(--u)) + 36px);font-size:24px}
  .sty__tile .t-cap{position:absolute;top:calc(calc(168 * var(--u)) + 68px)}
  .sty__tile:hover .sty__img{transform:translateY(-8px)}
  .sty__tile:hover .sty__name{color:var(--rose)}
  .sty__tile:hover .sty__glow--h{opacity:1}.sty__tile:hover .sty__glow:not(.sty__glow--h){opacity:0}
  .sty .sec-head{align-items:flex-end}
}

/* ===== 70% ===== */
.p70{background:var(--ice)}
.p70__d{position:relative;height:calc(600 * var(--u));max-width:1440px;margin:0 auto}
@media (min-width: 1024px) and (max-width: 1279.98px){.p70__d{height:calc(calc(600 * var(--u)) + 28px)}}
.p70__photo{position:absolute;left:calc(700 * var(--u));top:calc(50 * var(--u));width:calc(660 * var(--u));height:calc(500 * var(--u));object-fit:cover}
.p70__eb{position:absolute;left:calc(80 * var(--u));top:calc(96 * var(--u))}
.p70__big{font-family:var(--serif);font-weight:300;color:var(--navy);line-height:.9}
.p70__d .p70__big{position:absolute;left:calc(70 * var(--u));top:calc(150 * var(--u));font-size:calc(240 * var(--u));letter-spacing:calc(-14.4 * var(--u))}
.p70__upto{position:absolute;left:calc(531 * var(--u));top:calc(196 * var(--u))}
.p70__h{font-size:28px;line-height:1.02;letter-spacing:-.56px;color:var(--navy)}
.p70__d .p70__h{position:absolute;left:calc(80 * var(--u));top:calc(380 * var(--u));font-size:max(30px,calc(40 * var(--u)));line-height:1;letter-spacing:-.8px}
/* button + note share one row that ends 26px before the photo (u(700)); the note wraps beside the button, and drops under it when the row is too narrow */
.p70__act{position:absolute;left:calc(80 * var(--u));top:calc(486 * var(--u));width:calc(calc(620 * var(--u)) - 26px);display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px}
.p70__btn{flex:none}
.p70__note{flex:1 1 200px;min-width:0;margin:0}
.p70__m{padding:64px 16px;display:flex;flex-direction:column;gap:16px}
.p70__mrow{display:flex;gap:8px;align-items:flex-start}
.p70__mrow .p70__big{font-size:150px;letter-spacing:-7.5px}
.p70__mrow .t-cap{padding-top:30px}
.p70__mphoto{width:100%;height:260px;object-fit:cover}

/* ===== spectrum ===== */
.spec{background:var(--night);overflow:hidden;color:#fff}
.spec__stage{position:relative;max-width:1440px;margin:0 auto;height:820px}
.spec__glow{position:absolute;left:calc(-80 * var(--m));top:calc(55 * var(--m));width:calc(550 * var(--m));height:calc(550 * var(--m));pointer-events:none;background:radial-gradient(circle closest-side,rgba(185,198,228,.6) 0,rgba(185,198,228,.6) 40%,rgba(185,198,228,.44) 58%,rgba(185,198,228,.3) 68%,rgba(185,198,228,.08) 86%,rgba(185,198,228,0) 100%)}
.spec__stage{container-type:inline-size}.spec__stage *{--m:calc(100cqw / 390)}
.spec__eb{position:absolute;left:16px;top:56px}
.spec__h{position:absolute;left:16px;top:80px;font-size:36px;color:#fff}.spec__h em{color:var(--sky)}
.spec__shape{display:none}
.spec[data-shape=round] [data-s=round],.spec[data-shape=oval] [data-s=oval],.spec[data-shape=pear] [data-s=pear],.spec[data-shape=emerald] [data-s=emerald],.spec[data-shape=princess] [data-s=princess],.spec[data-shape=cushion] [data-s=cushion],.spec[data-shape=marquise] [data-s=marquise],.spec[data-shape=radiant] [data-s=radiant],.spec[data-shape=asscher] [data-s=asscher],.spec[data-shape=heart] [data-s=heart]{display:block;animation:nvfade .4s}
.spec__outline{position:absolute;top:220px;height:220px;left:50%;transform:translateX(-50%);width:auto;max-width:none}
.spec__facet{position:absolute;top:268px;height:124px;left:50%;transform:translateX(-50%);width:auto;max-width:none}
.spec__glint{position:absolute;left:calc(223.51 * var(--m));top:259.6px;width:20px;height:20px}
.spec__outline--g{width:220px}.spec__facet--g{width:124px}
.spec__stone{position:absolute;top:165px;left:50%;transform:translateX(-50%);width:290px;height:290px;max-width:none;object-fit:cover;-webkit-mask-image:radial-gradient(closest-side,#000 48%,transparent 100%);mask-image:radial-gradient(closest-side,#000 48%,transparent 100%)}
.spec__stone~.spec__glint{left:calc(50% + 38px);top:212px}
.spec__stonelink{display:contents}.spec__stonelink .spec__stone{cursor:pointer}
.spec__stonelink~.spec__glint{left:calc(50% + 38px);top:212px}
.spec__name{position:absolute;left:16px;top:460px;font-family:var(--serif);font-weight:300;font-style:italic;font-size:64px;line-height:1;letter-spacing:-1.28px;color:#fff}
.spec__facts{position:absolute;left:16px;top:536px;width:calc(100% - 32px);display:flex;flex-direction:column;gap:29px}
.spec__facts .t-bodyl{font-size:16px}
.spec__chips{position:absolute;left:16px;right:16px;top:630px;height:140px;display:grid;grid-template-columns:repeat(5,1fr);row-gap:12px}
.spec__chip{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;position:relative;height:56px}
.spec__chip .glyph{width:28px;height:28px;stroke-opacity:.55}
.spec__ph{width:28px;height:28px;border-radius:50%;overflow:hidden;flex:none;display:block;background:var(--stone)}.spec__ph img{width:100%;height:100%;object-fit:cover;display:block}.spec__ph .glyph{width:100%;height:100%}.spec__ph{opacity:.55;transition:opacity .2s}.spec__chip:hover .spec__ph{opacity:.85}
.spec__lbl{font-family:var(--serif);font-size:12px;line-height:1.3}
.spec__chip--off{cursor:default}
.spec[data-shape=round] [data-pick=round] .glyph,.spec[data-shape=round] [data-pick=round] .spec__ph,.spec[data-shape=oval] [data-pick=oval] .glyph,.spec[data-shape=oval] [data-pick=oval] .spec__ph,.spec[data-shape=pear] [data-pick=pear] .glyph,.spec[data-shape=pear] [data-pick=pear] .spec__ph,.spec[data-shape=emerald] [data-pick=emerald] .glyph,.spec[data-shape=emerald] [data-pick=emerald] .spec__ph,.spec[data-shape=princess] [data-pick=princess] .glyph,.spec[data-shape=princess] [data-pick=princess] .spec__ph,.spec[data-shape=cushion] [data-pick=cushion] .glyph,.spec[data-shape=cushion] [data-pick=cushion] .spec__ph,.spec[data-shape=marquise] [data-pick=marquise] .glyph,.spec[data-shape=marquise] [data-pick=marquise] .spec__ph,.spec[data-shape=radiant] [data-pick=radiant] .glyph,.spec[data-shape=radiant] [data-pick=radiant] .spec__ph,.spec[data-shape=asscher] [data-pick=asscher] .glyph,.spec[data-shape=asscher] [data-pick=asscher] .spec__ph,.spec[data-shape=heart] [data-pick=heart] .glyph,.spec[data-shape=heart] [data-pick=heart] .spec__ph{opacity:1;stroke-opacity:1}
.spec__chip::after{content:"";position:absolute;bottom:-4px;left:50%;width:0;height:2px;background:var(--rose);transform:translateX(-50%);transition:width .25s}
.spec[data-shape=round] [data-pick=round]::after,.spec[data-shape=oval] [data-pick=oval]::after,.spec[data-shape=pear] [data-pick=pear]::after,.spec[data-shape=emerald] [data-pick=emerald]::after,.spec[data-shape=princess] [data-pick=princess]::after,.spec[data-shape=cushion] [data-pick=cushion]::after,.spec[data-shape=marquise] [data-pick=marquise]::after,.spec[data-shape=radiant] [data-pick=radiant]::after,.spec[data-shape=asscher] [data-pick=asscher]::after,.spec[data-shape=heart] [data-pick=heart]::after{width:30px}
.spec__bar{display:none}
.spec__dots{display:inline-flex;gap:6px}
.spec__dots i{width:12px;height:12px;color:#fff;opacity:.25;display:block}
.spec__dots i svg{width:12px;height:12px}
.spec__dots i.on{color:var(--sky);opacity:1}
@media (min-width: 1024px){
  .spec__stage{height:calc(780 * var(--u));container-type:normal}
  .spec__glow{left:calc(320 * var(--u));top:calc(-60 * var(--u));width:calc(800 * var(--u));height:calc(800 * var(--u))}
  .spec__eb{left:calc(80 * var(--u));top:calc(100 * var(--u))}
  .spec__h{left:calc(80 * var(--u));top:calc(136 * var(--u));font-size:52px}
  .spec__intro{position:absolute;left:calc(1020 * var(--u));top:calc(146 * var(--u));width:calc(340 * var(--u))}
  .spec__outline{top:calc(230 * var(--u));height:calc(330 * var(--u));left:auto;transform:none}
  .spec__facet{top:calc(302.6 * var(--u));height:calc(184.8 * var(--u));left:auto;transform:none}
  .spec__outline--g{left:calc(555 * var(--u));width:calc(330 * var(--u))}.spec__facet--g{left:calc(627.6 * var(--u));width:calc(184.8 * var(--u))}[data-s] .spec__outline--g~.spec__glint{left:calc(779.4 * var(--u))}
  [data-s=round] .spec__outline{left:calc(555 * var(--u));width:calc(330 * var(--u))}[data-s=round] .spec__facet{left:calc(627.6 * var(--u));width:calc(184.8 * var(--u))}[data-s=round] .spec__glint{left:calc(779.4 * var(--u))}
  [data-s=oval] .spec__outline{left:calc(601.2 * var(--u));width:calc(237.6 * var(--u))}[data-s=oval] .spec__facet{left:calc(653.47 * var(--u));width:calc(133.056 * var(--u))}[data-s=oval] .spec__glint{left:calc(762.77 * var(--u))}
  [data-s=pear] .spec__outline{left:calc(604.5 * var(--u));width:calc(231 * var(--u))}[data-s=pear] .spec__facet{left:calc(655.32 * var(--u));width:calc(129.36 * var(--u))}[data-s=pear] .spec__glint{left:calc(761.58 * var(--u))}
  [data-s=emerald] .spec__outline{left:calc(604.5 * var(--u));width:calc(231 * var(--u))}[data-s=emerald] .spec__facet{left:calc(655.32 * var(--u));width:calc(129.36 * var(--u))}[data-s=emerald] .spec__glint{left:calc(761.58 * var(--u))}
  .spec__glint{top:calc(289.4 * var(--u));width:26px;height:26px}
  .spec__stone{top:calc(120 * var(--u));left:calc(445 * var(--u));transform:none;width:calc(550 * var(--u));height:calc(550 * var(--u))}
  [data-s] .spec__stone~.spec__glint,[data-s] .spec__stonelink~.spec__glint{left:calc(800 * var(--u));top:calc(250 * var(--u))}
  .spec__name{left:calc(72 * var(--u));top:calc(300 * var(--u));font-size:calc(120 * var(--u));letter-spacing:calc(-3.6 * var(--u))}
  .spec__facts{left:calc(80 * var(--u));top:calc(438 * var(--u));width:calc(340 * var(--u));gap:14px;align-items:flex-start}
  .spec__facts .t-bodyl{font-size:18px}
  .spec__perf{position:absolute;left:calc(1100 * var(--u));top:calc(330 * var(--u));width:calc(260 * var(--u));display:flex!important;flex-direction:column;gap:18px}
  .spec__row{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.4}
  .spec__line{position:absolute;left:calc(80 * var(--u));top:calc(622 * var(--u));width:calc(1280 * var(--u));height:1px;background:rgba(255,255,255,.35)}
  .spec__chips{left:calc(80 * var(--u));right:auto;top:calc(650 * var(--u));width:calc(1280 * var(--u));height:auto;display:flex;justify-content:space-between}
  .spec__chip{width:96px;gap:10px;height:auto}
  .spec__chip .glyph{width:34px;height:34px}
  .spec__ph{width:34px;height:34px}
  .spec__lbl{font-family:var(--sans);font-size:9px;letter-spacing:.06em;text-transform:uppercase}
  .spec__chip::after{bottom:-14px}
  .spec[data-shape] .spec__chip::after{transition:width .25s}
  .spec[data-shape=round] [data-pick=round]::after,.spec[data-shape=oval] [data-pick=oval]::after,.spec[data-shape=pear] [data-pick=pear]::after,.spec[data-shape=emerald] [data-pick=emerald]::after,.spec[data-shape=princess] [data-pick=princess]::after,.spec[data-shape=cushion] [data-pick=cushion]::after,.spec[data-shape=marquise] [data-pick=marquise]::after,.spec[data-shape=radiant] [data-pick=radiant]::after,.spec[data-shape=asscher] [data-pick=asscher]::after,.spec[data-shape=heart] [data-pick=heart]::after{width:48px}
}
@media (min-width: 1024px){.spec__dots{gap:6px}}

/* ===== categories ===== */
.cat__in{padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;gap:24px}
.cat__bento{position:relative;width:100%;aspect-ratio:358/860;container-type:inline-size}
.cat__bento *{--m:calc(100cqw / 358)}
.cat__tile{position:absolute;overflow:hidden;color:#fff;background:var(--stone)}
.cat__fill{position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(185,198,228,.35),rgba(185,198,228,0) 60%),linear-gradient(160deg,#1e2a4a,#101830)}
.cat__img{transition:transform .6s}
.cat__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,24,48,0) 40%,rgba(16,24,48,.58));transition:opacity .4s}
.cat__name{position:absolute;left:calc(16 * var(--m));bottom:calc(22 * var(--m));font-family:var(--serif);font-weight:300;font-size:22px;line-height:1}
.cat__tile--1 .cat__name{font-size:36px;bottom:calc(30 * var(--m))}
.cat__tile--1{left:0;top:0;width:100%;height:calc(420 * var(--m))}
.cat__tile--2{left:0;top:calc(432 * var(--m));width:calc(173 * var(--m));height:calc(210 * var(--m))}
.cat__tile--3{left:calc(185 * var(--m));top:calc(432 * var(--m));width:calc(173 * var(--m));height:calc(210 * var(--m))}
.cat__tile--4{left:0;top:calc(654 * var(--m));width:calc(173 * var(--m));height:calc(206 * var(--m))}
.cat__tile--5{left:calc(185 * var(--m));top:calc(654 * var(--m));width:calc(173 * var(--m));height:calc(206 * var(--m))}
@media (min-width: 1024px){
  .cat__in{padding-top:120px;padding-bottom:120px;gap:56px}
  .cat__h{max-width:600px}
  .cat__bento{aspect-ratio:1280/660}
  .cat__bento *{--m:calc(100cqw / 1280)}
  .cat__tile--1{left:0;top:0;width:calc(520 * var(--m));height:100%}
  .cat__tile--2{left:calc(540 * var(--m));top:0;width:calc(360 * var(--m));height:calc(320 * var(--m))}
  .cat__tile--3{left:calc(540 * var(--m));top:calc(340 * var(--m));width:calc(360 * var(--m));height:calc(320 * var(--m))}
  .cat__tile--4{left:calc(920 * var(--m));top:0;width:calc(360 * var(--m));height:calc(400 * var(--m))}
  .cat__tile--5{left:calc(920 * var(--m));top:calc(420 * var(--m));width:calc(360 * var(--m));height:calc(240 * var(--m))}
  .cat__name{left:30px;bottom:100px;transform:translateY(100%);font-size:calc(32 * var(--m))}
  .cat__tile--1 .cat__name{font-size:calc(44 * var(--m));bottom:100px}
  .cat__sub{position:absolute;left:30px;bottom:37px;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.4}
  .cat__rule{position:absolute;left:30px;bottom:28.5px;height:1.5px;width:0;background:#fff;transition:width .35s}
  .cat__shop{position:absolute;right:72px;bottom:31px;transition:right .3s}
  .cat__tile:hover .cat__img{transform:scale(1.08)}
  .cat__tile:hover .cat__scrim{background:linear-gradient(180deg,rgba(16,24,48,0) 40%,rgba(16,24,48,.72))}
  .cat__tile:hover .cat__rule{width:48px}
  .cat__tile:hover .cat__shop{right:66px}
}

/* ===== design & expertise ===== */
.dz{display:flex;flex-direction:column}
.dz__l{position:relative;background:var(--night);height:600px;overflow:hidden}
.dz__night{position:absolute;top:0;height:100%;width:227.27%;left:-63.64%;max-width:none;object-fit:cover}
.dz__copy{position:absolute;left:16px;top:48px;width:calc(100% - 32px);display:flex;flex-direction:column;gap:16px}
.dz__h{font-size:34px;line-height:1.02;letter-spacing:-.68px;color:#fff}.dz__h em{color:var(--sky)}
.steps{display:flex;align-items:center;gap:10px;color:#fff}
.steps__s{display:flex;align-items:center;gap:6px;opacity:.5}.steps__s.on{opacity:1}
.steps__s svg{width:9px;height:9px}
.steps i{width:20px;height:1px;background:#fff;opacity:.5}
.dz__ctas{position:absolute;left:16px;right:16px;top:520px;display:flex;gap:28px;align-items:center}
.dz__ctas .btn{flex:1}
.dz__r{position:relative;background:var(--porcelain);height:620px}
.dz__appt{width:100%;height:360px;object-fit:cover}
.dz__card{position:absolute;left:24px;right:24px;top:300px;background:var(--porcelain);padding:24px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.dz__ct{font-family:var(--serif);font-weight:300;font-size:28px;line-height:1.1;color:var(--heading)}
@media (min-width: 1024px){
  .dz{flex-direction:row;max-width:none}
  .dz__l,.dz__r{flex:1;height:calc(660 * var(--u));min-height:560px}
  .dz__night{width:136.61%;left:0;object-position:left center}
  .dz__copy{left:calc(80 * var(--u));top:calc(80 * var(--u));width:calc(520 * var(--u));gap:24px}
  .dz__h{font-size:48px;line-height:1;letter-spacing:-.96px}
  .steps{gap:14px}.steps__s{gap:8px}.steps__s svg{width:10px;height:10px}.steps i{width:40px}
  .dz__ctas{left:calc(80 * var(--u));right:auto;top:auto;bottom:calc(52 * var(--u))}
  .dz__ctas .btn{flex:none}
  .dz__appt{position:absolute;inset:0;height:100%}
  .dz__card{left:calc(40 * var(--u));right:auto;top:auto;bottom:calc(40 * var(--u));width:calc(400 * var(--u));min-width:340px;padding:32px;gap:18px}
  .dz__ct{font-size:34px}
}

/* ===== promise ===== */
.pr__in{padding-top:56px;padding-bottom:56px;display:flex;flex-direction:column;gap:28px}
.pr__row{display:grid;grid-template-columns:1fr 1fr;gap:28px 16px}
.pr__item{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:4px}
.pr__big{font-family:var(--serif);font-weight:300;font-style:italic;font-size:42px;line-height:1;color:var(--rose);letter-spacing:-.84px}
.pr__item .t-label{font-size:9px}
@media (min-width: 1024px){
  .pr__in{padding-top:110px;padding-bottom:110px;align-items:center;gap:56px}
  .pr__row{display:flex;gap:0;width:100%}
  .pr__item{flex:none;width:25%;border-top:0;padding:0 calc(36 * var(--u));border-left:1px solid var(--border);gap:10px}
  .pr__item:first-child{border-left:0;padding-left:0}
  .pr__big{font-size:64px;letter-spacing:-1.28px}
  .pr__item .t-label{font-size:10px}
  .pr__item .t-bodys{max-width:284px}
}

/* ===== worn ===== */
.worn{background:var(--ivory)}
.worn__in{padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;gap:24px}
.worn__mosaic{position:relative;width:100%;aspect-ratio:358/520;container-type:inline-size}
.worn__mosaic *{--m:calc(100cqw / 358)}
.worn__t{position:absolute;overflow:hidden;background:var(--product);margin:0}
.worn__t--maya{left:0;top:0;width:calc(200 * var(--m));height:100%}
.worn__t--1{left:calc(212 * var(--m));top:0;width:calc(146 * var(--m));height:calc(250 * var(--m))}
.worn__t--3{left:calc(212 * var(--m));top:calc(262 * var(--m));width:calc(146 * var(--m));height:calc(258 * var(--m))}
.worn__t--2,.worn__t--4{display:none}
.worn__chip{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.9);padding:6px 10px;color:var(--heading)}
@media (min-width: 1024px){
  .worn__in{padding-top:110px;padding-bottom:120px;gap:56px}
  .worn__mosaic{aspect-ratio:1280/620}
  .worn__mosaic *{--m:calc(100cqw / 1280)}
  .worn__t--1{left:0;top:0;width:calc(410 * var(--m));height:calc(300 * var(--m))}
  .worn__t--2{display:block;left:0;top:calc(320 * var(--m));width:calc(410 * var(--m));height:calc(300 * var(--m))}
  .worn__t--maya{left:calc(430 * var(--m));top:0;width:calc(420 * var(--m));height:100%}
  .worn__t--3{display:block;left:calc(870 * var(--m));top:0;width:calc(410 * var(--m));height:calc(380 * var(--m))}
  .worn__t--4{display:block;left:calc(870 * var(--m));top:calc(400 * var(--m));width:calc(410 * var(--m));height:calc(220 * var(--m))}
}

/* ===== reviews ===== */
.rv{background:var(--ice)}
.rv__in{padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.rv__rating{display:flex;gap:20px;align-items:center}
.rv__score{font-family:var(--serif);font-weight:300;font-size:56px;line-height:1;color:var(--navy)}
.rv__meta{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.stars{display:flex;gap:6px;color:var(--navy)}.stars svg{width:12px;height:12px}
.rv__quote{font-family:var(--serif);font-weight:300;font-style:italic;font-size:26px;line-height:1.25;color:var(--navy);max-width:980px}
.rv__cards{width:100%;max-width:1060px;gap:20px;padding-top:24px}
.rv__card{background:#fff;width:340px;padding:32px 28px;display:flex;flex-direction:column;gap:16px;text-align:left}
.rv__stars{display:flex;gap:3px;color:var(--ink)}.rv__stars svg{width:14px;height:14px}
@media (min-width: 1024px){
  .rv__in{padding-top:120px;padding-bottom:120px;gap:40px}
  .rv__score{font-size:72px}
  .stars svg{width:14px;height:14px}
  .rv__quote{font-size:40px}
  .rv__in .arrows{display:flex!important}
}

/* ===== faq ===== */
.faq__in{padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;gap:22px}
.faq__intro{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.faq__list{flex:1;min-width:0}
.faq__item{border-bottom:1px solid var(--border);padding:22px 0}
.faq__q{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--heading)}
.faq__q::-webkit-details-marker{display:none}
.faq__ic{flex:none;width:18px;height:18px}.faq__ic svg{width:18px;height:18px}
.faq__ic--minus,.faq__item[open] .faq__ic--plus{display:none}.faq__item[open] .faq__ic--minus{display:block}
.faq__a{padding-top:12px;font-family:var(--serif);font-size:14px;line-height:1.5;color:var(--body)}
@media (min-width: 1024px){
  .faq__in{flex-direction:row;gap:80px;padding-top:120px;padding-bottom:120px}
  .faq__intro{width:420px;flex:none;gap:24px}
  .faq__intro .t-body{max-width:360px}
  .faq__q{font-size:18px}
  .faq__list{max-width:780px}
}

/* ===== breadcrumbs / collection header ===== */
.crumbs{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.crumbs a:hover{color:var(--heading)}
.crumbs__last{color:var(--secondary)}
.ch__in{padding-top:20px;padding-bottom:24px;display:flex;flex-direction:column;gap:16px}
.ch__row{display:flex;flex-direction:column;gap:16px}
.ch__h{font-size:30px;line-height:1.04;letter-spacing:-.45px}
.ch__styles{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--px) * -1);padding-right:var(--px)}
.ch__styles::-webkit-scrollbar{display:none}
.ch__style{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.ch__simg{position:relative;display:block;width:96px;height:110px;background:var(--product);overflow:hidden}.ch__simg img{width:100%;height:100%;object-fit:cover}
.ch__style .t-link{font-size:13px}
@media (min-width: 1024px){
  .ch__in{padding-top:28px;padding-bottom:36px;gap:28px}
  .ch__row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:40px}
  .ch__h{font-size:44px;letter-spacing:-.66px}
  .ch__desc{width:520px;flex:none}
  .ch__styles{gap:18px;overflow:visible;margin:0;padding:0}
  .ch__simg{width:calc(160 * var(--u));height:calc(180 * var(--u))}
  .ch__style .t-link{font-size:15px}
}

/* ===== collection grid ===== */
.cg__bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cg__barin{display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:12px;gap:12px}
.cg__fbtn{display:inline-flex;align-items:center;gap:10px;background:var(--ivory);padding:11px 18px;font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--heading)}
.cg__fbtn svg{width:16px;height:16px}
.cg__tools{display:flex;gap:28px;align-items:center}
.cg__tools .sel{padding:11px 14px}
@media (max-width: 1023.98px){.cg__tools{min-width:0}.cg__tools .sel{max-width:150px}.cg__tools .sel select{width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}}
.cg__shapes{border-bottom:1px solid var(--border)}
.cg__shin{padding-top:20px;padding-bottom:20px;display:flex;flex-direction:column;gap:14px}
.cg__sh{display:flex;gap:10px;align-items:center}.cg__sh svg{width:10px;height:10px;color:var(--rose)}
.cg__shnote{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--secondary)}
.cg__chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--px) * -1);padding-right:var(--px)}
.cg__chips::-webkit-scrollbar{display:none}
.shchip{background:transparent;padding:8px 14px 8px 12px;flex:none}
.shchip .glyph{width:18px;height:18px;stroke-opacity:1}
.shchip__ph{width:22px;height:22px;border-radius:50%;overflow:hidden;flex:none;display:block;background:var(--stone)}.shchip__ph img{width:100%;height:100%;object-fit:cover;display:block}.shchip__ph .glyph{width:100%;height:100%}
.shchip.is-empty{opacity:.55;cursor:default}
.cg__body{padding-top:24px;padding-bottom:56px}
.cg__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 10px}
.cg__promo{grid-column:1/-1}
.promo{position:relative;display:block;height:300px;overflow:hidden;color:#fff}
.promo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(8,12,24,.72) 0%,rgba(8,12,24,.38) 45%,rgba(8,12,24,0) 75%);pointer-events:none}
.promo__copy{position:absolute;z-index:1;left:20px;bottom:24px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.promo__h{font-family:var(--serif);font-weight:300;font-size:30px;line-height:1.04}.promo__h em{color:var(--sky)}
.promo .btn{margin-top:8px}
.cg__empty{grid-column:1/-1;display:flex;flex-direction:column;gap:14px;align-items:flex-start;padding:48px 0}
.cg__empty .nv-h{font-size:36px}
.pg{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;padding-top:48px}
.pg__n{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;color:var(--heading);border:1px solid transparent}
.pg__n.is-on{border-color:var(--strong)}
.pg__txt{font-family:var(--serif);font-style:italic;font-size:15px;text-decoration:underline;color:var(--heading)}
.pg__gap{color:var(--secondary)}
@media (min-width: 1024px){
  .pg{gap:20px}
  .cg__barin{padding-top:16px;padding-bottom:16px}
  .cg__shin{padding-top:26px;padding-bottom:26px;gap:18px}
  .cg__chips{justify-content:space-between;overflow:visible;margin:0;padding:0}
  .cg__body{padding-top:36px;padding-bottom:80px}
  .cg__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:48px calc(26.66 * var(--u))}
  .cg__promo--d{grid-column:span 2;grid-row:span 1}
  .cg__promo--d .promo{height:100%;min-height:calc(420 * var(--u))}
  .promo__copy{left:36px;bottom:36px}
  .promo__h{font-size:36px}
}

/* ===== filters drawer ===== */
.fd{display:flex;flex-direction:column;width:440px}
.fd__head{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid var(--border)}.fd__head svg{width:22px;height:22px}
.fd__body{flex:1;overflow:auto;padding:8px 28px}
.fg{border-bottom:1px solid var(--border);padding:22px 0}
.fg__h{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.fg__h::-webkit-details-marker{display:none}
.fg__h svg{width:16px;height:16px;display:none}
.fg[open] .fg__h svg:first-of-type{display:block}
.fg:not([open]) .fg__h svg:last-of-type{display:block}
.fg__wrap{display:flex;flex-wrap:wrap;gap:10px;padding-top:16px}
.fg__wrap--shapes{gap:10px 8px}
.fchip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);padding:8px 12px 8px 10px;font-family:var(--serif);font-size:14px;color:var(--heading);cursor:pointer}
.fchip .metal{width:16px;height:16px}
.fchip.is-on,.fchip:has(input:checked){border-color:var(--strong)}
.fshape{width:118px;display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);padding:8px 6px;font-family:var(--serif);font-size:14px;color:var(--heading);cursor:pointer}
.fshape.is-on,.fshape:has(input:checked){border-color:var(--strong)}
.fshape__g{width:40px;height:40px;border-radius:50%;background:var(--stone);display:flex;align-items:center;justify-content:center}.fshape__g .glyph{width:22px;height:22px}.fshape__g{overflow:hidden}.fshape__g .shape-photo{width:100%;height:100%;object-fit:cover}
.fg__list{display:flex;flex-direction:column;gap:12px;padding-top:16px}
.fck{display:flex;gap:10px;align-items:center;cursor:pointer}
.price{padding-top:16px;display:flex;flex-direction:column;gap:16px}
.price__track{position:relative;height:18px}
.price__track::before{content:"";position:absolute;left:0;right:0;top:8px;height:2px;background:var(--border)}
.price__range{position:absolute;top:8px;height:2px;background:var(--ink)}
.price__track input{position:absolute;left:0;top:0;width:100%;height:18px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;pointer-events:none}
.price__track input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:1.5px solid var(--ink);pointer-events:auto;cursor:pointer}
.price__track input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:1.5px solid var(--ink);pointer-events:auto;cursor:pointer}
.price__inputs{display:flex;gap:12px}
.price__box{flex:1;display:flex;align-items:center;gap:2px;background:#fff;border:1px solid var(--border);padding:10px 14px;font-family:var(--serif);font-size:14px;color:var(--heading)}
.price__box input{border:0;outline:0;width:100%;background:transparent;font:inherit;-moz-appearance:textfield}
.price__box input::-webkit-inner-spin-button{-webkit-appearance:none}
.fd__foot{border-top:1px solid var(--border);padding:18px 28px 22px;display:flex;gap:12px}
.fd__foot .is-busy{opacity:.6;pointer-events:none}
.fd__foot .btn{flex:1;padding-inline:12px}
@media (max-width: 1023.98px){.fd{width:100%}.fd__head,.fd__body,.fd__foot{padding-inline:16px}.fshape{width:calc((100% - 16px) / 3)}}

/* ===== trust / collection faq ===== */
.trs__in{padding-top:32px;padding-bottom:32px}
.trust__bar{background:var(--mist);padding:24px 20px;display:flex;flex-direction:column;gap:14px}
.trust__item{display:flex;gap:14px;align-items:center}
.trust__big{font-family:var(--serif);font-weight:300;font-style:italic;font-size:34px;line-height:1;color:var(--rose);min-width:96px}
.trust__item .t-h3{font-size:10px;letter-spacing:.06em}
.trust__item .t-bodys{display:none}
@media (min-width: 1024px){
  .trs__in{padding:64px calc(64 * var(--u))}
  .trs--sm .trs__in{padding-top:24px;padding-bottom:64px}
  .trust__bar{background:transparent;padding:0;flex-direction:row;gap:0}
  .trust__item{flex:1;flex-direction:column;gap:12px;text-align:center;padding:8px 24px 8px 28px;border-left:1px solid var(--border)}
  .trust__item:first-child{border-left:0;padding-left:24px}
  .trust__big{font-size:46px;letter-spacing:-.92px;min-width:0}
  .trust__item .t-h3{font-size:15px;letter-spacing:.03em;white-space:nowrap}
  .trust__item .t-bodys{display:block}
}
@media (min-width: 1024px) and (max-width: 1279.98px){.cg__chips{flex-wrap:wrap;justify-content:flex-start}.trust__item{min-width:0;padding:8px 12px}.trust__item:first-child{padding-left:12px}.trust__big{font-size:40px}.trust__item .t-h3{font-size:12px;white-space:normal}}
@media (min-width: 600px) and (max-width: 1023.98px){.cg__tools .sel{max-width:none}}
.cfaq{background:#fff}
.cfaq__in{padding-top:48px;padding-bottom:56px;display:flex;flex-direction:column;align-items:center;gap:24px}
.cfaq__h{font-size:24px;line-height:1.04;letter-spacing:-.36px;text-align:center}
.cfaq__list{width:100%;max-width:860px}
@media (min-width: 1024px){.cfaq__in{padding-top:72px;padding-bottom:88px}.cfaq__h{font-size:36px;letter-spacing:-.54px}}

/* ===== product ===== */
.gs{background:var(--ivory);padding:16px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.gs__h{font-family:var(--serif);font-weight:300;font-style:italic;font-size:17px;line-height:1.35;color:var(--heading)}
.gs__t{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--secondary);text-decoration:underline}
.pdp__crumbs{padding-top:16px;padding-bottom:12px}
.pdp__crumbs .crumbs__last,.pdp__crumbs .crumbs span:nth-last-child(2){display:none}
.pdp__in{display:flex;flex-direction:column;gap:0;padding-inline:0}
.pdp__left{display:flex;flex-direction:column}
.pdp__slides{position:relative;padding-bottom:12px}
.pdp__scroller{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.pdp__scroller::-webkit-scrollbar{display:none}
.pdp__slide{flex:none;width:100%;aspect-ratio:1;scroll-snap-align:start;position:relative;background:var(--product)}
.pdp__slide>img{width:100%;height:100%;object-fit:cover}
.pdp__dots{display:flex;justify-content:center;gap:6px;padding-top:12px}
.pdp__dots span{width:6px;height:6px;border-radius:50%;background:var(--border)}.pdp__dots span.is-on{background:var(--ink)}
.lv{position:relative;width:100%;aspect-ratio:1;background:var(--product);overflow:hidden}
.lv__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lv__candle{position:absolute;inset:0;mix-blend-mode:multiply;background:radial-gradient(circle at 50% 50%,rgba(255,211,154,.25),rgba(225,167,108,.335) 50%,rgba(194,122,62,.42));opacity:0;transition:opacity .5s}
.lv__spot{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(22,32,43,0) 25%,rgba(22,32,43,.92) 100%);opacity:0;transition:opacity .5s}
.lv__glint{position:absolute;left:53%;top:30%;width:26px;height:26px;opacity:0;transition:opacity .5s}
.lv[data-lv=candle] .lv__candle,.lv[data-lv=spot] .lv__spot,.lv[data-lv=spot] .lv__glint{opacity:1}
.lv__label{position:absolute;left:14px;top:14px;color:var(--heading);z-index:2}
.lv__l{display:none}.lv[data-lv=day] .lv__l--day,.lv[data-lv=candle] .lv__l--candle,.lv[data-lv=spot] .lv__l--spot{display:inline}
.lv[data-lv=spot] .lv__label{color:#fff}
.lv__switch{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:rgba(255,255,255,.92);padding:5px;display:flex;gap:4px;z-index:2}
.lv__btn{display:flex;align-items:center;gap:5px;padding:7px 9px;font-family:var(--serif);font-size:13px;color:var(--heading);white-space:nowrap}
.lv__btn svg{width:8px;height:8px;color:currentColor}
.lv[data-lv=day] [data-mode=day],.lv[data-lv=candle] [data-mode=candle],.lv[data-lv=spot] [data-mode=spot]{background:var(--ink);color:#fff}
.lp{display:none}
.bp{background:var(--ivory);padding:24px 16px 32px;display:flex;flex-direction:column;gap:22px}
.bp form{display:flex;flex-direction:column;gap:22px}
.bp__top{display:flex;justify-content:space-between;align-items:center;min-height:20px}
.bp__badges{display:flex;gap:6px}.bp__badges .badge{padding:5px 10px}
.bp__heart{width:20px;height:20px;color:var(--heading)}.bp__heart svg{width:20px;height:20px}.bp__heart.is-on svg path,.card__heart.is-on svg path{fill:currentColor}
.bp__rating{display:flex;gap:8px;align-items:center;font-family:var(--serif);font-style:italic;font-size:13px;color:var(--body)}
.bp__stars{display:inline-flex;gap:2px;color:var(--ink)}.bp__stars svg{width:13px;height:13px}
.bp__title{font-family:var(--serif);font-weight:300;font-size:26px;line-height:1.18;letter-spacing:-.13px;color:var(--heading)}
.bp__price{font-family:var(--serif);font-size:26px;line-height:1.2;color:var(--heading);display:flex;gap:10px;align-items:baseline}
.bp__price s{font-size:16px;font-style:italic;color:var(--secondary)}
.bp__fin{background:#fff;padding:12px 14px;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.affirm{position:relative;display:inline-block;font-family:Inter,Arial,sans-serif;font-weight:700;font-size:13.2px;color:#060809;padding-top:6px;line-height:1}
.affirm img{position:absolute;left:44%;top:-1px;width:18px;height:auto}
.affirm--lg{font-size:17px}.affirm--lg img{width:24px;top:-3px}
.bp__learn{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--heading)}
.lc{background:#fff;border:1px solid var(--border);padding:20px;display:flex;flex-direction:column;gap:14px}
.lc__top{display:flex;justify-content:space-between;align-items:center}
.lc__h{display:flex;gap:8px;align-items:center}.lc__h svg{width:10px;height:10px;color:var(--rose)}
.lc__cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}
.lc__rule{height:1px;background:var(--border)}
.og{display:flex;flex-direction:column;gap:10px}
.og__l{display:flex;gap:8px;align-items:baseline}
.og__l--sb{justify-content:space-between}
.og__find{font-size:13px}
.og__chips{display:flex;flex-wrap:wrap;gap:8px}
.ochip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);padding:9px 14px 9px 10px;font-family:var(--serif);font-size:14px;color:var(--heading)}
.ochip .metal{width:16px;height:16px}
.ochip.is-on{box-shadow:inset 0 0 0 1.5px var(--ink);border-color:var(--ink)}
.ochip[disabled]{opacity:.4}
.bp__sel{position:relative;display:block}
.bp__sel select{width:100%;appearance:none;-webkit-appearance:none;background:#fff;border:1px solid var(--border);padding:14px 16px;font-family:var(--serif);font-size:16px;color:var(--heading);border-radius:0;outline:0}
.bp__sel select:invalid,.bp__sel select.is-blank{color:var(--secondary)}
.bp__sel svg{position:absolute;right:16px;top:50%;width:16px;height:16px;transform:translateY(-50%);pointer-events:none}
.wo{background:#fff;border:1px solid var(--rose);padding:18px;display:flex;flex-direction:column;gap:10px}
.wo__row{display:flex;gap:14px;align-items:center}
.wo__p{font-family:var(--serif);font-size:26px;line-height:1.2;color:var(--heading)}
.v1{display:flex;flex-direction:column;gap:22px}
.ochip__ph{width:18px;height:18px;border-radius:50%;overflow:hidden;display:block;flex:none;background:var(--stone)}.ochip__ph img{width:100%;height:100%;object-fit:cover}.ochip__ph .glyph{width:100%;height:100%}
.ochip__img{width:18px;height:18px;border-radius:50%;object-fit:cover}
a.ochip{text-decoration:none}
.og--many:not(.is-all) .og__extra{display:none}.og--many.is-all .og__more{display:none}
.og__more{font-family:var(--serif);font-style:italic;color:var(--secondary)}
.bp__setnote{margin-top:-10px;text-align:center}
.v1:empty{display:none}
.pdp__360--m{position:absolute;right:16px;top:14px;z-index:3;width:auto;height:auto;flex-direction:row;gap:6px;padding:7px 10px;background:rgba(255,255,255,.92);border:1px solid var(--border);display:flex;align-items:center;color:var(--heading)}.pdp__360--m svg{width:16px;height:16px}
@media (min-width: 1024px){.pdp__360--m{display:none!important}}
.pdp__main{position:relative}
.pdp__views{display:inline-flex;align-self:flex-start;margin:0 0 12px var(--px);border:1px solid var(--border);background:#fff}
@media (min-width: 1024px){.pdp__views{margin:0 0 -60px 0}}
.pdp__view{padding:8px 16px;font-family:var(--sans);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary);background:none}
.pdp__view.is-on{background:var(--ink);color:#fff}
.pdp__3d{position:absolute;inset:0;z-index:4;background:#fff}.pdp__slides .pdp__3d{bottom:12px}
.pdp__3d iframe{width:100%;height:100%;border:0;display:block}
.pdp__360.is-on{box-shadow:inset 0 0 0 1.5px var(--ink)}
.pdp.is-3d .pdp__tryon--m,.pdp.is-3d .pdp__dots{visibility:hidden}
.pdp__tryon{position:absolute;right:16px;top:16px;z-index:3;display:flex;align-items:center;gap:6px;padding:8px 12px;background:rgba(255,255,255,.94);border:1px solid var(--border);color:var(--heading);transition:background .2s,color .2s}
.pdp__tryon svg{width:18px;height:18px}.pdp__tryon:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.pdp__tryon--m{top:58px;padding:7px 10px}
@media (min-width: 1024px){.pdp__tryon--m{display:none!important}}
.pq__box{gap:18px;padding:9px 14px;align-self:flex-start;width:auto}
.pq__in{width:34px;border:0;background:transparent;text-align:center;font:inherit;-moz-appearance:textfield;appearance:textfield;padding:0}
.pq__in::-webkit-outer-spin-button,.pq__in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pq__box button:disabled{opacity:.35;cursor:default}
.ra{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ra li{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;font-family:var(--sans);font-size:9.5px;line-height:1.35;letter-spacing:.06em;text-transform:uppercase;color:var(--heading);cursor:default}
.ra svg{width:20px;height:20px;flex:none;color:var(--rose)}
.bp__eyebrow{margin-bottom:-4px;letter-spacing:.1em}
.bp__pnote{margin-top:-6px}
.bp__desc{margin-top:-2px}
.og__note{margin-top:-2px}
.og--sib .og__chips,.og--pick .og__chips{gap:8px}
label.ochip{cursor:pointer}label.ochip:focus-within{outline:1px solid var(--ink);outline-offset:2px}
.cdot{width:16px;height:16px;border-radius:50%;flex:none;border:1px solid rgba(0,0,0,.12);background:#f4f6fa}
.cdot--white,.cdot--diamond,.cdot--white-sapphire,.cdot--moissanite{background:radial-gradient(circle at 35% 35%,#fff,#e3e8f0)}
.cdot--yellow,.cdot--yellow-sapphire{background:#ecd04f}.cdot--blue{background:#3f78c9}.cdot--pink,.cdot--pink-sapphire{background:#ec9fbf}
.cdot--green,.cdot--green-sapphire{background:#3f8f5e}.cdot--black,.cdot--black-diamond,.cdot--black-onyx,.cdot--onyx{background:#1c1c1e}
.cdot--emerald{background:#1f7a4d}.cdot--ruby{background:#9b1b30}.cdot--aquamarine{background:#7fc8d8}.cdot--garnet{background:#6e1423}
.cdot--amethyst{background:#8a5fb0}.cdot--peridot{background:#9cbf3a}.cdot--blue-sapphire,.cdot--sapphire{background:#1f3f8f}.cdot--blue-topaz{background:#5aa9e6}
.cdot--citrine{background:#e3a33a}.cdot--tanzanite{background:#4b4fa8}.cdot--morganite{background:#f2b8a8}.cdot--alexandrite{background:#4f7468}
.cdot--opal{background:linear-gradient(135deg,#e9f1f4,#f6e6ef,#e6f2e9)}.cdot--pearl{background:#f4efe6}.cdot--turquoise{background:#40c0b8}
.cdot--smoky-quartz{background:#7d6a5a}.cdot--rose-quartz{background:#f1c6cc}
.ochip--tile{flex-direction:column;justify-content:center;gap:6px;min-width:74px;padding:10px 8px;font-size:12.5px;line-height:1.2;text-align:center}
.ochip--tile .ochip__ph{width:34px;height:34px;border-radius:0;background:none}.ochip--tile .ochip__ph img{object-fit:contain}
.ochip--tile .cdot{width:26px;height:26px}
.og__chips--wt{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
.ochip--wt{flex-direction:column;justify-content:center;gap:3px;min-height:60px;padding:10px 6px;text-align:center}
.ochip--wt b{font-weight:400;font-size:19px;line-height:1.1}.ochip--wt small,.ochip__u{font-family:var(--sans);font-size:9px;letter-spacing:.08em;color:var(--secondary)}
.bpf__row .bpf__ct{width:54px;flex:none;white-space:nowrap;text-align:right;font-family:var(--sans);font-size:9.5px;letter-spacing:.08em;color:var(--secondary)}
.bpf__card{background:#fff;border:1px solid var(--border);padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.bpf__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px dashed var(--border)}
.bpf__w{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--heading)}
.bpf__note{border-top:1px dashed var(--border);padding-top:12px;text-align:center;font-size:12px;line-height:1.5}
.bpf__in{display:flex;gap:20px;align-items:flex-start}
.bp.is-req .bp__fin,[data-product].is-req .wo,[data-product].is-req .bp__ship{display:none}
.bpf__fig{display:flex;flex-direction:column;align-items:center;gap:8px;width:96px;flex:none;text-align:center}
.bpf__fig .t-bodys{font-size:11px;line-height:1.3}
.bpf__finger{position:relative;display:block;width:64px;height:140px;border-radius:32px;background:linear-gradient(90deg,#e9cdb6,#f3dccb 45%,#e4c4ab)}
.bpf__band{position:absolute;left:-3px;right:-3px;top:62%;transform:translateY(-50%);background:linear-gradient(180deg,#d9d9de,#f4f4f6 50%,#c9c9cf);border-radius:2px;transition:height .2s}
.bpf__rows{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.bpf__row{display:flex;align-items:center;gap:12px;padding:6px 8px;border:1px solid transparent;cursor:pointer}
.bpf__row.is-on{border-color:var(--ink)}
.bpf__bar{flex:1;background:linear-gradient(180deg,#d9d9de,#f4f4f6 50%,#c9c9cf);border-radius:2px;min-width:40px}
.bpf__row .t-bodys{width:50px;white-space:nowrap;text-align:right;flex:none}
.bpf__row{width:100%;background:none;font:inherit;text-align:left}.bpf__bar{min-width:50px}
.bp__guide{margin-top:-6px}
.bp__eng{height:48px;padding:0 14px;font-size:15px}
.bp__ship{display:flex;flex-direction:column;gap:4px;padding:2px 0}
.bp__ship p:first-child{display:flex;align-items:center;gap:8px}.bp__ship svg{width:16px;height:16px;color:var(--rose);flex:none}
.dt__acc{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.dt__acc .faq__a p+p{margin-top:10px}
.px{background:var(--porcelain)}
.px__in{padding-top:56px;padding-bottom:56px;display:flex;flex-direction:column;gap:18px}
.px__h{font-size:30px}
.px__grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:10px}
.px__card{background:#fff;border:1px solid var(--border);padding:22px;display:flex;flex-direction:column;gap:10px}
.px__t{font-family:var(--serif);font-weight:300;font-size:21px;line-height:1.2;color:var(--heading)}
.p4{background:#fff}
.p4__in{padding-top:56px;padding-bottom:56px;display:flex;flex-direction:column;gap:22px}
.p4__head{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.p4__h{font-size:30px}
.p4__ttl{display:flex;flex-direction:column;gap:12px}
.p4__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.p4__c{border-top:1px solid var(--strong);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.p4__l{font-family:var(--serif);font-weight:300;font-size:26px;color:var(--heading)}
@media (min-width: 1024px){.dt__acc{flex:1}.px__in,.p4__in{padding-top:88px;padding-bottom:88px}.px__h,.p4__h{font-size:44px}.px__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.px__card{padding:30px 26px}.p4__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.p4__head{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.to{width:min(920px,calc(100vw - 32px));height:min(720px,calc(100vh - 64px));padding:0;display:flex;flex-direction:column;background:#fff}
.to__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}
.to__bar .ov__close{position:static}
.to__frame{flex:1;width:100%;border:0;background:var(--product)}
@media (max-width: 1023.98px){.to{width:100vw;height:100vh;max-height:none}}
.wo__cta{display:inline-flex;gap:8px;align-items:center;font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--heading)}.wo__cta svg{width:14px;height:14px}
.bp__care{display:flex;gap:12px;align-items:flex-start;cursor:pointer}.bp__care>span:last-child{display:flex;flex-direction:column}
.bp__as{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-direction:column;gap:12px}
.bp__as li{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:14px;color:var(--heading)}
.bp__as svg{width:18px;height:18px;flex:none}
.bp__hint{font-style:italic}
@media (min-width: 1024px){
  .gs{padding:16px 80px}
  .pdp__crumbs{padding-top:20px;padding-bottom:16px}
  .pdp__crumbs .crumbs__last,.pdp__crumbs .crumbs span:nth-last-child(2){display:inline}
  .pdp__in{flex-direction:row;justify-content:space-between;align-items:flex-start;padding-inline:var(--px);padding-bottom:72px}
  /* gallery column rides along while the (taller) buy panel scrolls, as on the demo url; it releases at the end of the panel */
  .pdp__left{width:calc(752 * var(--u));gap:72px;position:sticky;top:166px}
  .pdp__gallery{display:flex;gap:16px}
  .pdp__thumbs{display:flex!important;flex-direction:column;gap:12px}
  .pdp__thumb{width:calc(76 * var(--u));height:calc(76 * var(--u));min-width:56px;min-height:56px;background:var(--product);border:1px solid transparent;overflow:hidden}
  .pdp__thumb img{width:100%;height:100%;object-fit:cover}
  .pdp__thumb.is-on{border-color:var(--strong)}
  .pdp__360{width:calc(76 * var(--u));height:calc(76 * var(--u));background:#fff;border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.pdp__360 svg{width:20px;height:20px}
  .pdp__main{width:calc(660 * var(--u));flex:none}
  .lv__label{left:22px;top:22px}
  .lv__switch{bottom:auto;top:calc(599 * var(--u))}
  .lv__btn{font-family:var(--sans);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:8px 14px;gap:6px}
  .lp{display:flex;gap:40px;align-items:center;padding-left:calc(92 * var(--u))}
  .lp__img{width:calc(270 * var(--u));height:calc(340 * var(--u));flex:none;overflow:hidden}.lp__img img{width:100%;height:100%;object-fit:cover}
  .lp__copy{width:calc(350 * var(--u));display:flex;flex-direction:column;gap:18px}
  .lp__h{font-size:32px;line-height:1.1;letter-spacing:-.48px}
  .lp__rows{display:flex;flex-direction:column}
  .lp__row{border-top:1px solid var(--border);padding:10px 0 18px;display:flex;justify-content:space-between;align-items:center}
  .lp__dots{display:inline-flex;gap:5px}.lp__dots i{width:11px;height:11px;color:var(--navy);opacity:.25;display:block}.lp__dots i.on{opacity:1}.lp__dots svg{width:11px;height:11px}
  .bp{width:calc(480 * var(--u));min-width:400px;flex:none;padding:36px}
  .bp__title{font-size:32px;letter-spacing:-.16px}
}

.dt{background:#fff}
.dt__in{padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;gap:24px}
.dt__l{display:flex;flex-direction:column;gap:16px}
.dt__h{font-size:26px;line-height:1.04}
.dt__desc p+p{margin-top:12px}
.dt__row{display:flex;justify-content:space-between;gap:24px;padding:14px 0;border-bottom:1px solid var(--border);align-items:baseline}
.dt__row dd{margin:0;font-family:var(--serif);font-size:16px;color:var(--heading);text-align:right}
@media (min-width: 1024px){.dt__in{flex-direction:row;padding:80px var(--px);gap:96px}.dt__l,.dt__r{flex:1}.dt__h{font-size:36px}.dt__r{margin:0}}
.prv{background:var(--mist)}
.prv__in{padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;gap:24px}
.prv__head{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.prv__h{font-size:26px}
.prv__rating{display:flex;gap:14px;align-items:center}
.prv__score{font-family:var(--serif);font-weight:300;font-size:32px;color:var(--heading)}
.prv__empty{background:#fff;padding:24px}
@media (min-width: 1024px){.prv__in{padding:80px var(--px);gap:32px}.prv__head{flex-direction:row;justify-content:space-between;align-items:center}.prv__h{font-size:36px}}
.recs__in{padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;gap:24px}
.recs__head{display:flex;justify-content:space-between;align-items:center}
.recs__h{font-size:26px}
.recs__rail{gap:10px;margin-right:calc(var(--px) * -1);padding-right:var(--px)}
.recs__rail>.card{width:171px}
.recs[data-empty] {display:none}
@media (min-width: 1024px){.recs__in{padding:80px var(--px);gap:32px}.recs__h{font-size:36px}.recs__rail{gap:calc(26.66 * var(--u));margin-right:0;padding-right:0}.recs__rail>.card{width:calc(300 * var(--u))}}

/* ===== quick view / saved ===== */
.qv__info .bp__title{font-size:28px}
.qv__info form{display:flex}
.sv__in{padding-top:40px;padding-bottom:64px;display:flex;flex-direction:column;gap:32px}
.sv__head{display:flex;flex-direction:column;gap:20px}
.sv__hl{display:flex;flex-direction:column;gap:16px}
.sv__h{font-size:40px;line-height:1.04;letter-spacing:-.6px}
.sv__act{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.sv__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 10px;align-items:end}
.sv__item{display:flex;flex-direction:column;gap:12px}
.sv__item form{display:flex}
.sv__empty{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.sv__empty .nv-h{font-size:36px}
.sv__note{background:var(--ivory);padding:24px 28px;display:flex;gap:20px;align-items:center}.sv__note svg{width:14px;height:14px;color:var(--rose);flex:none}
@media (min-width: 1024px){.sv__in{padding-top:64px;padding-bottom:96px;gap:40px}.sv__head{flex-direction:row;justify-content:space-between;align-items:flex-end}.sv__h{font-size:56px;letter-spacing:-.84px}.sv__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}}

/* ===== cart page ===== */
.cart__in{padding-top:32px;padding-bottom:48px;display:flex;flex-direction:column;gap:32px}
.cart__l{flex:1;display:flex;flex-direction:column;gap:16px;min-width:0}
.cart__h{font-size:32px;line-height:1.04}
.cart__lines{border-top:1px solid var(--border)}
.cart__lines .cl__img{--s:88px!important}
.cart__gift{background:var(--mist);padding:16px 18px;display:flex;gap:14px;align-items:flex-start}.cart__gift>svg{width:20px;height:20px;flex:none;margin-top:4px}
.cart__note{margin-top:10px;height:72px}
.cart__empty{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:32px 0}
.cart__eb{display:flex;gap:12px;flex-wrap:wrap}
.os{background:var(--ivory);padding:24px 20px;display:flex;flex-direction:column;gap:14px}
.os__row{display:flex;justify-content:space-between;font-family:var(--serif);font-size:14px;color:var(--body)}.os__row span:last-child{color:var(--heading)}
.os__promo{display:flex;height:46px}.os__promo .input{height:46px;flex:1}.os__promo .btn{min-height:46px;padding:0 18px}
.os__total{border-top:1px solid var(--strong);padding-top:14px;display:flex;flex-direction:column;gap:4px}
.os__trow{display:flex;justify-content:space-between;align-items:baseline}
.os__express{display:flex;gap:8px}
.os__express a{flex:1;height:44px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:4px}
.os__express img{height:24px;width:auto}
.os__pp{font-family:Inter,Arial,sans-serif;font-weight:700;font-style:italic;font-size:13.5px;color:#253b80}
.os__as{display:flex;flex-direction:column;gap:10px;padding-top:8px}.os__as li{display:flex;gap:10px;align-items:center;font-family:var(--serif);font-size:14px;color:var(--heading)}.os__as svg{width:16px;height:16px}
@media (min-width: 1024px){.cart__in{flex-direction:row;gap:64px;padding-top:56px;padding-bottom:88px;align-items:flex-start}.cart__h{font-size:44px}.cart__lines .cl__img{--s:132px!important}.os{width:440px;flex:none;padding:32px;position:sticky;top:166px}}

/* ===== search page ===== */
.sr-p__in{padding-top:28px;padding-bottom:64px;display:flex;flex-direction:column;gap:24px}
.sr-p__form{display:flex;gap:8px;max-width:640px}.sr-p__form .input{flex:1}
.sr-p__hit{display:flex;flex-direction:column;gap:6px;padding:16px;background:#fff;border:1px solid var(--border)}

/* ===== builder steps ===== */
.bs{padding:16px var(--px) 0}
.bs__in{position:relative;background:var(--ivory);display:flex;flex-wrap:wrap;max-width:1312px;margin:0 auto}
.bs__title{width:100%;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border)}
.bs__t{font-family:var(--serif);font-weight:300;font-style:italic;font-size:20px;color:var(--heading)}
.bs__s{flex:1;min-width:0;display:flex;gap:8px;align-items:center;padding:12px 8px;border-left:1px solid var(--border)}
.bs__s:first-of-type{border-left:0}
.bs__s.is-cur{background:#fff;box-shadow:inset 0 -2px 0 var(--ink)}
.bs__c{width:28px;height:28px;border-radius:50%;border:1px solid var(--strong);display:flex;align-items:center;justify-content:center;flex:none;color:var(--secondary)}
.bs__c svg{display:none;width:16px;height:16px}
.bs__s.is-cur .bs__c{border-color:var(--ink);color:var(--heading)}
.bs__s.is-done .bs__c{background:var(--ink);border-color:var(--ink)}.bs__s.is-done .bs__n{display:none}.bs__s.is-done .bs__c svg{display:block}
.bs__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.bs__txt .t-label{font-size:9px;color:var(--secondary)}
.bs__s.is-cur .t-label,.bs__s.is-done .t-label{color:var(--heading)}
.bs__sub{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs__s.is-cur .bs__sub{color:var(--heading)}
.bs__chg{display:none;font-family:var(--serif);font-style:italic;font-size:13px;color:var(--secondary)}
.bs__s.is-done .bs__sub{display:none}.bs__s.is-done .bs__chg{display:block}
.bs__rail{position:absolute;left:0;bottom:0;height:2px;background:var(--rose);width:calc(var(--w) * 33.333%)}
.bs__rail img{position:absolute;right:-6px;top:-5px;width:12px;height:12px}
@media (max-width: 1023.98px){.bs__txt .t-label{letter-spacing:.03em}.bs__c{width:24px;height:24px}}
@media (min-width: 1024px){
  .bs{padding:24px calc(64 * var(--u)) 0}
  .bs__in{flex-wrap:nowrap;height:82px}
  .bs__title{width:280px;flex:none;padding:0 28px;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;border-bottom:0}
  .bs__t{font-size:24px}
  .bs__s{padding:0 24px;gap:14px;border-left:1px solid var(--border)}
  .bs__s:first-of-type{border-left:1px solid var(--border)}
  .bs__c{width:34px;height:34px}
  .bs__txt .t-label{font-size:10px}
  .bs__sub,.bs__chg{font-size:14px}
}

@media (max-width: 1023.98px){
  .bs{padding:16px 16px 0}
  .bs__in{flex-wrap:nowrap;overflow:hidden;height:64px}
  .bs__title{display:none}
  .bs__s{flex:1 0 0;padding:0 10px;gap:8px;overflow:hidden;border-left:1px solid var(--border)}
  .bs__s:first-of-type{border-left:0}
  .bs__txt .t-label{font-size:9.5px;white-space:nowrap}
  .bs__sub,.bs__s.is-done .bs__chg{display:none!important}
  /* 3 labels do not fit in 343px: the current step keeps its label, the others show their number / check */
  .bs__s:not(.is-cur){flex:none}.bs__s:not(.is-cur) .bs__txt{display:none}
}
/* ===== builder 1 ===== */
.b1__title{display:flex;flex-direction:column;gap:12px;padding-top:24px;padding-bottom:20px}
.b1__tl{display:flex;flex-direction:column;gap:8px}
.b1__h{font-size:32px;line-height:1.04}
.b1__filters{background:var(--ivory)}
.b1__fin{padding-top:20px;padding-bottom:20px;display:flex;flex-direction:column;gap:20px}
.b1__fg{display:flex;flex-direction:column;gap:12px;min-width:0}
.b1__shapes,.b2__shapes{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.b1__shapes::-webkit-scrollbar,.b2__shapes::-webkit-scrollbar{display:none}
.stile{flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff;border:1px solid var(--border);padding:6px;min-width:52px;color:var(--heading)}
.stile .glyph{width:34px;height:34px;stroke-opacity:1}
.stile__ph{width:34px;height:34px;border-radius:50%;overflow:hidden;flex:none;display:block;background:var(--stone)}.stile__ph img{width:100%;height:100%;object-fit:cover;display:block}.stile__ph .glyph{width:100%;height:100%}.stile--lg .stile__ph{width:44px;height:44px}
.stile.is-on{border-color:var(--strong)}
.stile.is-empty{opacity:.5;cursor:default}
.stile--lg{padding:8px 10px;gap:6px;min-width:64px}.stile--lg .glyph{width:44px;height:44px}
.b1__metals{display:flex;gap:10px}
.mdot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid transparent}
.mdot .metal{width:24px;height:24px}
.mdot.is-on{border-color:var(--ink)}
.b1__styles{display:flex;gap:8px;flex-wrap:wrap}
.b1__styles .chip{padding:8px 14px}
.b1__count{display:flex;justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px}
.b1__body{padding-bottom:56px}
@media (max-width: 1023.98px){.b1__count{gap:12px}.b1__count p{white-space:nowrap}.b1__count .sel{max-width:160px}.b1__count .sel select{width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}}
.b1__item{display:flex;flex-direction:column;gap:10px}
.b1__sel{font-family:var(--sans);font-weight:500;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--heading);border:1px solid var(--strong);padding:10px 8px;transition:background .2s,color .2s}
.b1__sel:hover{background:var(--ink);color:#fff}
@media (min-width: 1024px){
  .b1__title{flex-direction:row;justify-content:space-between;align-items:flex-end;padding-top:32px;padding-bottom:24px}
  .b1__h{font-size:44px}
  .b1__fin{flex-direction:row;align-items:center;gap:40px;padding-top:24px;padding-bottom:24px}
  .b1__fg--style{flex:1}
  .b1__count{height:68px;padding:0 var(--px)}
  .b1__body{padding-top:16px;padding-bottom:80px}
}

/* ===== builder 2 ===== */
.b2__head{display:flex;flex-direction:column;gap:8px;padding-top:24px;padding-bottom:16px}
.ysel{background:#fff;border:1px solid var(--border);padding:12px 16px;display:flex;gap:14px;align-items:center;margin-top:8px}
.ysel__img{position:relative;width:52px;height:52px;background:var(--product);flex:none;overflow:hidden}.ysel__img img{width:100%;height:100%;object-fit:cover}
.ysel__c{display:flex;flex-direction:column;flex:1;min-width:0}
.ysel__chg{font-size:13px}
.b2__ctrl{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-top:4px;padding-bottom:16px}
.seg{display:flex;border:1px solid var(--strong)}
.seg__b{padding:11px 16px;font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--heading)}
.seg__b.is-on{background:var(--ink);color:#fff}
.seg__b.is-empty{opacity:1}
.b2__filters{background:var(--ivory)}
.b2__filters.is-hidden{display:none}
.b2__fin{padding-top:24px;padding-bottom:28px;display:flex;flex-direction:column;gap:24px}
.b2__fg{display:flex;flex-direction:column;gap:12px}
.b2__fg .t-label{display:flex;gap:6px;align-items:center}.b2__fg .t-label svg{width:13px;height:13px}
.b2__price{max-width:588px}
.rng__head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.rng__boxes{display:flex;gap:8px}.rng__box{width:92px;background:#fff;border:1px solid var(--border);padding:6px 10px;font-family:var(--serif);font-size:14px;color:var(--heading);outline:0;-moz-appearance:textfield}.rng__box::-webkit-inner-spin-button{-webkit-appearance:none}
.rng__scale{display:flex;justify-content:space-between;font-size:14px}
.stile[aria-pressed=true]{border-color:var(--strong)}
.b2__state{padding:40px 0}
.dtab__links{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.dtab__photo{width:120px;height:120px;background:var(--product);flex:none;overflow:hidden}.dtab__photo img{width:100%;height:100%;object-fit:cover}
.b2__price .price__inputs .btn{min-height:40px;padding:0 18px}
.dtab{display:flex;flex-direction:column}
.dtab__h{display:none}
.dtab__r{border-bottom:1px solid var(--border)}
.dtab__r[open]{background:#fff}
.dtab__row{list-style:none;display:grid;grid-template-columns:64px 1fr 1fr 1fr auto;gap:6px 12px;align-items:center;padding:12px 0;cursor:pointer;font-family:var(--serif);font-size:15px;color:var(--heading)}
.dtab__row::-webkit-details-marker{display:none}
.dtab__row>span[data-l=Cut],.dtab__row>span[data-l=Color],.dtab__row>span[data-l=Clarity]{display:none}
.dtab__img{position:relative;grid-row:span 1;width:64px;height:64px;background:var(--product);overflow:hidden}.dtab__img img{width:100%;height:100%;object-fit:cover}
.dtab__p{font-size:17px}
.dtab__heart{position:static;display:block}
.dtab__more{padding:8px 0 24px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.dtab__m{display:none}
@media (max-width: 1023.98px){
  .b2__ctrl{flex-wrap:nowrap}
  .b2__ctrl .cg__fbtn{flex:none}
  .seg{flex:1;min-width:0}.seg__b{flex:1;text-align:center;padding:11px 4px;letter-spacing:.03em;white-space:nowrap}
  .b2__ctrl{gap:8px}.b2__ctrl .cg__fbtn{padding-left:12px;padding-right:12px}
  .b2__filters{display:none}.b2__filters.is-open{display:block}
  .dtab{gap:12px}
  .dtab__r{background:#fff;border:1px solid var(--border)}
  .dtab__r[open]{border-color:var(--strong)}
  .dtab__row{grid-template-columns:72px 1fr auto;gap:0 14px;padding:12px}
  .dtab__row>span[data-l],.dtab__row>span:last-child{display:none}
  .dtab__img{width:72px;height:72px;order:-1}
  .dtab__m{display:flex;flex-direction:column;gap:4px;min-width:0}
  .dtab__p{font-style:italic;font-size:16px}
  .dtab__more{padding:0 12px 16px}
}
.dtab__specs{display:flex;gap:32px;flex-wrap:wrap}
/* diamond filters (13 Oct, user: "design galat"): "Advanced filters" + "Reset filters" share one divided row under the main
   filters; the advanced ones (polish, symmetry, fluorescence, lab) follow it two per row. Done with flex order —
   the markup (vendored nv-builder-diamonds) is unchanged. */
.b2__fg:has(> [data-vdb-adv-toggle]){order:10;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;border-top:1px solid var(--border);padding-top:20px}
.b2__reset{order:11;flex-direction:row;align-items:center}
.b2__fin>[data-vdb-adv]{order:12}
[data-vdb-adv-toggle]::after{content:' +';font-style:normal}
[data-vdb-adv-toggle][aria-expanded=true]::after{content:' −'}
@media (min-width: 1024px){
  .b2__fg:has(> [data-vdb-adv-toggle]){flex:1 1 calc(100% - 260px)}
  .b2__reset{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;border-top:1px solid var(--border);padding-top:20px;margin-left:-64px;padding-left:64px}
  .b2__fin>[data-vdb-adv]:not(.rng){width:calc((100% - 64px) / 2);max-width:588px}
}
@media (max-width: 1023.98px){.b2__reset{border-top:0;justify-content:flex-start;text-align:left;padding-top:0}.b2__reset button,[data-vdb-adv-toggle]{text-align:left}}
@media (min-width: 1024px){
  .b2__head{padding-top:32px;padding-bottom:20px}
  .b2__fin{flex-direction:row;flex-wrap:wrap;gap:28px 64px;padding-top:28px;padding-bottom:32px}
  .b2__fg:first-child{width:100%}
  .b2__fg.rng{width:calc((100% - 64px) / 2);max-width:588px}
  .b2__price{width:588px}
  .dtab__h{display:grid;grid-template-columns:100px 190px 150px 190px 140px 150px 150px 1fr;padding:14px 0;border-bottom:1px solid var(--strong)}
  .dtab__row{grid-template-columns:100px 190px 150px 190px 140px 150px 150px 1fr;gap:0;font-size:16px}
  .dtab__row>span[data-l]{display:block!important}
  .dtab__p{font-size:18px;line-height:1.2}
  .dtab__more{padding:8px 0 24px 100px;flex-direction:row;gap:40px;align-items:center}
}
@media (min-width: 1024px) and (max-width: 1279.98px){.dtab__h,.dtab__row{grid-template-columns:88px minmax(0,19fr) minmax(0,15fr) minmax(0,19fr) minmax(0,14fr) minmax(0,15fr) minmax(0,15fr) minmax(120px,20fr)}.dtab__more{padding-left:88px}.b2__price{width:auto;max-width:588px}}
@media (max-width: 359.98px){.seg__b{font-size:9.5px;letter-spacing:.01em}.b2__ctrl .cg__fbtn{padding-left:8px;padding-right:8px}}
@media (min-width: 600px) and (max-width: 1023.98px){.b1__count .sel{max-width:none}}

/* ===== builder 2b ===== */
.b2b__crumbs{padding-top:24px;padding-bottom:16px}
.b2b__in{padding-bottom:48px}
.b2b__tag{position:absolute;left:20px;top:20px;background:#fff;padding:8px 12px;display:flex;gap:8px;align-items:center;color:var(--heading)}.b2b__tag svg{width:8px;height:8px}
.b2b__bp .nv-eyebrow .t-label{font-size:9px}
.b2b__h{font-family:var(--serif);font-weight:300;font-size:30px;line-height:1.1;color:var(--heading)}
.b2b__price{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.b2b__as{display:flex;flex-direction:column;gap:10px}.b2b__as li{display:flex;gap:10px;align-items:center;font-family:var(--serif);font-size:14px;color:var(--heading)}.b2b__as svg{width:9px;height:9px;color:var(--rose)}
.sofar{background:#fff}
.sofar__in{padding-top:28px;padding-bottom:28px;display:flex;flex-direction:column;gap:18px}
.sofar__h{font-size:32px}
.sofar__it{display:flex;gap:14px;align-items:center}.sofar__it>span:last-child{display:flex;flex-direction:column}
.sofar__img{width:64px;height:64px;background:var(--product);flex:none;overflow:hidden}.sofar__img img{width:100%;height:100%;object-fit:cover}
.sofar__tot{display:flex;flex-direction:column}
@media (min-width: 1024px){
  .b2b__crumbs{padding-top:36px}
  .b2b__gal{width:calc(752 * var(--u))}
  .b2b__h{font-size:40px}
  .sofar__in{flex-direction:row;align-items:center;gap:40px;padding-top:40px;padding-bottom:40px}
  .sofar__h{font-size:40px;margin-right:auto}
}

/* ===== builder 3 ===== */
.b3__in{padding-top:24px;padding-bottom:48px;display:flex;flex-direction:column;gap:24px}
.b3__gal{display:grid;grid-template-columns:1fr;gap:12px}
.b3__main{position:relative;aspect-ratio:1;background:var(--product);overflow:hidden}
.b3__main img,.b3__s img{width:100%;height:100%;object-fit:cover}
.b3__side{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.b3__s{position:relative;aspect-ratio:1;background:var(--product);overflow:hidden}
.b3__s--w{background:#fff}
/* a label on a step-3 gallery tile ("Your diamond · …", "Your setting") */
.b3__chip{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:6px 9px;background:rgba(255,255,255,.92);color:var(--heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
/* no second setting photo: the diamond takes the whole side column */
.b3__side--one{grid-template-columns:1fr}
/* …and is shown whole: cropped to fill a tile that tall, a diamond photo is only facets */
.b3__side--one .b3__s img{object-fit:contain}
.b3__h{font-size:40px}
.b3__sum{font-family:var(--serif);font-weight:300;font-style:italic;font-size:20px;line-height:1.5;color:var(--body)}
.b3__line{background:#fff;padding:14px;display:flex;gap:14px;align-items:center}
.b3__li{width:60px;height:60px;background:var(--product);flex:none;overflow:hidden}.b3__li img{width:100%;height:100%;object-fit:cover}
.b3__lc{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.b3__lr{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.b3__chg{font-size:13px}
.b3__eng{height:54px;padding:0 16px;font-size:16px}
.b3__opts{display:flex;flex-direction:column;gap:16px}
.b3__unk{margin-top:-12px}
/* opened diamond row (13 Oct, user: "iski design sahi nahi"): price summary = a small card of label · value rows (Total
   emphasised), button full width under it. Desktop: photo | specs (3 per row) | summary + actions, one grid. */
.dtab__sum{align-self:stretch;flex-direction:column;flex-wrap:nowrap;gap:0;background:var(--porcelain);border:1px solid var(--border);padding:2px 16px}
.dtab__sum .cell{flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}
.dtab__sum .cell:last-child{border-bottom:0}
.dtab__sum .cell:last-child .t-bodys{font-family:var(--serif);font-size:20px;line-height:1.2}
.dtab__links .btn{flex:1 1 100%}
.dtab__links{align-self:stretch;row-gap:12px}
@media (min-width: 1024px){
  .dtab__more{display:grid;grid-template-columns:120px minmax(0,1fr) 290px;column-gap:40px;row-gap:14px;align-items:start;padding:20px 0 28px 100px}
  .dtab__photo{grid-column:1;grid-row:1 / span 2}
  .dtab__more>.dtab__specs:not(.dtab__sum){grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;align-self:center}
  .dtab__sum{grid-column:3;grid-row:1}
  .dtab__links{grid-column:3;justify-content:center;column-gap:22px}
}
@media (min-width: 1024px) and (max-width: 1279.98px){.dtab__more{grid-template-columns:100px minmax(0,1fr) 250px;column-gap:28px;padding-left:88px}.dtab__photo{width:100px;height:100px}.dtab__more>.dtab__specs:not(.dtab__sum){gap:16px 20px}}
.b2__reset{justify-content:flex-end}
.b3__tot{border-top:1px solid var(--strong);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.b3__tp{font-family:var(--serif);font-size:30px;color:var(--heading)}
@media (min-width: 1024px){
  .b3__in{flex-direction:row;justify-content:space-between;align-items:flex-start;padding-top:40px;padding-bottom:72px}
  /* setting 2/3, and a side column split in two rows that together match its height */
  .b3__gal{width:calc(752 * var(--u));grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
  .b3__side{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:12px}
  .b3__side .b3__s{aspect-ratio:auto}
  .b3__side--one{grid-template-rows:1fr}
  .b3__h{font-size:48px}
  .b3__bp{width:calc(472 * var(--u))}
}

/* ===== 4Cs ===== */
.lh__in{padding-top:40px;padding-bottom:56px;display:flex;flex-direction:column;gap:32px}
.lh__copy{display:flex;flex-direction:column;gap:20px}
.lh__h{font-size:56px;line-height:1.04;letter-spacing:-.84px}
.lh__jump{display:flex;gap:8px;flex-wrap:wrap}
.lh__img{width:100%;height:auto;object-fit:contain}

@media (min-width: 1024px){.lh__in{flex-direction:row;justify-content:space-between;align-items:center;padding-top:40px;padding-bottom:80px;min-height:680px}.lh__copy{width:calc(620 * var(--u));gap:26px}.lh__h{font-size:calc(96 * var(--u));letter-spacing:-1.44px}.lh__body{max-width:480px}.lh__img{width:calc(560 * var(--u));height:calc(600 * var(--u))}}
.c4--p{background:var(--porcelain)}.c4--i{background:var(--ivory)}
.c4__in{padding-top:56px;padding-bottom:56px;display:flex;flex-direction:column;gap:32px}
.c4__copy{display:flex;flex-direction:column;gap:18px}
.c4__h{font-size:34px;line-height:1.04;letter-spacing:-.51px}
.c4__vis{min-width:0}
.cut__row{display:grid;grid-template-columns:90px 1fr;gap:6px 12px;align-items:center;margin-bottom:16px}
.cut__l{font-family:var(--serif);font-size:16px;color:var(--heading)}
.cut__t{height:8px;background:var(--stone);position:relative}
.cut__f{position:absolute;left:0;top:0;bottom:0;background:var(--border)}.cut__f.is-on{background:var(--rose)}
.cut__p{grid-column:2;white-space:nowrap}
.cut__badge{display:inline-flex;gap:8px;align-items:center;background:#fff;padding:8px 12px;margin-top:8px}.cut__badge svg{width:9px;height:9px;color:var(--rose)}
.gems{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.gem{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px;margin:0}
.gem img{width:44px;height:auto}
.gem figcaption{font-family:var(--serif);font-size:17px}
.brk{display:flex;align-items:center;gap:10px;margin-top:20px;font-family:var(--serif);font-size:15px;color:var(--rose)}
.brk span{flex:1;height:1.5px;background:var(--rose)}
.brk em{white-space:nowrap}
.clar{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 10px}
.clar__g{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0}.clar__g img{width:48px;height:48px}
.carat{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap}
.carat__i{display:flex;flex-direction:column;align-items:center;gap:10px;margin:0}
.carat__o{display:block;border:1px solid var(--rose);border-radius:50%}
.carat__i figcaption{display:flex;flex-direction:column;align-items:center;gap:6px}
@media (min-width: 1024px){
  .c4__in{flex-direction:row;align-items:center;gap:calc(80 * var(--u));padding-top:110px;padding-bottom:110px}
  .c4__copy{width:calc(440 * var(--u));flex:none;gap:22px}.c4__copy .t-body{max-width:420px}
  .c4__h{font-size:48px;letter-spacing:-.72px}
  .c4__vis{width:calc(700 * var(--u))}
  .cut__row{grid-template-columns:calc(120 * var(--u)) calc(460 * var(--u)) auto;gap:calc(18 * var(--u));margin-bottom:14px}
  .cut__l{font-size:17px}.cut__p{grid-column:auto}
  .gems{gap:calc(14 * var(--u));overflow:visible}.gem img{width:calc(80 * var(--u))}
  .brk--450 span{flex:none;width:calc(450 * var(--u))}.brk--510 span{flex:none;width:calc(510 * var(--u))}
  .clar{display:flex;gap:16px}.clar__g{width:70px}.clar__g img{width:56px;height:56px}
  .carat{gap:36px}
}
@media (min-width: 1024px) and (max-width: 1279.98px){.brk--450 span,.brk--510 span{flex:1;width:auto;min-width:40px}.brk em{white-space:normal}}
.lvm__in{padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center}
.lvm__t{width:100%;max-width:960px;text-align:left}
.lvm__r{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--border);align-items:baseline}
.lvm__hd{border-bottom-color:var(--strong)}
@media (max-width: 1023.98px){.lvm__r .t-body{font-size:14px}}
@media (min-width: 1024px){.lvm__in{padding-top:110px;padding-bottom:110px;gap:40px}.lvm__r{grid-template-columns:320px 320px 320px;gap:0;padding:18px 0}}
.cta{background:var(--night);color:#fff}
.cta__in{padding-top:72px;padding-bottom:72px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.cta__h{color:#fff}.cta__h em{color:var(--sky)}
.cta__b{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
@media (min-width: 1024px){.cta__in{padding-top:100px;padding-bottom:100px}}

/* ===== 404 ===== */
.lost__in{padding-top:72px;padding-bottom:88px;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.lost__n{font-family:var(--serif);font-weight:300;font-size:140px;line-height:.9;letter-spacing:-5.6px;color:var(--heading)}
.lost__h{font-size:34px;line-height:1.04;letter-spacing:-.51px;max-width:900px}
.lost__t{max-width:520px;font-size:16px}
.lost__b{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.lost__s{width:100%;max-width:520px}.lost__s .input{height:52px;padding:0 16px;font-size:16px}
@media (min-width: 1024px){.lost__in{padding-top:120px;padding-bottom:140px;gap:24px}.lost__n{font-size:220px;letter-spacing:-8.8px}.lost__h{font-size:48px;letter-spacing:-.72px}.lost__t{font-size:18px}.lost__b{gap:16px}}

/* ===== page / blog / article / lists / account ===== */
.pg-c__in,.bl__in,.ar__in,.lc-p__in,.acc__in{padding-top:28px;padding-bottom:64px;display:flex;flex-direction:column;gap:24px}
.pg-c__h,.ar__h{font-size:40px;line-height:1.04;letter-spacing:-.6px}
.rte{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--body);max-width:760px}
.rte p+p,.rte ul,.rte ol{margin-top:14px}.rte ul{list-style:disc;padding-left:20px}.rte a{text-decoration:underline}
.rte h2,.rte h3{font-family:var(--serif);font-weight:300;color:var(--heading);margin:28px 0 10px}
.pg-c__form{display:flex;flex-direction:column;gap:16px;max-width:640px}
/* CMS page content (about / contact / policies): layout classes from the page body, in the Novara look */
.pg-c--rich .pg-c__in{gap:28px;padding-bottom:80px}
.pg-c--rich .rte{max-width:none;font-family:var(--serif);font-size:15px;line-height:1.6;letter-spacing:0}
.rte p.muted,.rte figcaption{font-family:var(--serif);font-size:15px;line-height:1.55;letter-spacing:0}
.pg-c--rich .rte > .stack{gap:56px}
.rte .stack{display:flex;flex-direction:column}
.rte .stack--2{gap:8px}.rte .stack--3{gap:12px}.rte .stack--4{gap:18px}.rte .stack--5{gap:24px}.rte .stack--7{gap:56px}
.rte .stack > *,.rte .stack p+p{margin:0}
.rte .eyebrow{font-family:var(--sans);font-size:10px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}
.rte h2,.rte .section-header__title{font-family:var(--serif);font-weight:300;font-size:30px;line-height:1.08;letter-spacing:-.02em;color:var(--heading);margin:0}
.rte h3{font-family:var(--serif);font-weight:300;font-size:21px;line-height:1.2;color:var(--heading);margin:0}
.rte .section-header{display:flex;flex-direction:column;gap:10px;max-width:760px}
.rte .section-header__text,.pg-c__note{font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--body);margin:0}
.rte .prose{max-width:var(--prose-measure,68ch);font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--body);display:flex;flex-direction:column;gap:14px}
.rte .prose--center,.rte .text-center .prose{margin-inline:auto}
.rte .prose ul{list-style:disc;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.rte .muted{color:var(--secondary)}
.rte strong{font-weight:500;color:var(--heading)}
.rte .text-center{text-align:center;align-items:center}
.rte .surface{background:var(--ivory);padding:28px 22px}
.rte .stack--7 > .surface:first-child{background:linear-gradient(135deg,var(--mist) 0%,var(--ice) 100%);padding:44px 24px}
.rte .stack--7 > .surface:first-child h2{font-size:38px}
.rte .surface--outline{background:#fff;border:1px solid var(--border);padding:24px 22px;transition:border-color .2s}
.rte .surface--outline:hover{border-color:var(--sky)}
.rte .surface--accent{background:var(--night);color:#fff;padding:52px 24px}
.rte .surface--accent a:not(.button){color:#fff}.rte .surface--accent h2{color:#fff}.rte .surface--accent .eyebrow{color:var(--sky)}.rte .surface--accent .prose{color:rgba(255,255,255,.78)}
.rte .grid{display:grid;gap:16px;grid-template-columns:1fr}
.rte .cluster{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.rte .cluster--center{justify-content:center}
.rte .badge--numeral{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--sky);font-family:var(--serif);font-size:14px;color:var(--rose)}
.rte .frame{display:block;overflow:hidden;background:var(--product)}
.rte .frame--landscape{aspect-ratio:4/3}.rte .frame--square{aspect-ratio:1}
.rte .frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rte figure:hover .frame img{transform:scale(1.03)}
.rte figcaption{font-size:13px;line-height:1.5;color:var(--body)}
.rte a{color:var(--heading);text-decoration:underline;text-underline-offset:3px}
.rte a.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 34px;font-family:var(--sans);font-weight:500;font-size:10.5px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;background:var(--ink);color:#fff;border:1px solid var(--ink);transition:background .2s,color .2s}
.rte a.button:hover{background:var(--navy);border-color:var(--navy)}
.rte a.button--gold{background:#fff;color:var(--ink);border-color:#fff}.rte a.button--gold:hover{background:var(--sky);border-color:var(--sky)}
.rte a.button--outline{background:transparent;color:var(--heading);border-color:var(--strong)}
.rte .surface--accent a.button--outline{color:#fff;border-color:rgba(255,255,255,.6)}.rte a.button--outline:hover{background:var(--ink);color:#fff}
.rte a.link-more{font-family:var(--sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.rte .accordion{border-top:1px solid var(--border);max-width:900px}
.rte .accordion__item{border-bottom:1px solid var(--border)}
.rte .accordion__summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-family:var(--serif);font-size:17px;line-height:1.45;color:var(--heading)}
.rte .accordion__summary::-webkit-details-marker{display:none}
.rte .accordion__summary::after{content:'+';font-family:var(--sans);font-size:20px;font-weight:300;color:var(--rose);flex:none}
.rte .accordion__item[open] .accordion__summary::after{content:'−'}
.rte .accordion__body{padding:0 0 20px;font-family:var(--serif);font-size:15px;line-height:1.6;color:var(--body);max-width:72ch}
.rte .assurance{display:flex;flex-direction:column;gap:12px}
.rte section:has(> .pg-note){display:none} /* the pages' own "NOTE: add your … before the store opens" reminders are for the owner, not shoppers */
.pg-c__write{display:flex;flex-direction:column;gap:24px;border-top:1px solid var(--border);padding-top:48px}
.pg-c__write .section-header{display:flex;flex-direction:column;gap:10px}
.pg-c__write .eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--rose)}
.pg-c__write .section-header__title{font-family:var(--serif);font-weight:300;font-size:30px;line-height:1.08;color:var(--heading)}
@media (min-width: 1024px){.pg-c--rich .rte > .stack{gap:88px}.rte .stack--7{gap:88px}.rte h2,.rte .section-header__title,.pg-c__write .section-header__title{font-size:44px}.rte h3{font-size:24px}.rte .grid--auto{grid-template-columns:repeat(auto-fit,minmax(var(--card-min,260px),1fr));gap:24px}.rte .surface{padding:44px 48px}.rte .surface--outline{padding:32px 30px}.rte .stack--7 > .surface:first-child{padding:80px calc(80 * var(--u))}.rte .stack--7 > .surface:first-child h2{font-size:64px;max-width:900px}.rte .surface--accent{padding:88px 48px}.rte .prose{font-size:18px}}
.bl__grid{display:grid;grid-template-columns:1fr;gap:32px}
.bl__card{display:flex;flex-direction:column;gap:10px}
.bl__img{position:relative;display:block;aspect-ratio:4/3;background:var(--product);overflow:hidden}.bl__img img{width:100%;height:100%;object-fit:cover}
.bl__t{font-family:var(--serif);font-weight:300;font-size:24px;line-height:1.15;color:var(--heading)}
.ar__in{max-width:900px}
.ar__img{width:100%;height:auto}
.lc-p__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 12px}
.lc-p__c{display:flex;flex-direction:column;gap:8px}
.lc-p__c .ch__simg{width:100%;height:auto;aspect-ratio:160/180}
@media (min-width: 1024px){.bl__grid{grid-template-columns:repeat(3,1fr);gap:40px calc(26.66 * var(--u))}.lc-p__grid{grid-template-columns:repeat(6,1fr);gap:32px 18px}.pg-c__h,.ar__h{font-size:56px}}
.acc__card{max-width:460px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.acc__card form,.acc__wide form{display:flex;flex-direction:column;gap:16px}
.acc__h{font-size:40px;line-height:1.04}
.acc__recover{border-top:1px solid var(--border);padding-top:20px}
.acc__recover:not(:target){display:none}
.acc__wide{display:flex;flex-direction:column;gap:20px;max-width:960px}
.acc__grid{display:grid;grid-template-columns:1fr;gap:32px}
@media (min-width: 1024px){.acc__grid{grid-template-columns:2fr 1fr}}
.acc__orders{display:flex;flex-direction:column}
.acc__o{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--border)}
.acc__addr{background:#fff;border:1px solid var(--border);padding:16px}
.pw{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--porcelain)}
.pw__in{display:flex;flex-direction:column;align-items:center;gap:24px;padding:24px}
.pw__in form{display:flex;gap:8px}
.pw__h{font-size:56px}
@media (max-width: 1023.98px){
  .lh__in{padding-top:28px;padding-bottom:48px;gap:24px}.lh__copy{gap:16px}.lh__h{font-size:48px}
  .lh__img{aspect-ratio:358/300;object-fit:cover;object-position:50% 45%;clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%)}
  .c4__in{padding-top:44px;padding-bottom:44px;gap:18px}.c4__copy{gap:14px}.c4__h{font-size:28px;letter-spacing:-.42px}
  .cut__row{grid-template-columns:100px 1fr;margin-bottom:12px}.cut__l{font-size:15px}.cut__p,.cut__row--good,.cut__row--fair{display:none}
  .gems{gap:4px;overflow:visible;justify-content:space-between}.gem{flex:1;gap:6px}.gem img{width:100%}.gem figcaption{font-size:15px}
  .cta__in{padding-top:56px;padding-bottom:56px;gap:20px}.cta__h{font-size:30px}.cta__b{width:100%}.cta__b .btn{width:100%}
}

/* ===== journal ===== */
.jr__card .bl__img img{transition:transform .6s}.jr__card:hover .bl__img img{transform:scale(1.04)}
.jr__more{margin-top:4px}
.jr__in{gap:20px}
.jr__meta{letter-spacing:.12em}
.jr__lede{font-family:var(--serif);font-weight:300;font-size:20px;line-height:1.45;color:var(--heading);max-width:720px}
.jr__hero{aspect-ratio:16/9;overflow:hidden;background:var(--product);margin:8px 0}.jr__hero img{width:100%;height:100%;object-fit:cover}
.jr__body{max-width:720px;font-size:17px;line-height:1.7}
.jr__body h2{font-size:26px;margin:36px 0 10px}.jr__body h2:first-child{margin-top:8px}
.jr__body ul{display:flex;flex-direction:column;gap:8px;margin:14px 0}
.jr__q{margin:32px 0;padding:6px 0 6px 22px;border-left:2px solid var(--rose);font-family:var(--serif);font-style:italic;font-weight:300;font-size:24px;line-height:1.35;color:var(--rose)}
.jr__cta{margin-top:24px;background:linear-gradient(135deg,var(--mist) 0%,var(--ice) 100%);padding:32px 24px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.jr__cta-h{font-size:30px}
.jr__cta .btn{max-width:100%;white-space:normal;text-align:center}
.jr__more-sec{margin-top:40px;padding-top:32px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:22px}
@media (min-width: 1024px){.jr__in{max-width:1180px}.jr__lede{font-size:24px}.jr__body h2{font-size:30px}.jr__q{font-size:28px}.jr__cta{flex-direction:row;align-items:center;justify-content:space-between;padding:40px 48px}.jr__cta-h{font-size:40px}}


/* ===== mobile/tablet audit fixes 2026-10-13 — one block per area ===== */
/* [fix-A nav] touch mega menu */
/* [/fix-A] */
/* [fix-B 1024-1279] builder filters, home tiles, hero certificate */
/* builder: Shape gets the full first row, Metal + Style share the second (Style was squeezed to 0px and pushed off-screen) */
@media (min-width: 1024px) and (max-width: 1365.98px){.b1__fin{flex-wrap:wrap;row-gap:20px}.b1__fin>.b1__fg:first-child{flex:1 1 100%}.b1__fin .b1__fg--style{flex:none}.b1__styles{flex-wrap:nowrap}}
/* categories: "Shop →" drops under the subtitle instead of sharing its line */
@media (min-width: 1024px) and (max-width: 1365.98px){.cat__name,.cat__tile--1 .cat__name{bottom:112px}.cat__sub{bottom:50px}.cat__rule{bottom:43px}.cat__tile .cat__shop,.cat__tile:hover .cat__shop{left:30px;right:auto;bottom:20px}}
/* popular styles: one-line names ("Cluster sides" wrapped onto its count) */
@media (min-width: 1024px) and (max-width: 1279.98px){.sty__name{white-space:nowrap;font-size:21px}}
/* hero certificate: heading on its own row, piece name gets two lines */
@media (min-width: 1024px) and (max-width: 1279.98px){.hero__cert{flex-wrap:wrap;row-gap:6px;align-items:flex-start;top:calc(740 * var(--hu) - 24px)}.hero__cert .hero__cert-h{flex:1 1 100%;max-width:none;white-space:nowrap;align-items:center}.hero__cert .cell--t .t-body{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.3}}
/* spectrum: line + chips move down so they clear the "Shop … diamonds" button */
@media (min-width: 1024px) and (max-width: 1279.98px){.spec__stage{height:calc(780 * var(--u) + 40px)}.spec__line{top:calc(622 * var(--u) + 40px)}.spec__chips{top:calc(650 * var(--u) + 40px)}}
/* [/fix-B] */
/* [fix-C phone chrome] call-now fab, footer copyright, sticky PDP CTA, gemologist gap */
.nv-sbar{display:none}
@media (max-width: 1023.98px){
  /* Call now: icon-only circle, revealed by novara.js (.is-on) once the first screen has scrolled away */
  .fab-call{width:48px;height:48px;padding:0;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s,background .2s}
  .fab-call span{display:none}.fab-call svg{width:18px;height:18px}
  .fab-call.is-on{opacity:1;visibility:visible;transform:none}
  /* footer: the copyright wraps; the bottom clears both floating buttons */
  .ft__copy{white-space:normal;overflow:visible;overflow-wrap:anywhere}
  .ft__in{padding-bottom:84px}
  /* gemologist card: in flow (overlapping the photo by 60px), so the panel ends with its content */
  .dz__r{height:auto;padding-bottom:24px}
  .dz__card{position:relative;left:auto;right:auto;top:auto;margin:-60px 24px 0}
  /* sticky PDP buy bar (built by novara.js while the main CTA is off screen) */
  .nv-sbar{position:fixed;left:0;right:0;bottom:0;z-index:140;display:flex;align-items:center;gap:14px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--ivory);border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(20,26,46,.08);transform:translateY(110%);visibility:hidden;transition:transform .25s,visibility .25s}
  .nv-sbar.is-on{transform:none;visibility:visible}
  .nv-sbar__p{flex:none;font-family:var(--serif);font-size:20px;line-height:1.2;color:var(--heading);white-space:nowrap}.nv-sbar__p s{display:none}
  .nv-sbar__b{flex:1;min-width:0;padding-left:16px;padding-right:16px}
  body.nv-sbar-on{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  body.nv-sbar-on .fab{bottom:calc(88px + env(safe-area-inset-bottom))}
  body.nv-lock .nv-sbar{visibility:hidden}
}
/* [/fix-C] */
/* [fix-D tablet portrait + hidden content] */
/* --- D1: content that used to be desktop-only, now shown below 1024px --- */
@media (max-width: 1023.98px){
  /* spectrum: absolute phone stage -> flow column, so intro, CTA and light-performance fit whatever their text length */
  .spec__stage{height:auto;padding:56px 16px 48px;display:flex;flex-direction:column;align-items:flex-start}
  .spec__eb,.spec__h,.spec__intro{position:relative;left:auto;top:auto}
  .spec__h{margin-top:10px}
  .spec__intro{margin-top:14px;max-width:560px;opacity:.85}
  .spec__shape{position:relative;align-self:stretch}
  .spec .spec__stone{position:relative;top:auto;left:auto;transform:none;display:block;margin:8px auto 0}
  .spec .spec__stone~.spec__glint,.spec .spec__stonelink~.spec__glint{top:55px}
  .spec__name{position:relative;left:auto;top:auto;display:inline-block;margin-top:4px}
  .spec__facts{position:relative;left:auto;top:auto;width:auto;margin-top:12px;gap:14px}
  .spec__cta{margin-top:6px}
  .spec__perf{display:flex;flex-direction:column;gap:10px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);max-width:420px}
  .spec__row{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.4;color:#fff}
  .spec__chips{position:relative;left:auto;right:auto;top:auto;height:auto;align-self:stretch;margin-top:30px}
  /* categories: caption stacks name / subtitle / Shop -> in flow at the tile foot */
  .cat__tile{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:0 calc(16 * var(--m)) calc(20 * var(--m))}
  .cat__name,.cat__tile--1 .cat__name{position:relative;left:auto;bottom:auto}
  .cat__sub{position:relative;margin-top:6px;font-family:var(--serif);font-style:italic;font-size:13px;line-height:1.35}
  .cat__shop{position:relative;margin-top:8px}
  .cat__all svg,.faq__lnk svg,.dz__alt svg{opacity:1}
  .dz__ctas .dz__alt{flex:none}
  /* collection toolbar: product count fits beside Filters + Sort */
  .cg__tools{gap:12px}
  .cg__count{white-space:nowrap}
}
@media (max-width: 599.98px){
  .spec__cta{align-self:stretch}
  .dz__ctas .dz__alt{position:absolute;right:0;bottom:calc(100% + 14px);white-space:nowrap}
  /* phone toolbar: count drops to its own caption line so Filters + Sort keep their width */
  .cg__barin{flex-wrap:wrap;row-gap:6px}
  .cg__tools{display:contents}
  .cg__count{order:3;flex:1 1 100%;font-size:12px;color:var(--secondary)}
  .cat__tile--2 .cat__sub,.cat__tile--3 .cat__sub,.cat__tile--4 .cat__sub,.cat__tile--5 .cat__sub{font-size:12px}
}
/* --- D2: tablet portrait layer (600-1023.98) on top of the phone layout --- */
@media (min-width: 600px) and (max-width: 1023.98px){
  /* product grids: 3 across (collection, builder, search, wishlist) */
  .cg__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 14px;grid-auto-flow:row dense}
  .sv__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 14px}
  .recs__rail{gap:14px}
  .recs__rail>.card{width:calc((100vw - 2 * var(--px) - 28px) / 3)}
  .cg__tools{gap:20px}
  /* primary CTAs: no more 720px bars */
  .hero__mb{align-items:center;text-align:center;padding-inline:var(--px)}
  .hero__mb .btn--block{width:100%;max-width:420px}
  .p70__m .btn--block{align-self:flex-start;width:auto;min-width:320px;max-width:420px}
  .spec__cta{align-self:flex-start}
  /* categories: wide hero tile + 2x2, instead of a 620x730 Rings tile */
  .cat__bento{aspect-ratio:358/444}
  .cat__tile--1{height:calc(180 * var(--m))}
  .cat__tile--2,.cat__tile--3{top:calc(192 * var(--m));height:calc(120 * var(--m))}
  .cat__tile--4,.cat__tile--5{top:calc(324 * var(--m));height:calc(120 * var(--m))}
  .cat__name{font-size:28px}.cat__tile--1 .cat__name{font-size:44px}
  .cat__sub{font-size:15px}
  /* text sections: readable measure */
  .spec__stage{padding-inline:var(--px)}
  .spec__facts{max-width:560px}
  .faq__intro .t-body,.sec-head .t-body{max-width:600px}
  /* PDP: gallery capped so title + price land on the first screen */
  .pdp__slide{aspect-ratio:auto;height:min(52vh,600px)}
  .pdp__slide .lv{aspect-ratio:auto;height:100%}
  .pdp__slide .lv__img,.pdp__slide>img{object-fit:contain}
  .bp{padding-inline:var(--px)}
  /* design: the wider panel scales the pear ring up under the "Setting — Diamond — Done" steps; show more of the photo's top */
  .dz__night{object-position:50% 32%}
}
/* [/fix-D] */
/* [fix-E taps + type] tap targets, tiny text */
/* E1: invisible hit areas (transparent ::before) on touch screens - nothing visible moves or grows */
@media (max-width: 1023.98px), (hover: none) and (pointer: coarse){
  .hd__ic::before,.mm__top button::before,.cd__head button::before,.bp__heart::before,.card__heart::before,
  a.metal::before,.ft__social a::before,.hero__tab::before{content:"";position:absolute}
  .mm__top button,.cd__head button,.bp__heart,a.metal,.ft__social a{position:relative}
  /* header icons sit 16px apart: 44 tall, split the gap sideways, outer edges reach further */
  .hd__ic::before{inset:-12px -8px}
  .hd__mleft .hd__ic:first-child::before,.hd__icons .hd__ic:first-child::before{left:-12px}
  .hd__ic:last-child::before{right:-12px}
  .mm__top button::before,.cd__head button::before,.bp__heart::before{inset:-12px}
  .card__heart::before{inset:-14px -8px -14px -14px}
  /* metal dots are 6px apart: tall hit area, only half the gap sideways so neighbours never overlap */
  a.metal::before{inset:-15px -3px}
  .metals a.metal:first-child::before{left:-10px}.metals a.metal:last-child::before{right:-10px}
  .ft__social a::before{inset:-13px -9px}
  .hero__tab::before{inset:-12px -7px}
  .qty button::after{inset:-15px}
  .cd__x::before{content:"";position:absolute;inset:-4px}
}
@media (max-width: 1023.98px){
  /* rows/links: padding grows the hit box, the equal negative margin keeps every line where it was */
  .ft__col summary{padding:15px 0;margin:-15px 0}
  .mm__row summary{padding:14px 0;margin:-14px 0}
  .fg__h{padding:14px 0;margin:-14px 0}
  /* an open group's content would paint over the summary's lower padding - keep the row on top */
  .ft__col summary,.mm__row summary,.fg__h{position:relative;z-index:1}
  .crumbs a{padding:14px 4px;margin:-14px -4px}
  /* PDP light certificate: at 11px the N° no longer fits beside the heading - it drops to its own line */
  .lc__top{flex-wrap:wrap;gap:4px 12px}.lc__top>*{white-space:nowrap}
  /* short caps that must stay on one line once they are 11px */
  .hero__note--m{max-width:none}.hero__note--m .t-cap,.hero__mcert .t-cap{white-space:nowrap;letter-spacing:.03em}
  .p70__mrow .t-cap,.rv__meta .t-cap{white-space:nowrap}.p70__mrow .t-cap{letter-spacing:.02em;margin-left:-4px}
  /* E2: no text under 11px on phones / tablets */
  .t-cap,.t-label,.nv-eyebrow .t-label,.b2b__bp .nv-eyebrow .t-label,.pr__item .t-label,.trust__item .t-h3,
  .badge,.card__qv,.hero__tab,.hero__m .hero__tab,.loupe__badge,.cg__fbtn,.ft__copy,.ra li{font-size:11px}
}
/* 320–359px phones: those one-line caps do not fit — let them wrap (they pushed the page 24px wider) */
@media (max-width: 359.98px){
  .p70__mrow .t-cap,.rv__meta .t-cap{white-space:normal}.p70__mrow .t-cap{margin-left:0}
  .p70__mrow{overflow-x:clip}
  .dz__card .btn{max-width:100%;white-space:normal;text-align:center}
}
/* [/fix-E] */

/* [fix-F] round-3 medium fixes */
/* F1: touch screens never hover, so Quick view was unreachable — show it as a compact pill on the image corner */
@media (hover: none) and (pointer: coarse){
  .card__qv,.card:hover .card__qv{left:auto;right:8px;bottom:8px;width:auto;height:30px;padding:0 12px;border-radius:999px;background:rgba(20,26,46,.86)}
}
@media (hover: none) and (pointer: coarse) and (max-width: 599.98px){.card__qv,.card:hover .card__qv{height:28px;padding:0 10px;letter-spacing:.04em;right:6px;bottom:6px}}
/* F2: touch tablets in landscape (≥1024) get the phone's icon-only Call now, revealed by novara.js after the first screen */
@media (min-width: 1024px) and (hover: none) and (pointer: coarse){
  .fab-call{width:48px;height:48px;padding:0;justify-content:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s,background .2s}
  .fab-call span{display:none}.fab-call svg{width:18px;height:18px}
  .fab-call.is-on{opacity:1;visibility:visible;transform:none}
}
/* F3: tablet portrait — bag, sign in and filters open as a side drawer like landscape, not full width */
@media (min-width: 600px) and (max-width: 1023.98px){.ov__panel--right{width:460px}}
/* [/fix-F] */

/* ===== low-priority mobile/tablet fixes 2026-10-14 — one block per agent ===== */
/* [fix-G1 product page] */
/* G1.1 phone gallery: the whole piece in the square (4:3 photos were cropped at the sides — bands lost their edges, necklaces ran up under the label) — as the tablet layer already does */
@media (max-width: 599.98px){.pdp__slide .lv__img,.pdp__slide>img{object-fit:contain}.pdp__slide,.pdp__slide .lv{background:#fff}}
/* G1.2 the light-view label keeps its own backdrop, so a photo reaching the corner never runs through it */
@media (max-width: 1023.98px){.pdp__slide .lv__label{left:8px;top:8px;padding:4px 6px;border-radius:2px;background:rgba(255,255,255,.78)}.pdp__slide .lv[data-lv=spot] .lv__label{background:rgba(20,26,46,.45)}}
/* G1.3 option rows: a value ("Screw Back", "Yellow Gold") wraps as one unit under its name, never word by word */
@media (max-width: 1023.98px){.og__l{flex-wrap:wrap;row-gap:2px}.og__l .t-bodys{white-space:nowrap}}
/* [/fix-G1] */
/* [fix-G2 listing + builder + search] */
/* G2.2 filter drawer "Show N results": .btn is a flex box, so "Show ", the count and " results" became three flex items and lost their spaces — the gap puts them back */
.btn[data-fd-show]{gap:.42em}
@media (max-width: 599.98px){
  /* G2.1 sort: its own full-width row, so the whole chosen label shows ("Sort: Price, low to high" included); collection count moves up beside Filters */
  .cg__tools .sel{order:4;flex:1 1 100%;max-width:none}
  .cg__count{order:2;flex:1 1 0;min-width:0;text-align:right}
  .b1__count{flex-wrap:wrap;row-gap:10px}.b1__count .sel{flex:1 1 100%;max-width:none}
  /* G2.3 search page: slimmer Search button, input padding and a 14px placeholder (typed text stays 16px, no iOS zoom) so "Search rings, diamonds, gifts…" fits */
  .sr-p__form .btn{padding-inline:16px}.sr-p__form .input{padding:0 12px}.sr-p__form .input::placeholder{font-size:14px}
}
@media (max-width: 389.98px){
  /* G2.3 below 390 the wide Search label leaves too little — the button drops under a full-width field */
  .sr-p__form{flex-wrap:wrap}.sr-p__form .input,.sr-p__form .btn{flex:1 1 100%}.sr-p__form .input::placeholder{font-size:16px}
  /* G2.2 drawer foot: the two buttons size to their labels so "Show 2240 results" is not pushed past the edge */
  .fd__foot{gap:8px}.fd__foot .btn{flex:1 1 auto;padding-inline:10px;letter-spacing:.04em}
}
@media (max-width: 359.98px){
  /* G2.2 at 320 they cannot share a row — Show N results on top, Clear all under it */
  .fd__foot{flex-wrap:wrap}.fd__foot .btn{flex:1 1 100%}.fd__foot [data-fd-show]{order:-1}
  /* G2.5 diamonds 320: Filters tightens so "Lab grown | Natural" fits inside its border */
  .b2__ctrl{gap:6px}.b2__ctrl .cg__fbtn{gap:6px;padding-left:6px;padding-right:6px}.seg__b{padding-left:6px;padding-right:6px}
}
/* G2.4 complete-your-ring with nothing chosen: no tall logo placeholders — the gallery shows once a setting or diamond has a photo */
@media (max-width: 1023.98px){.b3__gal:not(:has(img)){display:none}}
/* [/fix-G2] */
/* [fix-G3 guides + content + type] */
@media (max-width: 1023.98px){
  /* G3.1 ring size chart: Diameter / Circumference stay one line where they fit (390+, as before the soft hyphens) — below that see the max-width:389.98 rule */
  .sg__th>span+span{white-space:nowrap}
  .sg__ctas .btn{max-width:100%;white-space:normal;text-align:center;padding-left:20px;padding-right:20px}
  /* G3.3 about "guarantees": the bold title sits on its own line above its text */
  .rte .assurance strong{display:block;margin-bottom:2px}
  /* G3.4 no text under 11px: button labels and the header bag/wishlist count */
  .btn{font-size:11px}
  .hd__count{min-width:16px;height:16px;font-size:9px;line-height:1;padding:0 4px;top:-7px;right:-10px}
  /* collection promo tile: its "Shop engagement rings" ran past the tile edge at 320 (already at 10.5px) — keep it inside, two lines only if it must */
  .promo__copy{right:20px}.promo .btn{max-width:100%;padding-left:20px;padding-right:20px;white-space:normal;text-align:center}
}
/* G3.1 320-389 ring size chart: narrow first column, two equal shrinkable columns; headers break at their soft hyphens (nv-overlays) instead of running out of the panel (the necklace .gd__tr grid keeps its own columns) */
@media (max-width: 389.98px){.sg__tr:not(.gd__tr){grid-template-columns:50px minmax(0,1fr) minmax(0,1fr);column-gap:8px}.sg__th{letter-spacing:.03em}.sg__th>span,.sg__th>span+span{min-width:0;white-space:normal;-webkit-hyphens:manual;hyphens:manual}}
/* G3.2 4Cs clarity icons: the 70px figures shrink at 1024-1279 — keep the stones square instead of squashing them */
@media (min-width: 1024px) and (max-width: 1279.98px){.clar__g{min-width:0}.clar__g img{max-width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}}
/* empty bag / empty wishlist at 320-359: the 11px "Shop engagement rings" button was 4px wider than the screen — let it wrap inside */
@media (max-width: 359.98px){.cart__eb .btn,.sv__empty .btn{max-width:100%;white-space:normal;text-align:center;padding-left:20px;padding-right:20px}}
/* [/fix-G3] */

/* ===== collection toolbar: Price + Metal chips (per Nainesh 2026-10-14) — sections/nv-collection-grid.liquid, novara.js [data-fb] ===== */
.fb{position:relative;min-width:0;flex:1}
.fb__chips{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.fb__pw{position:relative}
.fb__price{flex:none;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 14px;border:1px solid var(--border);background:#fff;font-family:var(--sans);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--heading);cursor:pointer;white-space:nowrap}
.fb__price svg{width:14px;height:14px;flex:none;transition:transform .15s}
.fb__price[aria-expanded="true"] svg{transform:rotate(180deg)}
.fb__price.is-on{box-shadow:inset 0 0 0 1.5px var(--ink);border-color:var(--ink)}
.fb__pv{font-family:var(--serif);font-size:14px;letter-spacing:0;text-transform:none;color:var(--rose)}
.fb__pv:empty{display:none}
.fb__m{height:40px;white-space:nowrap;flex:none}
.fb__sep{width:1px;height:24px;background:var(--border);margin:0 4px;flex:none}
.fb__meta{display:flex;align-items:baseline;gap:14px;padding-top:14px;padding-bottom:2px}
.fb__count{font-family:var(--sans);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary)}
.fb__clear{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--heading);text-decoration:underline;text-underline-offset:3px}
.fb__pop{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:360px;background:#fff;border:1px solid var(--border);box-shadow:0 22px 44px -24px rgba(20,26,46,.35);padding:20px;display:flex;flex-direction:column;gap:14px}
.fb__pop[hidden]{display:none}
.fb__ph{margin:0;font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--heading)}
.fb__pre{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fb__pre button{height:42px;border:1px solid var(--border);background:#fff;font-family:var(--serif);font-size:14px;color:var(--heading);cursor:pointer}
.fb__pre button.is-on{box-shadow:inset 0 0 0 1.5px var(--ink);border-color:var(--ink)}
.fb__mm{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:end}
.fb__mm label{display:flex;flex-direction:column;gap:6px;font-family:var(--sans);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary)}
.fb__mm input{height:42px;border:1px solid var(--border);padding:0 12px;font-family:var(--serif);font-size:15px;color:var(--heading);width:100%;min-width:0;background:#fff}
.fb__mm i{font-style:normal;color:var(--secondary);padding-bottom:11px}
.fb__apply{height:46px}
.fb__hint{margin:0;font-size:13px;color:var(--secondary);font-family:var(--serif)}
.fb__hint.is-err{color:#9b2c2c}
@media (max-width:1023.98px){
  .cg__barin{flex-direction:column;align-items:stretch;gap:12px;min-width:0}
  .fb{flex:none;width:100%;min-width:0}
  .fb__chips{overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--px) * -1);padding-right:var(--px)}
  .fb__chips::-webkit-scrollbar{display:none}
  .fb__pw{position:static}
  .fb__pop{left:0;right:0;width:auto}
  .cg__tools{width:100%;min-width:0;justify-content:space-between}
}
/* ===== /collection toolbar ===== */

/* ===== builder: Fancy colour tiles (per Nainesh 2026-10-15) — sections/nv-builder-diamonds.liquid, novara.js [data-fc] ===== */
.fc{display:flex;align-items:center;gap:6px;min-width:0}
.fc__track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px;min-width:0;flex:1}
.fc__track::-webkit-scrollbar{display:none}
.fc__t{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;padding:0;cursor:pointer;width:64px}
.fc__img{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border)}
.fc__img img{width:28px;height:auto;display:block}
.fc__n{font-family:var(--serif);font-size:13px;color:var(--body);line-height:1.2}
.fc__t:hover .fc__img{border-color:var(--secondary)}
.fc__t.is-on .fc__img{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.fc__t.is-on .fc__n{color:var(--heading)}
.fc__t:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.fc__nav{flex:none;width:30px;height:64px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--heading);cursor:pointer;align-self:flex-start}
.fc__nav svg{width:20px;height:20px}
.fc__nav[disabled]{opacity:.25;cursor:default}
@media (max-width:599.98px){.fc__t{width:58px}.fc__img{width:58px;height:58px}.fc__nav{height:58px;width:24px}}
/* ===== /builder Fancy colour tiles ===== */

/* ===== remaining low fixes 2026-10-15 ===== */
/* [fix-H1 touch type + taps] */
/* H1.1 touch tablets in landscape (≥1024, desktop layout): no text under 11px — the fix-E E2 list plus the desktop-only small type; a mouse at any width is untouched */
@media (min-width: 1024px) and (hover: none) and (pointer: coarse){
  .t-cap,.t-label,.t-nav,.nv-eyebrow .t-label,.b2b__bp .nv-eyebrow .t-label,.pr__item .t-label,.bs__txt .t-label,
  .btn,.badge,.card__qv,.hero__tab,.hero__m .hero__tab,.loupe__badge,.spec__lbl,.cg__fbtn,.ft__copy,.ft__join,.ra li,.pdp__view,.ochip--wt small,.ochip__u,.bpf__row .bpf__ct,
  .wo__cta,.lv__btn,.b1__sel,.seg__b,.sel select,.fb__price,.fb__count,.fb__ph,.fb__mm label,.rte .eyebrow,.pg-c__write .eyebrow,.rte a.button,.dlc .dlc__ce{font-size:11px}
  .crumbs a{padding:14px 4px;margin:-14px -4px}
  /* 4Cs cut bars: the fixed 460u bar left no room for an 11px "98% light returned" at 1024 (page 33px wider) — the bar takes what is left */
  .cut__row{grid-template-columns:calc(120 * var(--u)) minmax(0,1fr) auto}
  /* PDP light certificate: heading and N° each stay one line; the N° drops under the heading when both no longer fit (as fix-E below 1024) */
  .lc__top{flex-wrap:wrap;gap:4px 12px}.lc__top>*{white-space:nowrap}
  /* builder steps: "Ring setting" stays one line; builder shape tiles: tighter caps so all ten (Heart included) still fit 1024 without scrolling */
  .bs__txt .t-label{white-space:nowrap}
  .b1__shapes .stile .t-cap{letter-spacing:.02em}
  /* home spectrum: the ten shape names keep clear air between them at 11px */
  .spec__lbl{letter-spacing:.02em}
}
/* footer 1024-1279: the 11px "INFORMATION" heading widened its column and squeezed "Wedding Bands" onto two lines — a smaller column gap gives the room back */
@media (min-width: 1024px) and (max-width: 1279.98px) and (hover: none) and (pointer: coarse){.ft__cols{gap:40px}}
/* H1.2 page content (about, contact): eyebrows and buttons at 11px below 1024 too; collection Price chip / count and PDP "Get my offer" with them */
@media (max-width: 1023.98px){.rte .eyebrow,.pg-c__write .eyebrow,.rte a.button,.fb__price,.fb__count,.wo__cta{font-size:11px}}
/* H1.3 taps: FAQ questions 44px tall (padding + equal negative margin, nothing moves); footer phone / email / address reach as far as their 10px gaps allow without stealing each other's taps */
@media (max-width: 1023.98px), (hover: none) and (pointer: coarse){
  .faq__q{padding:10px 0;margin:-10px 0;position:relative;z-index:1}
  .ft__contact a{position:relative}.ft__contact a::before{content:"";position:absolute;inset:-5px -8px -5px -34px}
  .ft__contact li:first-child a::before{top:-12px}.ft__contact li:last-child a::before{bottom:-12px}
}
/* [/fix-H1] */
/* [fix-H2 content + specs] */
/* about "guarantees": the page content has no space after each bold title ("Certified stonesIndependent…") — title on its own line at every width, as fix-G3 already does below 1024 */
.rte .assurance strong{display:block;margin-bottom:2px}
/* [/fix-H2] */
/* [diamond list B] the ring builder's diamond list, option B (per Nainesh 2026-10-15, from the Whitemoon builder):
   List / Grid switch on the count line, the Top 4 AI picks in their own band, stone cards, and a side drawer per stone */
.b1__count .dl-tools{display:flex;align-items:center;gap:14px;min-width:0}
.dl-vw{display:inline-flex;flex:none;border:1px solid var(--border);background:#fff}
.dl-vw button{appearance:none;width:40px;height:40px;margin:0;padding:0;display:grid;place-items:center;border:0;background:none;color:var(--secondary);cursor:pointer}
.dl-vw button+button{border-left:1px solid var(--border)}
.dl-vw button.is-on{background:var(--ink);color:#fff}
.dl-vw button:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.dl-vw svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4}
.dl{display:flex;flex-direction:column;gap:18px;padding-bottom:8px}
.dl__lbl{margin:8px 0 0}
.dl__ai{color:var(--rose)}
.dlb{background:var(--porcelain);border:1px solid var(--border);padding:26px 26px 30px;display:flex;flex-direction:column;gap:18px}
.dlb__h{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;flex-wrap:wrap}
.dlb__t{font-family:var(--serif);font-size:26px;line-height:1.1;color:var(--heading);margin:0}
.dlb__t em{color:var(--rose)}
.dlg{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 18px}
.dlb .dlg{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}
.dlc{appearance:none;text-align:left;background:none;border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;cursor:pointer;font:inherit;color:var(--heading);min-width:0}
.dlc__im{position:relative;display:block;aspect-ratio:1/1;background:var(--product);overflow:hidden;outline:1px solid transparent;outline-offset:3px;transition:outline-color .25s}
.dlc:hover .dlc__im{outline-color:var(--secondary)}
.dlc:focus-visible{outline:none}.dlc:focus-visible .dlc__im{outline:2px solid var(--rose)}
.dlc__im img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.dlc:hover .dlc__im img{transform:scale(1.04)}
.dlc__v{position:absolute;right:8px;bottom:8px;background:#fff;padding:4px 7px;font-style:normal}
.dlc__rk{position:absolute;left:8px;top:8px;background:var(--ink);color:#fff;padding:5px 8px;font-style:normal}
.dlc__r1{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.dlc__ct{font-family:var(--serif);font-size:19px;line-height:1.15}
.dlb .dlc__ct{font-size:21px}
.dlc__pr{white-space:nowrap;text-align:right}
.dlc__pr s{font-style:normal;font-size:12px;color:var(--secondary)}
.dlc__sp{color:var(--body)}
.dlc__ce{color:var(--secondary);font-size:8.5px}
.dlc__sv{color:var(--success)}
.nv-sk-grid{pointer-events:none}
.nv-sk-grid .dlc__im{display:block}
button.dtab__row{appearance:none;width:100%;margin:0;border:0;background:none;text-align:left;font:inherit;font-family:var(--serif)}
button.dtab__row:hover{background:var(--porcelain)}
.dtab__p s{margin-left:6px}
.dl__go{justify-self:end;padding-right:12px}
.dlx{position:fixed;inset:0;z-index:300;display:flex;justify-content:flex-end;background:rgba(20,26,46,.42)}
.dlx[hidden]{display:none}
.dlx__p{width:min(560px,100%);height:100%;overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:22px 30px 40px;display:flex;flex-direction:column;gap:14px;box-shadow:-20px 0 40px -20px rgba(20,26,46,.4);animation:dlxIn .28s ease}
.dlx__p>*{flex:none}
@keyframes dlxIn{from{transform:translateX(40px)}to{transform:none}}
.dlx__top{display:flex;justify-content:space-between;align-items:center}
.dlx__x{appearance:none;border:0;background:none;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;color:var(--heading)}
.dlx__x svg{width:20px;height:20px}
.dlx__h{margin-top:10px}
.dlx .seg{display:flex}
.dlx .seg__b{flex:1;text-align:center}
.dl-dv__stage{aspect-ratio:4/3;background:var(--product);display:grid;place-items:center;overflow:hidden}
.dl-dv__stage img,.dl-dv__stage iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}
.dl-dv__t{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1.08;color:var(--heading)}
.dl-dv__p{font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.2;color:var(--heading)}
.dl-dv__p s{font-size:16px;color:var(--secondary)}
.dl-sum{display:flex;flex-direction:column;background:var(--porcelain);border:1px solid var(--border);padding:2px 18px;margin:6px 0 4px}
.dl-sum div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid var(--border)}
.dl-sum div:last-child{border-bottom:0}
.dl-sum dd{margin:0;color:var(--heading)}
.dl-sum .tot dd{font-family:var(--serif);font-size:22px}
.dlx .btn{width:100%}
.dl-specs{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;margin:0}
.dl-specs div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.dl-specs dd{margin:0;font-family:var(--serif);font-size:15px;color:var(--heading);text-align:right}
html.dlx-lock{overflow:hidden}
@media (max-width:1199.98px){.dlg{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1023.98px){.dlg,.dlb .dlg{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599.98px){
  .b1__count .dl-tools{gap:8px}.dl-vw button{width:36px;height:36px}
  .dlg,.dlb .dlg{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}
  .dlc__ct,.dlb .dlc__ct{font-size:18px}.dlc__r1{flex-direction:column;gap:2px}.dlc__pr{text-align:left}
  .dlb{padding:18px 14px 22px;margin-inline:calc(var(--px) * -1);border-inline:0}.dlb__t{font-size:22px}
  .dlx__p{padding:14px 16px 32px}.dl-specs{grid-template-columns:1fr}.dl-dv__p{font-size:24px}
}
@media (prefers-reduced-motion:reduce){.dlx__p{animation:none}.dlc__im img{transition:none}}
/* [/diamond list B] */
/* [igi badge] IGI badge rule (snippets/nv-igi-rule.liquid): a badge the rule hides keeps its [hidden] over the list's flex rows */
.bp__as li[hidden]{display:none!important}
/* [/igi badge] */
/* [pdp gutter] PDP at 1024–1300 (per Nainesh 2026-10-15): the buy panel's 400px floor left no room for the fixed 752u
   gallery column, so the two met with no gutter and the photo ran 3px under the panel. A 32px gutter always (1440 keeps
   its own ~33px), and the gallery / light-performance columns shrink into what is left instead of overflowing. */
@media (min-width:1024px){
  .pdp__in{column-gap:32px}
  .pdp__left{width:auto;flex:0 1 calc(752 * var(--u));min-width:0}
  .pdp__gallery{min-width:0}
  .pdp__main{width:auto;flex:0 1 calc(660 * var(--u));min-width:0}
  .lp{min-width:0}
  .lp__copy{width:auto;flex:0 1 calc(350 * var(--u));min-width:0}
  /* the light switch sat at a fixed 599u from the top, below a photo that is now narrower: pin it 21u off the bottom (its 1440 spot) */
  .lv__switch{top:auto;bottom:calc(21 * var(--u))}
}
/* narrow desktops: the light-performance copy had ~166px left at 1024 — drop the block's 92u indent and tighten its gap */
@media (min-width:1024px) and (max-width:1279.98px){.lp{padding-left:0;gap:24px}}
/* [/pdp gutter] */
/* [card swap] card metal swap (DotcomTheme/card-metal-swap.md): while a metal's piece loads the card's photo dims under
   the shimmer's light sweep and its name and price fade; a photo still on its way is the shimmer (img.nv-sk-img) */
.card.is-swapping .card__img::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(115deg,transparent 30%,var(--sk-tint,rgba(58,79,140,.1)) 44%,rgba(255,255,255,.85) 50%,var(--sk-tint,rgba(58,79,140,.1)) 56%,transparent 70%);transform:translateX(-100%);animation:nvSkSweep 2.2s cubic-bezier(.4,0,.2,1) infinite}
.card.is-swapping .card__img img{opacity:.55;transition:opacity .2s}
.card.is-swapping .card__title,.card.is-swapping .card__price{opacity:.5;transition:opacity .2s}
.card__price s[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.card.is-swapping .card__img::after{animation:none;display:none}}
/* [/card swap] */
/* [card logo] Novara logo in a product card's photo frame while the photo loads (option B, per Nainesh 2026-10-19):
   the diamond "N" mark with NOVARA under it, as in the header, faint, over the shimmer's light sweep. Shown only while
   the card's main photo is still on its way (nv-shimmer.js marks it img.nv-sk-img; also a metal swap's photo) and on
   skeleton cards (.card__img.nv-sk) — a photo that has arrived is never covered. ::before, as ::after is the sweep. */
.card__img:has(> img.nv-sk-img:not(.card__alt))::before,.card__img.nv-sk::before{content:"NOVARA";position:absolute;inset:0;z-index:1;pointer-events:none;display:flex;align-items:center;justify-content:center;padding-top:58px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%23141a2e' stroke-width='1.1'%3E%3Cpath d='M13 1.5L24.5 13L13 24.5L1.5 13L13 1.5Z'/%3E%3Cpath d='M9 17V9L17 17V9' stroke-linejoin='round'/%3E%3C/svg%3E") center calc(50% - 14px)/34px 34px no-repeat;font-family:var(--sans);font-weight:300;font-size:12px;letter-spacing:.22em;color:var(--heading);opacity:.3;visibility:visible}
@media (max-width:599.98px){.card__img:has(> img.nv-sk-img:not(.card__alt))::before,.card__img.nv-sk::before{font-size:10px;padding-top:48px;background-size:28px 28px;background-position:center calc(50% - 12px)}}
/* [/card logo] */
/* [pdp 3d] 360° / 3D in the photo box (per Nainesh 2026-10-21, as on the Whitemoon product page): the viewer fills the big
   photo (desktop) or the photo slider (phone) over the photo, its light switch and Try on; the shimmer shows until it
   has loaded; "← Photos" top left and a "Drag to turn" line at the foot, as on the reference */
.pdp__3d{position:absolute;inset:0;z-index:4;display:none;background:#fff}
.is-3d>.pdp__3d{display:block}
.pdp__3d iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:transparent}
.pdp__3d.is-loading{background-color:var(--sk,#e6e8ee);background-image:linear-gradient(115deg,var(--sk,#e6e8ee) 30%,#eef0f6 44%,#fbfbfd 50%,#eef0f6 56%,var(--sk,#e6e8ee) 70%);background-size:300% 100%;animation:nvSkBg 2.2s cubic-bezier(.4,0,.2,1) infinite}
.pdp__3d.is-loading iframe{opacity:0}
.pdp__3dx{position:absolute;left:16px;top:16px;z-index:2;padding:8px 12px;background:rgba(255,255,255,.94);border:1px solid var(--border);color:var(--heading);cursor:pointer}
.pdp__3dx:hover{background:#fff;border-color:var(--strong)}
.pdp__3dcap{position:absolute;left:0;right:0;bottom:14px;z-index:2;margin:0;text-align:center;color:var(--secondary);pointer-events:none}
.pdp__slides.is-3d .pdp__dots{visibility:hidden}
@media (prefers-reduced-motion:reduce){.pdp__3d.is-loading{animation:none}}
/* [/pdp 3d] */

/* ===== collection filters (collection-filters-rules.md, 23 Oct 2026) — sections/nv-collection-grid.liquid, novara.js [data-cf] ===== */
[data-cf] button.ochip,[data-cf] button.fchip,[data-cf] button.fshape{cursor:pointer;-webkit-appearance:none;appearance:none}
[data-cf] .ochip[aria-pressed="true"],[data-cf] .fchip[aria-pressed="true"],[data-cf] .fshape[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
[data-cf] .is-zero:not([aria-pressed="true"]){opacity:.4;pointer-events:none}
.fb__n{font-family:var(--sans);font-size:10px;letter-spacing:.04em;color:var(--secondary)}
.fb__n:empty{display:none}
.fshape .fb__n{margin-top:-4px}
.fb__pr{font-family:var(--serif);font-size:14px;letter-spacing:0;text-transform:none;color:var(--rose);margin-left:6px}
.fb__pop--shape{width:640px}
.fb__pop--metal{width:420px}
.fb__pop--metal .fg__wrap{padding-top:0}
.fb__pv{max-width:220px;overflow:hidden;text-overflow:ellipsis}
.fb__pop--shape .fg__wrap{padding-top:0}
[data-cf] .fb__pop .price{padding-top:0}
[data-cf] .price__lab{font-family:var(--sans);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary);margin-right:6px}
[data-cf] .price.is-wait{opacity:.5;pointer-events:none}
[data-cf] [data-cf-pricew][hidden]{display:none}
.fg__h--row{cursor:default;justify-content:flex-start;margin:0}
.cg__load{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--secondary)}
.cg__load[hidden]{display:none}
[data-cf] .fb__clear{background:none;border:0;padding:0;cursor:pointer}
[data-cf] .fb__clear[hidden]{display:none}
[data-cf] .cg__grid.is-wait{opacity:.55;transition:opacity .2s}
[data-cf] button.fck{background:none;border:0;padding:0;text-align:left;width:100%}
[data-cf] .fck[aria-pressed="true"]>.check{background:var(--ink)}
[data-cf] .fck[aria-pressed="true"]>.check svg{opacity:1}
.fd__msg{margin:0;padding:12px 28px 0;font-family:var(--serif);font-size:14px;color:#9b2c2c;border-top:1px solid var(--border)}
.fd__msg[hidden]{display:none}
.fd__msg+.fd__foot{border-top:0}
[data-cf-show].is-busy{opacity:.7}
.pg__info{margin:0;padding-top:48px;text-align:center;font-family:var(--sans);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary)}
.pg__info+.pg{padding-top:16px}
.pg__txt.is-off{opacity:.35;text-decoration:none;cursor:default}
.pg__gapm{display:none}
@media (max-width:560px){.pg__far{display:none}.pg__gapm{display:inline}}
@media (min-width:1024px){[data-cf] [data-open="nvf"]{display:none}}
@media (max-width:1023.98px){
  [data-cf] [data-cf-bar],[data-cf] .cg__sort{display:none}
  [data-cf] .cg__barin{flex-direction:row;align-items:center}
  [data-cf] .fg--price .price{padding-top:14px}
  [data-cf] .fd__msg{padding-inline:16px}
}
/* ===== /collection filters ===== */

/* ===== collection description: intro, buying guide, FAQ (collection-description-rule.md, 23 Oct 2026) — snippets/nv-col-desc.liquid ===== */
.ch__desc .ncd-intro{display:flex;flex-direction:column;gap:10px;max-width:560px}
.ch__desc .ncd-intro p{margin:0}
.ch__desc .ncd-intro a{text-decoration:underline;text-underline-offset:3px}
.ncd{border-top:1px solid var(--border);background:var(--porcelain)}
.ncd__in{display:flex;flex-direction:column;gap:72px;padding-top:72px;padding-bottom:72px}
.ncd__row{display:flex;flex-direction:column;gap:28px}
.ncd__toc{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.ncd__kick{letter-spacing:.12em}
.ncd__big{font-size:40px;line-height:1.04;letter-spacing:-.6px;color:var(--heading);margin:0}
.ncd__big--faq{font-size:30px;letter-spacing:-.45px}
.ncd__idx{margin:6px 0 0;padding-left:22px;list-style:lower-roman;display:flex;flex-direction:column;gap:8px;font-family:var(--serif);font-size:16px;color:var(--secondary)}
.ncd__idx a{color:var(--heading);text-decoration:underline;text-underline-offset:3px}
.ncd__s{border-top:1px solid var(--border);padding:26px 0}
.ncd__s:first-child{border-top:0;padding-top:0}
.ncd__h{font-size:26px;line-height:1.12;letter-spacing:-.3px;margin:0 0 14px;scroll-margin-top:150px}
.ncd__tx{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--body);display:flex;flex-direction:column;gap:12px}
.ncd__tx p,.ncd__tx ul,.ncd__tx ol{margin:0}
.ncd__tx ul,.ncd__tx ol{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.ncd__tx ul{list-style:disc}
.ncd__tx ol{list-style:decimal}
.ncd__tx li{display:list-item}
.ncd__tx a{color:var(--heading);text-decoration:underline;text-underline-offset:3px}
.ncd__qs .faq__item:first-child{padding-top:0}
.ncd__qs .faq__a p{margin:0 0 8px}
.ncd__qs .faq__a p:last-child{margin:0}
@media (min-width:901px){
  .ncd__in{gap:104px;padding-top:104px;padding-bottom:104px}
  .ncd__row{display:grid;grid-template-columns:340px minmax(0,1fr);gap:80px}
  .ncd__toc{position:sticky;top:130px;align-self:start}
  .ncd__big{font-size:52px;letter-spacing:-.8px}
  .ncd__big--faq{font-size:36px;letter-spacing:-.54px}
  .ncd__h{font-size:30px}
}
/* ===== /collection description ===== */

/* ===== protect this item: care plan box under each piece (protect-this-item-rule.md, 23 Oct 2026) — sections/nv-cart.liquid, novara.js ===== */
.cart__piece{border-bottom:1px solid var(--border);padding-bottom:20px}
.cart__piece .cl{border-bottom:0}
.pc-slot:empty{display:none}
.pc{display:flex;flex-direction:column;gap:16px;padding:22px;background:#fff;border:1px solid var(--border);min-width:0}
.pc svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pc-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pc-t{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:300;font-size:24px;line-height:1.1;color:var(--heading)}
.pc-sh{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--ink);color:var(--porcelain)}
.pc-lk{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--heading);text-decoration:underline;text-underline-offset:3px}
.pc-s{margin:-6px 0 0;font-family:var(--serif);font-size:13px;line-height:1.6;color:var(--secondary)}
.pc-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:8px}
.pc-o{-webkit-appearance:none;appearance:none;position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:30px 10px 18px;background:#fff;border:1px solid var(--border);cursor:pointer;text-align:center;font:inherit;color:var(--heading)}
.pc-o:hover{border-color:var(--secondary)}
.pc-o.on{border-color:var(--ink);background:var(--porcelain);box-shadow:inset 0 0 0 1px var(--ink)}
.pc-o:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
.pc-r{position:absolute;top:12px;left:12px;width:14px;height:14px;border:1px solid var(--secondary);border-radius:50%}
.pc-o.on .pc-r{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 3px #fff}
.pc-i{color:var(--rose)}.pc-i svg{width:22px;height:22px}
.pc-n{font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.pc-p{font-family:var(--serif);font-weight:300;font-size:26px;line-height:1}
.pc-o.free .pc-p{font-size:20px;font-style:italic}
.pc-u{font-family:var(--serif);font-size:12px;color:var(--secondary)}
.pc-top{position:absolute;top:-9px;left:50%;transform:translateX(-50%);padding:3px 10px;background:var(--ink);color:var(--porcelain);font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.pc-b{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border:1px solid var(--border);background:var(--porcelain)}
.pc-bt{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--heading)}
.pc-bl{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;font-family:var(--serif);font-size:14px;color:var(--body)}
.pc-bl li{display:flex;gap:8px}.pc-bl li::before{content:'';flex:none;width:5px;height:5px;margin-top:8px;background:var(--rose);border-radius:50%}
.pc-f{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--serif);font-size:12px;color:var(--secondary)}
.pc-f span::before{content:'\2713\00a0'}
.pc-f .pc-fr{margin-left:auto}.pc-f .pc-fr::before{content:none}
.pc-tot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--border)}
.pc-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--ivory);font-family:var(--serif);font-size:13px;color:var(--heading)}
.pc-badge.off{background:#f3f4f6;color:var(--secondary)}
.pc-it{display:flex;align-items:baseline;gap:14px;font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary)}
.pc-it span:last-child{font-family:var(--serif);font-size:20px;letter-spacing:0;text-transform:none;color:var(--heading)}
.pc-note{display:flex;align-items:center;gap:8px;margin:-8px 0 12px;padding-left:100px;font-family:var(--serif);font-size:13px;color:var(--rose)}
.pc-note svg{width:14px;height:14px;flex:none}
html.pc-busy a[href="/checkout"],html.pc-busy #cart-form button{opacity:.7;cursor:progress}
@media (max-width:820px){.pc{padding:18px 14px}.pc-g{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-bl{grid-template-columns:1fr}.pc-f .pc-fr{margin-left:0}}
/* ===== /protect this item ===== */

/* ===== back-to-top above Call now (user, 24 Oct 2026): both float bottom-left, the arrow 12px above the call button ===== */
.fab-top{right:auto;left:24px;bottom:80px} /* Call now: 44px pill at bottom 24 → 24 + 44 + 12 */
@media (min-width: 1024px) and (hover: none) and (pointer: coarse){.fab-top{bottom:84px}} /* touch landscape: 48px icon-only Call now */
@media (max-width: 1023.98px){
  .fab-top{left:18px;bottom:76px} /* phone: 48px circle at left 16 / bottom 16 → centred over it */
  body.nv-sbar-on .fab-top{bottom:calc(148px + env(safe-area-inset-bottom))} /* PDP sticky buy bar lifts Call now to 88px */
}
/* ===== /back-to-top ===== */

/* ===== spectrum stone on the navy (user, 24 Oct 2026) — the stone photos are cut out of their grey studio backdrop
   (assets/demo/shape-cut-*.webp, tools/novara/shape-cutout.cjs), so the round mask that faded the grey into a bright disc
   goes, and the light behind the stone is a soft halo instead of a white field ===== */
.spec__stone{-webkit-mask-image:none;mask-image:none;object-fit:contain;filter:drop-shadow(0 0 28px rgba(185,198,228,.28)) drop-shadow(0 18px 30px rgba(0,0,0,.35))}
/* the backdrop is back (user, 24 Oct): a blue spotlight disc in the theme's own sky / rose / navy instead of the studio's
   white-grey, so the white stone stands out against it rather than melting into it (no ring: user, 24 Oct) */
.spec__glow{background:radial-gradient(circle closest-side,rgba(120,140,190,.75) 0,rgba(90,110,165,.6) 40%,rgba(58,79,140,.35) 68%,rgba(30,42,74,.1) 88%,rgba(30,42,74,0) 100%)}
/* phones / tablets: the stone sits in the flow, away from where the glow is placed, so the same disc is drawn
   on the stone itself (behind its transparent cut-out) and stays centred on it */
@media (max-width:1023.98px){
  .spec__glow{display:none}
  .spec .spec__stone{border-radius:50%;background:radial-gradient(circle closest-side,rgba(120,140,190,.75) 0,rgba(90,110,165,.6) 40%,rgba(58,79,140,.35) 68%,rgba(30,42,74,.1) 88%,rgba(30,42,74,0) 100%)}
}
/* ===== /spectrum stone ===== */
/* spectrum: the user's transparent studio stones (assets/demo/shape-stone-*.webp, 24 Oct 2026) in the big view and in the
   shape chips — the stone is 55% of its canvas, so the chip scales it up to fill its circle */
.spec__ph{background:rgba(185,198,228,.16)}
.spec__ph .shape-photo--stone{width:100%;height:100%;object-fit:contain;transform:scale(1.55)}
/* drawer: a piece's care plan as its own line under the piece (renaissancejewel.com's drawer, user 24 Oct 2026) */
.cl--care{padding-top:14px}
.cl--care .cl__img{background:var(--ink)}.cl--care .cl__img img{object-fit:contain}
.cl--care .cl__rm{background:none;border:0;padding:0;cursor:pointer}
.cl--care .t-bodys{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
/* home "Design your ring": the image pack's travertine photo (user, 25 Oct 2026) — the ring stays in view at every width and a navy shade sits behind the white copy (the old crop was set for the dark night-pear photo) */
.dz__night{width:100%;left:0;object-position:82% center}
.dz__l::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(16,24,48,.82) 0,rgba(16,24,48,.45) 32%,rgba(16,24,48,0) 52%,rgba(16,24,48,0) 70%,rgba(16,24,48,.6) 100%)}
.dz__copy,.dz__ctas{z-index:2}
@media (min-width: 600px) and (max-width: 1023.98px){.dz__night{object-position:36% center}.dz__l::before{background:linear-gradient(90deg,rgba(16,24,48,.78) 0,rgba(16,24,48,.5) 45%,rgba(16,24,48,0) 66%)}}
@media (min-width: 1024px){.dz__night{width:100%;left:0;object-position:57% center}.dz__l::before{background:linear-gradient(90deg,rgba(16,24,48,.78) 0,rgba(16,24,48,.5) 46%,rgba(16,24,48,0) 68%)}}
/* home hero: the image pack v2 photo (user, 25 Oct 2026). Desktop: 1672x940 fills the 1440x820 box (the old 1152x928 photo hung 265
   units above it) and the ring sits near (1115, 435), so the loupe moves over the ring and its notes sit to its left — there is no
   room on its right. Phone: its own 1122x1402 photo in the 390x420 window, ring near (245, 272); its notes sit under the tabs, clear of the certificate card. */
.hero__photo{top:0;height:calc(820 * var(--hu));object-position:50% 50%}
.hero[data-slide="1"] .hero__d .loupe{left:calc(1000 * var(--hu));top:calc(320 * var(--hu))}
.hero[data-slide="2"] .hero__d .loupe{left:calc(988 * var(--hu));top:calc(332 * var(--hu))}
.hero[data-slide="3"] .hero__d .loupe{left:calc(976 * var(--hu));top:calc(344 * var(--hu))}
.hero__d .hero__note[data-n="1"]{left:calc(726 * var(--hu));top:calc(372 * var(--hu))}
.hero__d .hero__note[data-n="2"]{left:calc(714 * var(--hu));top:calc(384 * var(--hu))}
.hero__d .hero__note[data-n="3"]{left:calc(702 * var(--hu));top:calc(396 * var(--hu))}
.hero__mphoto{left:0;top:calc(-34 * var(--m));width:calc(390 * var(--m));height:calc(487.5 * var(--m))}
.hero[data-slide="1"] .loupe--m{left:calc(183 * var(--m));top:calc(210 * var(--m))}
.hero[data-slide="2"] .loupe--m{left:calc(179 * var(--m));top:calc(214 * var(--m))}
.hero[data-slide="3"] .loupe--m{left:calc(175 * var(--m));top:calc(218 * var(--m))}
.hero__note--m[data-n="1"],.hero__note--m[data-n="2"],.hero__note--m[data-n="3"]{left:calc(12 * var(--m));right:auto;top:calc(66 * var(--m))}
/* collection style row on desktop: a row with more tiles than fit (wedding bands: 9 since 25 Oct 2026) shrinks its tiles to stay on
   one line instead of running off the page; a row of 7 or fewer keeps 160 x 180 tiles */
@media (min-width: 1024px){
  .ch__style{flex:0 1 calc(160 * var(--u));min-width:0}
  .ch__simg{width:100%;height:auto;aspect-ratio:160 / 180}
  .ch__style .t-link{text-align:center}
}

/* spectrum on phones / tablets (user screenshot, 25 Oct 2026): the 10 shape chips sat under the name, text, button and light
   performance — a screen below the stone, so picking a shape changed a stone nobody could see. The active shape now opens up
   (display:contents) and its parts are ordered: stone, then the chips right under it, then name, text, button, light performance. */
@media (max-width: 1023.98px){
  .spec[data-shape=round] [data-s=round],.spec[data-shape=oval] [data-s=oval],.spec[data-shape=pear] [data-s=pear],.spec[data-shape=emerald] [data-s=emerald],.spec[data-shape=princess] [data-s=princess],.spec[data-shape=cushion] [data-s=cushion],.spec[data-shape=marquise] [data-s=marquise],.spec[data-shape=radiant] [data-s=radiant],.spec[data-shape=asscher] [data-s=asscher],.spec[data-shape=heart] [data-s=heart]{display:contents}
  .spec__eb{order:1}.spec__h{order:2}.spec__intro{order:3}
  .spec .spec__stone{order:4;align-self:center;width:220px;height:220px;margin:14px auto 0}
  .spec .spec__glint{display:none}
  .spec__chips{order:5;margin-top:14px}
  .spec__name{order:6;margin-top:26px;font-size:52px}
  .spec__facts{order:7;align-self:stretch}
  .spec__perf{order:8;align-self:stretch}
}
