

: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] */
