/* Layout: the Pearl Source page architecture (promo hero, bestseller rail, category tiles, price chips, 3-step finder,
   certificate band, filtered collection, option-driven product page) set in Pearl Gallery Sea Green (slot-for-slot with Misty Blue):
   sentence-case kicker + uppercase Belleza headline + underlined CTA, hard-edged 3:4 tiles, 50/25/15/10 colour balance.
   Single light theme on purpose: the brand is recognised by this exact colour balance. */
:root{
  /* Sea Green palette (海水绿 · 贝壳米 · 胡桃木棕), from the brand mood board. 50/25/15/10 balance:
     shell cream ground, sea green surfaces, walnut for craft and warmth, deep sea ink for type.
     Mood-board names are canonical; the older Misty Blue names below are aliases so existing rules keep working. */
  --sea-green:#9CCBC9;     /* 01 海水绿 · 主色 — hero, tiles, primary surfaces */
  --shell-cream:#F7F4EA;   /* 02 贝壳米 · 主色 — page ground */
  --walnut:#8B705D;        /* 03 胡桃木棕 · 主色 — price, craft details */
  --salt-mint:#D5E5DC;     /* 04 海盐薄荷 · 浅过渡 — hover wash, soft panels */
  --foam-white:#F0F6F1;    /* 05 海沫白 · 浅背景 — hairlines, quiet panels */
  --haze-blue:#A9C8D4;     /* 06 雾霾蓝 · 辅助色 */
  --sea-glass:#79B8B5;     /* 07 海玻璃绿 · 强调色 — stars, badges, motifs */
  --deep-sea:#477F7D;      /* 08 深海青 · 文字色 — borders, focus, large type */
  --deep-walnut:#4B392F;   /* 09 深胡桃木 · 深色文字 */
  --driftwood:#B6A18C;     /* 10 漂流木 · 温暖辅助 */
  --sand:#D9C8B3;          /* 11 浅沙米 · 过渡色 */
  --pearl-blush:#DCCBC3;   /* 12 珍珠粉米 · 柔和点缀 */
  /* Ink: 深海青 taken down to the mood board's headline tone, dark enough for body copy (7.9:1 on shell cream,
     4.9:1 on sea green) and for cream text on dark surfaces. */
  --ink:#303538; --ink-strong:#1F2325;
  --rule:rgba(71,127,125,.28); /* hairline in deep sea, like the board's thin dividers */

  --misty-blue:var(--sea-green); --pearl-white:var(--shell-cream); --champagne-brown:var(--walnut);
  --mist-white:var(--salt-mint); --cloud-grey:var(--foam-white); --grey-blue:var(--haze-blue);
  --slate-blue:var(--deep-sea); --ink-blue:var(--ink); --ink-deep:var(--ink-strong);
  --shell-beige:var(--driftwood); --soft-sand:var(--sand); --pearl-rose:var(--pearl-blush);
  --champagne-gold:var(--sea-glass);
  --scrim:rgba(31,35,37,.45);
  /* Type: a high-contrast serif for headlines (the board's SEA GREEN title), Belleza for small tracked caps
     (nav, buttons, eyebrows) where a serif gets thin, Noto Sans for reading, a hand script for accents. */
  --display:"Belleza","Optima","Noto Sans",sans-serif; /* VI: Belleza for display, Noto Sans body, Cormorant SC accents, Mrs Saint Delafield script */
  --label:"Belleza","Optima","Noto Sans",sans-serif;
  --body:"Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --script:"Mrs Saint Delafield","Brush Script MT","Segoe Script",cursive;
  --s1:8px; --s2:16px; --s3:24px; --s4:48px; --s5:80px;
  --r-sm:4px; --r-pill:999px;
  /* Web Style Guide ed. 2: square buttons, chips, badges and inputs; --r-pill stays only for round icon buttons and count badges */
  --r-btn:0; --r-input:0; --btn-h:48px; --btn-h-sm:40px; --s0:4px; --s6:112px;
  --fs-hero:clamp(34px,5.4vw,64px); --fs-h1:clamp(30px,3.4vw,40px); --fs-h2:clamp(24px,2.6vw,32px); --fs-h3:clamp(18px,1.6vw,20px); --fs-lede:clamp(16px,1.4vw,18px);
  --brand:var(--sea-green); --brand-hover:var(--sea-glass); --brand-soft:var(--salt-mint); --brand-line:var(--deep-sea); --on-brand:var(--ink);
  --rating:var(--deep-sea); --text-2:#57524D; --text-meta:#6F6A64; --error:#A63D2F; --product-ground:#F2F1ED;
  --ease:cubic-bezier(.35,.55,.4,1);
  --gutter:clamp(16px,2.24vw,28px); --maxw:calc(1320px + (100vw - 1320px) * .3);
  --stick:calc(env(safe-area-inset-top,0px) + 136px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
html.lock{overflow:hidden}
body{margin:0;background:var(--pearl-white);font-variant-numeric:lining-nums;color:var(--ink-blue);font-family:var(--body);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
svg{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,dl,dd,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
/* focus ring in ink, not deep sea: deep sea is under 3:1 on sea green surfaces */
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.announce :focus-visible{outline-color:var(--pearl-white)}
#view:focus{outline:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--ink-blue);color:var(--pearl-white);padding:10px 18px;border-radius:var(--r-btn);text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
@media (min-width:900px){.only-mobile{display:none!important}}
@media (max-width:899px){.only-desktop{display:none!important}}

/* ---------- type ---------- */
.kicker{font-size:15px;line-height:22px}
.hl{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:1.5px;line-height:1.05;font-size:clamp(30px,4.2vw,40px);text-wrap:balance}
.hl-hero{font-size:clamp(40px,6vw,64px);letter-spacing:2px;line-height:1}
.kicker + .hl{margin-top:var(--s1)}
.hl + .kicker{margin-top:var(--s1)}
.hl-hero + .kicker{margin-top:var(--s2)}
.lede{max-width:46ch}
.body-s{font-size:14px;line-height:22px}
.caption{font-size:12px;line-height:18px}
.eyebrow{font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase}
.cta-link{display:inline-flex;align-items:center;min-height:32px;font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;background:none;border:0;padding:0;white-space:nowrap}
.cta-link:hover{text-decoration-thickness:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 28px;border-radius:var(--r-btn);border:1px solid transparent;font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background-color .2s}
.btn svg{width:18px;height:18px}
.btn-dark{background:var(--ink-blue);color:var(--pearl-white)}
.btn-dark:hover{background:var(--brand);color:var(--on-brand)}
.btn-dark:active{background:var(--brand-hover);color:var(--on-brand)}
.btn-mist{background:var(--misty-blue);color:var(--ink-blue)}
.btn-mist:hover,.btn-mist:active{background:var(--brand-hover)}
.btn-line{background:transparent;color:var(--ink-blue);border-color:var(--ink-blue)}
.btn-line:hover{background:var(--mist-white)}
.btn-sm{min-height:40px;padding:0 20px}
.btn-block{width:100%}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 16px;border-radius:var(--r-btn);border:1px solid var(--slate-blue);background:var(--pearl-white);color:var(--ink-blue);font-size:14px;line-height:20px;text-decoration:none;transition:background-color .2s}
.chip:hover{background:var(--mist-white)}
.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--ink);color:var(--on-brand)}
.chip svg{width:14px;height:14px}
/* mood-board motifs: hand-script accent, eyebrow trailed by a hairline, the sea green · shell · walnut dot trio */
.script{font-family:var(--script);font-weight:400;font-size:clamp(30px,3vw,40px);line-height:1.1;letter-spacing:0;text-transform:none;color:var(--deep-sea)}
.eyebrow-rule{display:flex;align-items:center;gap:16px}
.eyebrow-rule::after{content:"";flex:0 1 140px;height:1px;background:var(--rule)}
.tone-dots{display:inline-flex;gap:8px;vertical-align:middle}
.tone-dots i{width:12px;height:12px;border-radius:var(--r-pill);background:var(--sea-green)}
.tone-dots i:nth-child(2){background:var(--shell-cream);box-shadow:inset 0 0 0 1px var(--sand)}
.tone-dots i:nth-child(3){background:var(--walnut)}
.dot{width:14px;height:14px;border-radius:var(--r-pill);flex:none;border:1px solid var(--cloud-grey)}

/* ---------- announcement + header ---------- */
.announce{background:var(--ink-blue);color:var(--pearl-white)}
.ann{position:relative;min-height:52px}
.ann-track{position:relative;height:52px;overflow:hidden}
.ann-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;padding-inline:8px;font-size:14px;line-height:20px;letter-spacing:.4px;white-space:nowrap;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;pointer-events:none;color:inherit;text-decoration:none}
.ann-slide.on{opacity:1;transform:none;pointer-events:auto}
.ann-slide.out{opacity:0;transform:translateY(-10px)}
.ann-slide b{font-weight:500}
.ann-slide svg{width:20px;height:20px;flex:none;color:var(--champagne-gold)}
.ann-stars{display:inline-flex;gap:3px}
.ann-stars i{display:block;width:18px;height:18px;background:var(--champagne-gold);clip-path:polygon(50% 6%,61% 38%,95% 38%,67% 58%,78% 91%,50% 71%,22% 91%,33% 58%,5% 38%,39% 38%)}
@media (max-width:599px){.ann-slide{font-size:13px;white-space:normal;text-align:center;gap:8px}.ann-slide svg,.ann-stars{display:none}}
.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--pearl-white);border-bottom:1px solid var(--cloud-grey)}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:72px;gap:12px}
.bar-left{display:flex;align-items:center;gap:24px}
.bar-right{display:flex;justify-content:flex-end;align-items:center;gap:2px}
.util{font-size:13px;line-height:18px;text-decoration:none;white-space:nowrap}
.util:hover{text-decoration:underline;text-underline-offset:4px}
button.util{background:none;border:0;padding:0;color:inherit}
.wordmark{font-family:var(--display);font-size:clamp(19px,2.3vw,28px);line-height:1;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;white-space:nowrap;padding-left:.3em}
@media (max-width:899px){.bar{gap:4px;min-height:60px}.bar .wordmark{font-size:16px;letter-spacing:.2em;padding-left:.2em}}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:var(--r-pill);border:0;background:transparent;color:var(--ink-blue);text-decoration:none}
.icon-btn:hover{background:var(--mist-white)}
.icon-btn svg{width:22px;height:22px}
.count{position:absolute;top:3px;right:1px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--ink-blue);color:var(--pearl-white);font-size:11px;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.nav{border-top:0}
.nav-row{display:flex;justify-content:center;gap:clamp(16px,2.4vw,44px)}
.nav-item{display:inline-flex;align-items:center;gap:6px;height:48px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;padding:0;font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;color:var(--ink-blue)}
.nav-item svg{display:none}
.nav-item[aria-expanded="true"] svg{transform:rotate(180deg)}
.nav-item:hover,.nav-item[aria-expanded="true"],.nav-item.current{border-bottom-color:var(--slate-blue)}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--pearl-white);border-top:1px solid var(--cloud-grey);border-bottom:1px solid var(--cloud-grey)}
.mega-in{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr)) minmax(0,1.3fr);gap:32px;padding-block:32px 40px}
.mega h3,.m-sub{font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;font-weight:400;margin-bottom:12px}
.mega li a,.m-links a{display:flex;align-items:center;gap:10px;font-size:14px;line-height:22px;padding-block:5px;text-decoration:none}
.mega li a:hover,.m-links a:hover{text-decoration:underline;text-underline-offset:4px}
.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--mist-white);text-decoration:none;min-height:220px}
.feature-art{position:relative;background:var(--ph-ground)}
.feature-art svg,.feature-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature-copy{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:20px}
.feature-copy .hl{font-size:22px;letter-spacing:1px;line-height:1.15}
.feature-copy .cta-link{margin-top:6px}
.search-panel{position:absolute;left:0;right:0;top:100%;background:var(--pearl-white);border-top:1px solid var(--cloud-grey);border-bottom:1px solid var(--cloud-grey);padding-block:24px 32px}
.search-row{display:flex;gap:12px;align-items:center}
.search-row svg.lead{width:24px;height:24px;flex:none}
.search-row input{flex:1;min-width:0;height:52px;border:0;border-bottom:1px solid var(--ink-blue);background:transparent;font-size:20px;padding:0 4px;border-radius:0}
.search-row input:focus{outline:none;border-bottom-width:2px}
.search-hint{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px}
.search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px 24px;margin-top:20px}
.sr-item{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;text-decoration:none}
.sr-thumb{position:relative;aspect-ratio:1;background:var(--mist-white);overflow:hidden}
.sr-thumb svg{position:absolute;inset:0;width:100%;height:100%}
.sr-item b{display:block;font-weight:500;font-size:14px;line-height:20px}
.sr-item:hover b{text-decoration:underline;text-underline-offset:3px}

/* ---------- home ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);background:var(--misty-blue)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding-block:clamp(40px,6vw,88px);padding-right:clamp(24px,4vw,64px);padding-left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
.hero-copy .lede{margin-top:var(--s3)}
.hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:36px}
.hero-art{position:relative;background:var(--pearl-white);min-height:clamp(380px,44vw,600px);overflow:hidden}
.hero-art svg,.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%}
.hero-art picture{position:absolute;inset:0}
.art-cap{position:absolute;left:24px;top:18px;background:var(--pearl-white);padding:3px 12px;border-radius:var(--r-pill)}
@media (max-width:899px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .hero-art{order:-1;min-height:0;aspect-ratio:4/5;max-height:78vh;max-width:100%}
  .hero-art img{object-position:50% 30%}
  .hero-copy{padding-inline:var(--gutter)}
}
.promises{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 28px;padding-block:28px;border-bottom:1px solid var(--cloud-grey)}
.promise{display:flex;gap:14px;align-items:flex-start;min-width:0}
.promise svg{flex:none;width:28px;height:28px;color:var(--slate-blue)}
.promise b{display:block;font-weight:500;font-size:14px;line-height:20px}
.promise span{display:block;font-size:12px;line-height:18px;margin-top:2px}
@media (max-width:999px){.promises{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sec{padding-block:clamp(56px,7vw,80px)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:clamp(28px,4vw,48px)}
.sec-head > div:first-child{min-width:0;max-width:720px}
.head-actions{display:flex;align-items:center;gap:20px}
.rail-nav{display:flex;gap:8px}
.round-btn{width:44px;height:44px;border-radius:var(--r-pill);border:1px solid var(--slate-blue);background:transparent;color:var(--ink-blue);display:grid;place-items:center}
.round-btn:hover{background:var(--mist-white)}
.round-btn svg{width:18px;height:18px}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail-wrap{position:relative;container-type:inline-size}
.rail-bar{position:relative;height:3px;margin:28px auto 0;max-width:420px;background:var(--soft-sand);overflow:hidden}.rail-bar[hidden]{display:none}.rail-bar span{position:absolute;top:0;left:0;height:100%;width:30%;background:var(--ink-blue);transition:left .2s ease,width .2s ease}
.rail.dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}.rail.dragging *{pointer-events:none}
@media (hover:hover) and (pointer:fine){.rail{cursor:grab}}
.rail-arrow{position:absolute;z-index:3;top:calc((100cqw - 48px)/8 - 32px);width:40px;height:64px;display:grid;place-items:center;padding:0;border:0;background:none;color:var(--ink-blue);cursor:pointer;filter:drop-shadow(0 0 6px rgba(247,244,234,.9));transition:opacity .2s,transform .2s}
.rail-arrow svg{width:16px;height:32px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.rail-arrow.prev{left:6px}.rail-arrow.next{right:6px}
.rail-arrow:hover.next{transform:translateX(3px)}.rail-arrow:hover.prev{transform:translateX(-3px)}
.rail-arrow[hidden]{display:none}
@media (max-width:1099px){.rail-arrow{top:calc((100cqw - 32px)/6 - 32px)}}
@media (max-width:699px){.rail-arrow{top:calc(36cqw - 32px)}}
.rail > *{scroll-snap-align:start}
@media (max-width:1099px){.rail{grid-auto-columns:calc((100% - 32px)/3)}}
@media (max-width:699px){.rail{grid-auto-columns:72%}}

.card{position:relative;display:flex;flex-direction:column;min-width:0}
.card-link{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit}
.card-art{position:relative;aspect-ratio:1;background:var(--mist-white);overflow:hidden;max-width:100%;outline:1px solid var(--cloud-grey);outline-offset:-1px}
.card-art .m1,.card-art .m2{position:absolute;inset:0;transition:opacity .5s,transform .8s cubic-bezier(.2,.7,.2,1)}
.card-art .m2{opacity:0}
.card-art svg,.card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (hover:hover){.card:hover .m2{opacity:1}.card:hover .m1,.card:hover .m2{transform:scale(1.03)}}
.card-art .card-badge{z-index:1}
.card-badge{position:absolute;z-index:1;left:12px;top:12px;background:var(--pearl-white);border:1px solid var(--champagne-gold);border-radius:var(--r-pill);font-size:12px;line-height:18px;padding:2px 10px}
/* up to two collection labels stacked top-left; the wrapper takes the badge's place, each label sits inside it */
.card-badges{position:absolute;z-index:1;left:12px;top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 64px);pointer-events:none}
.card-badges .card-badge{position:static;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.heart{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;border-radius:var(--r-pill);border:0;background:var(--pearl-white);color:var(--ink-blue);display:grid;place-items:center}
.heart svg{width:18px;height:18px}
.heart[aria-pressed="true"] svg path,.wish-btn[aria-pressed="true"] svg path{fill:currentColor}
.card-body{display:grid;gap:2px}

.campaign{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tile{position:relative;aspect-ratio:3/4;max-width:100%;display:flex;flex-direction:column;padding:24px;overflow:hidden;color:var(--ink-blue)}
.tile-space{flex:1;position:relative;min-height:0}
.tile-space svg{position:absolute;inset:0;width:100%;height:100%}
.tile .hl{font-size:clamp(26px,2.6vw,32px)}
.tile .cta-link{margin-top:14px;align-self:flex-start}
.t-blue{background:var(--misty-blue)}
.t-beige{background:var(--shell-beige)}
.t-brown{background:var(--champagne-brown)}
.motif path{stroke:var(--pearl-white);fill:none}
.motif circle{fill:var(--pearl-white)}
@media (max-width:899px){
  .campaign{grid-template-columns:minmax(0,1fr)}
  .tile{aspect-ratio:auto}
  .tile-space{min-height:150px}
  .t-beige .tile-space{min-height:300px}
}
.cats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.cat{display:flex;flex-direction:column;gap:6px;text-decoration:none;min-width:0}
.cat-art{position:relative;aspect-ratio:1;overflow:hidden;margin-bottom:8px;max-width:100%}
.cat-art svg{position:absolute;inset:0;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.cat:hover .cat-art svg{transform:scale(1.06)}
.cat-name{font-family:var(--display);font-weight:400;font-size:18px;line-height:1.2;letter-spacing:1.5px;text-transform:uppercase}
.cat .cta-link{align-self:flex-start;min-height:28px}
@media (max-width:1099px){.cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.discs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
@media (max-width:599px){.discs{gap:12px}.discs .caption{display:none}.discs .disc-name{font-size:13px;letter-spacing:1px}}
.disc{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;text-decoration:none;padding:8px 4px 16px;min-width:0}
.disc svg{width:min(124px,100%);aspect-ratio:1;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.disc:hover svg{transform:translateY(-5px)}
.disc .pimg{display:block;width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:10px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.disc:hover .pimg{transform:translateY(-5px)}
.disc-name{font-family:var(--display);font-size:16px;line-height:1.2;letter-spacing:1.5px;text-transform:uppercase;margin-top:6px}
.disc:hover .disc-name{text-decoration:underline;text-underline-offset:4px}
@media (max-width:899px){.discs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.price-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:36px;padding-top:32px;border-top:1px solid var(--cloud-grey)}
.price-row .eyebrow{margin-right:8px}

.band-mist{background:var(--mist-white)}
.band-shell{background:var(--shell-beige)}
.finder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.step{border:0;padding:0;margin:0;min-width:0}
.step legend{display:flex;align-items:baseline;gap:12px;padding:0;margin-bottom:16px;font-size:15px;line-height:22px;font-weight:500}
.step-n{font-family:var(--display);font-size:34px;line-height:1;font-weight:400;color:var(--slate-blue)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.finder-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid var(--cloud-grey)}
.finder-count{font-family:var(--display);font-size:24px;letter-spacing:1px;text-transform:uppercase;font-variant-numeric:tabular-nums}
@media (max-width:899px){.finder{grid-template-columns:minmax(0,1fr)}}

.cert{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.cert-card{background:var(--champagne-brown);padding:clamp(20px,3.4vw,44px)}
.cert-paper{background:var(--pearl-white);border:1px solid var(--champagne-gold);outline:1px solid var(--champagne-gold);outline-offset:-9px;padding:clamp(24px,3vw,40px) clamp(22px,3vw,36px)}
.cert-top{text-align:center;display:grid;gap:4px;margin-bottom:22px}
.cert-title{font-family:var(--display);font-size:22px;line-height:1.2;letter-spacing:1.5px;text-transform:uppercase}
.spec{display:grid;grid-template-columns:auto minmax(0,1fr);font-size:14px;line-height:20px}
.spec dt,.spec dd{padding-block:9px;border-bottom:1px solid var(--cloud-grey)}
.spec dd{text-align:right;padding-left:16px;font-variant-numeric:tabular-nums}
.cert-foot{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.cert-photo{margin:0;max-width:560px;background:none}
.cert-photo figcaption{margin-top:10px;font-size:12px;line-height:18px;color:var(--slate-blue)}
.cert-photo img{display:block;width:100%;height:auto}
.cert-copy .body{margin-top:22px;max-width:52ch}
.cert-copy .cta-link{margin-top:20px}
@media (max-width:899px){.cert{grid-template-columns:minmax(0,1fr)}}
.story{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
.story .body{margin-top:22px;max-width:58ch}
.story .cta-link{margin-top:20px}
.notes{background:var(--pearl-white);padding:32px;display:flex;flex-direction:column;gap:12px}
.note-quote{font-family:var(--display);font-size:24px;line-height:1.25;letter-spacing:.5px}
.notes .cta-link{align-self:flex-start}
@media (max-width:899px){.story{grid-template-columns:minmax(0,1fr)}}
.guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide{display:flex;flex-direction:column;gap:10px;text-decoration:none;min-width:0}
.guide-art{position:relative;aspect-ratio:3/2;overflow:hidden;margin-bottom:6px;max-width:100%}
.guide-art svg{position:absolute;inset:0;width:100%;height:100%}
.guide h3{font-family:var(--display);font-weight:400;font-size:20px;line-height:1.2;letter-spacing:1px;text-transform:uppercase}
.guide:hover h3{text-decoration:underline;text-underline-offset:5px}
@media (max-width:899px){.guides{grid-template-columns:minmax(0,1fr)}}
.news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px 64px;align-items:end}
.news .body{margin-top:14px}
.news-form{display:flex;flex-wrap:wrap;gap:12px}
.input{flex:1 1 220px;min-width:0;height:48px;padding:0 16px;border:1px solid var(--slate-blue);border-radius:var(--r-input);background:#fff;font-size:16px}
.input:focus{outline:2px solid var(--ink);outline-offset:1px}
textarea.input{height:auto;min-height:128px;padding:12px 16px;resize:vertical;line-height:24px}
select.input{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23303538' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
.form-msg{flex-basis:100%;font-size:14px;line-height:22px;min-height:22px}
@media (max-width:899px){.news{grid-template-columns:minmax(0,1fr)}}

/* ---------- footer ---------- */
.foot{background:var(--mist-white);padding-block:64px 28px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr));gap:32px}
.foot h3{font-family:var(--label);font-weight:400;font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}
.foot li a{font-size:14px;line-height:22px;display:inline-block;padding-block:4px;text-decoration:none}
.foot li a:hover{text-decoration:underline;text-underline-offset:4px}
.foot-brand .wordmark{font-size:22px;padding-left:0;display:inline-block}
.foot-brand p{margin-top:14px;max-width:34ch}
.socials{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.foot .socials a.social{display:grid;padding:0;place-items:center;width:44px;height:44px;border-radius:var(--r-pill);border:1px solid var(--slate-blue);color:var(--ink-blue);transition:background-color .2s,color .2s,border-color .2s}
.social svg{width:20px;height:20px}
.foot .socials a.social:hover{background:var(--ink-blue);border-color:var(--ink-blue);color:var(--pearl-white)}
.foot-motto{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;margin-top:48px;font-family:var(--label);font-size:12px;line-height:16px;letter-spacing:3px;text-transform:uppercase;color:var(--ink)}
.foot-motto::before,.foot-motto::after{content:"";width:64px;height:1px;background:var(--rule)}
.foot-motto span+span:not(.tone-dots)::before{content:"/";margin-right:22px;opacity:.6}
@media (max-width:599px){.foot-motto{gap:12px 12px;letter-spacing:2px}.foot-motto::before,.foot-motto::after{display:none}.foot-motto span+span:not(.tone-dots)::before{margin-right:12px}}
.foot-brand .foot-script{margin-top:10px;font-size:34px}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:28px;padding-top:22px;border-top:1px solid var(--cloud-grey);font-size:12px;line-height:18px}
.foot-bottom ul{display:flex;flex-wrap:wrap;gap:6px 20px}
@media (max-width:999px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.foot-brand{grid-column:1/-1}}

/* ---------- drawers ---------- */
.scrim{position:fixed;inset:0;background:var(--scrim);z-index:60;opacity:0;pointer-events:none;transition:opacity .3s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;right:0;z-index:70;width:min(440px,100%);background:var(--pearl-white);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s linear .35s;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.left{right:auto;left:0;width:min(380px,92%);transform:translateX(-100%)}
.drawer.open{transform:none;visibility:visible;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px 14px 24px;border-bottom:1px solid var(--cloud-grey)}
.drawer-body{flex:1;overflow-y:auto;padding:4px 24px 16px}
.drawer-foot{border-top:1px solid var(--cloud-grey);padding:20px 24px;display:grid;gap:12px}
.line-item{display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;padding-block:20px;border-bottom:1px solid var(--cloud-grey)}
.li-art{position:relative;aspect-ratio:1;background:var(--mist-white);overflow:hidden;display:block}
.li-art svg,.li-art img{position:absolute;inset:0;width:100%;height:100%}
.li-art img{object-fit:contain}
.li-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.li-top{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:20px}
.li-top a{font-weight:500;text-decoration:none}
.li-top a:hover{text-decoration:underline}
.li-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.qty{display:inline-flex;align-items:center;border:1px solid var(--slate-blue);border-radius:var(--r-pill);height:40px}
.qty button{width:38px;height:38px;border:0;background:none;border-radius:var(--r-pill);display:grid;place-items:center;color:var(--ink-blue)}
.qty button:hover{background:var(--mist-white)}
.qty button svg{width:16px;height:16px}
.qty span{min-width:26px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px}
.link-btn{background:none;border:0;padding:0;font-size:12px;text-decoration:underline;text-underline-offset:3px;color:var(--ink-blue)}
.sub-row{display:flex;justify-content:space-between;font-size:16px;font-variant-numeric:tabular-nums}
.empty-bag{display:grid;gap:14px;justify-items:start;padding-block:32px}
.m-group{border-bottom:1px solid var(--cloud-grey)}
.m-group summary{display:flex;align-items:center;justify-content:space-between;min-height:56px;cursor:pointer;list-style:none;font-family:var(--label);font-size:15px;letter-spacing:2px;text-transform:uppercase}
.m-group summary::-webkit-details-marker{display:none}
.m-group summary svg{width:18px;height:18px;transition:transform .25s}
.m-group[open] summary svg{transform:rotate(180deg)}
.m-links{padding-bottom:12px;display:grid;gap:0}
.m-links a{min-height:48px;padding-block:0}
.m-links .tip{display:none}
.mega-in.four{grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:0;padding-block:36px 44px}
.mega-in.four .mcol{padding-inline:28px;min-width:0}
.mega-in.four.with-feature{grid-template-columns:repeat(var(--n),minmax(0,1fr)) minmax(0,2fr)}
.mega-in.four.with-feature .mcol:last-child{border-left:0;padding-right:0}
.mega-in.four.with-feature .feature{min-height:200px}
.mtiles{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mtile{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:inherit}
.mtile-art{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--ph-ground)}
.mtile-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.mtile:hover .mtile-art img{transform:scale(1.03)}
.mtile .kicker{margin-top:16px;font-family:var(--body);font-size:15px;line-height:22px;letter-spacing:normal;text-transform:none}
.mtile-h{margin-top:6px;font-family:var(--display);font-size:16px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-blue)}
.mtiles{align-items:stretch}
.mtile{height:100%}
.mtile-h{font-size:22px!important;letter-spacing:1px!important;line-height:1.15;min-height:2.3em;margin-top:6px!important}
.mtile .cta-link{margin-top:auto;padding-top:12px}
.mega-in.four .mcol:first-child{padding-left:0}
.mega-in.four .mcol+.mcol{border-left:1px solid var(--cloud-grey)}
.mega li a{position:relative;display:inline-flex;flex-wrap:nowrap;align-items:center;gap:10px;min-height:32px;padding-block:5px;white-space:nowrap;max-width:100%}
.mega li a>span:not(.tip):not(.dot){white-space:nowrap}
.mega li a.more{min-height:32px}
.mega .tip{position:absolute;left:calc(100% + 8px);top:50%;margin-top:-9px;pointer-events:none}
.mega li a.more,.m-links a.more{font-family:var(--label);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;margin-top:6px}
.mega .tip{font-size:11px;line-height:16px;z-index:1;letter-spacing:.5px;color:var(--slate-blue);background:var(--mist-white);border-radius:var(--r-pill);padding:1px 8px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s;white-space:nowrap}
.mega li a:hover .tip,.mega li a:focus-visible .tip{opacity:1;transform:none}
.mega .mcol h3{white-space:nowrap}
.mega-in.four .mcol{display:flex;flex-direction:column}
.mega-in.four .mcol>ul{flex:1;display:flex;flex-direction:column}
.mega-in.four .mcol>ul>li:has(> a.more){margin-top:auto;padding-top:6px}
.mega li a.more{margin-top:0}
.mega li a.more>span,.m-links a.more>span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:var(--slate-blue);transition:text-decoration-color .2s,text-underline-offset .2s}
.mega li a.more:hover>span,.m-links a.more:hover>span{text-decoration-color:var(--ink-blue);text-underline-offset:4px}
.mega-in.four.with-prods{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}
.mprods{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;flex-direction:row!important}
.mprod{display:flex;flex-direction:column;gap:8px;text-decoration:none;min-width:0}
.mprod-art{position:relative;aspect-ratio:1;background:var(--mist-white);overflow:hidden}
.mprod-art svg,.mprod-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mprod:hover .mprod-art img,.mprod:hover .mprod-art svg{transform:scale(1.04)}
.mprod b{font-weight:500;font-size:14px;line-height:20px}
.mprod .caption{font-variant-numeric:tabular-nums}
.mprod:hover b{text-decoration:underline;text-underline-offset:4px}
.mega-in.four .mcol{overflow:visible}
@media (max-width:1199px){.mega-in.four .mcol{padding-inline:20px}.mega li a,.mega li a>span{font-size:13px}.mega li a.more{font-size:11px;letter-spacing:1.2px}}
.mega li a:hover{text-decoration:none}.mega li a:hover>span:not(.tip):not(.dot){text-decoration:underline;text-underline-offset:4px}
.m-plain{display:flex;align-items:center;min-height:56px;border-bottom:1px solid var(--cloud-grey);font-family:var(--label);font-size:15px;letter-spacing:2px;text-transform:uppercase;text-decoration:none}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,16px);background:var(--ink-blue);color:var(--pearl-white);padding:12px 22px;border-radius:var(--r-pill);font-size:14px;line-height:20px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:90;max-width:calc(100% - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- shop ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;line-height:18px;padding-top:20px}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.shop-head{padding-block:26px 30px;max-width:760px}
.shop-head .intro{margin-top:14px}
.shop-rel{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 22px}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:12px;border-block:1px solid var(--cloud-grey)}
.toolbar-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.count-line{font-size:14px;font-variant-numeric:tabular-nums}
.sort{display:flex;align-items:center;gap:10px;font-size:14px}
.sort .input{height:40px;flex:none;width:auto;font-size:14px}
.active-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:20px}
.active-chips .chip{min-height:34px;padding:0 12px 0 14px;background:var(--ink-blue);border-color:var(--ink-blue);color:var(--pearl-white);font-size:13px}
.active-chips .chip:hover{background:var(--ink-deep,#1f2a2e)}
.empty-search{display:flex;gap:8px;width:min(420px,100%);margin-top:4px}
.empty-search input{flex:1;min-width:0;min-height:44px;padding:0 14px;border:1px solid var(--ink-blue);border-radius:0;background:#fff;font:inherit;font-size:16px;color:var(--ink-blue)}
.empty-q .dym{font-size:inherit;letter-spacing:inherit;text-transform:none}
.active-chips .chips-clear{margin-left:6px;font-size:13px}
.active-chips:empty{display:none}
.shop{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-block:28px 72px}
.filters{align-self:start}
.filters-head{display:flex;align-items:center;justify-content:space-between;min-height:64px;border-bottom:1px solid var(--cloud-grey)}
.fgroup{border-bottom:1px solid var(--cloud-grey)}
.fgroup:first-of-type{border-top:1px solid var(--cloud-grey)}
.fgroup summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:52px;cursor:pointer;list-style:none;font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase}
.fgroup summary::-webkit-details-marker{display:none}
.fgroup summary svg{width:16px;height:16px;transition:transform .25s;flex:none}
.fgroup[open] summary svg{transform:rotate(180deg)}
.fgroup summary .fl{flex:none}
.fgroup summary .fc{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--body);font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--ink-blue)}
.fgroup.has-sel summary .fl{font-weight:600}
.fgroup.has-sel summary .fl::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border-radius:50%;background:var(--ink-blue);vertical-align:2px}
.check:has(input:checked){font-weight:600;color:var(--ink-blue)}
.fopts{display:grid;padding-bottom:14px}
.check{display:flex;align-items:center;gap:10px;min-height:36px;font-size:14px;line-height:20px;cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--ink-blue);margin:0;flex:none}
.check .n{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums}
.filters-foot{display:grid;gap:12px;padding-block:20px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 16px}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1099px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
.empty{grid-column:1/-1;background:var(--mist-white);padding:56px 32px;display:grid;gap:14px;justify-items:center;text-align:center}
@media (max-width:899px){
  .shop{grid-template-columns:minmax(0,1fr)}
  .filters{position:fixed;top:0;bottom:0;align-self:stretch;left:0;z-index:70;width:min(360px,90%);max-height:none;overflow-y:auto;overscroll-behavior:contain;background:var(--pearl-white);padding:env(safe-area-inset-top,0px) 20px env(safe-area-inset-bottom,0px);transform:translateX(-100%);visibility:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),visibility 0s linear .35s}
  .filters.open{transform:none;visibility:visible;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
  .fgroup:first-of-type{border-top:0}
  .filters-foot{position:sticky;bottom:0;background:var(--pearl-white);border-top:1px solid var(--cloud-grey)}
}
.faq{max-width:860px}
.acc details{border-bottom:1px solid var(--cloud-grey)}
.acc details:first-child{border-top:1px solid var(--cloud-grey)}
.acc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding-block:10px;cursor:pointer;list-style:none;font-size:15px;line-height:22px;font-weight:500}
.acc summary::-webkit-details-marker{display:none}
.acc summary svg{width:18px;height:18px;flex:none;transition:transform .25s}
.acc details[open] summary svg{transform:rotate(180deg)}
.acc .acc-body{padding-bottom:20px;font-size:16px;line-height:26px;max-width:68ch}
.acc .acc-body p + p{margin-top:10px}

/* ---------- length guide ---------- */
.lengths{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center;background:var(--mist-white);padding:clamp(20px,4vw,48px)}
.bust{width:100%;height:auto;display:block;max-height:440px}
.bust .form{fill:var(--pearl-white)}
.bust .arc{fill:none;stroke:var(--grey-blue);stroke-width:6;stroke-linecap:round;stroke-dasharray:0 10;transition:stroke .25s,stroke-width .25s}
.bust .arc.on{stroke:var(--ink-blue);stroke-width:9;stroke-dasharray:0 12}
.len-list{display:grid}
.len{display:grid;grid-template-columns:minmax(96px,120px) minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--cloud-grey);background:transparent;padding:10px 12px;min-height:50px;color:var(--ink-blue)}
.len:first-child{border-top:1px solid var(--cloud-grey)}
.len:hover{background:var(--salt-mint)}
.len[aria-pressed="true"]{background:var(--sea-green)}
.len .ln{font-family:var(--label);font-size:15px;letter-spacing:1.5px;text-transform:uppercase}
.len .lv{font-size:14px;font-variant-numeric:tabular-nums}
.len .lc{font-size:12px;font-variant-numeric:tabular-nums}
.len-desc{margin-top:16px;font-size:15px;line-height:24px;min-height:48px}
@media (max-width:899px){.lengths{grid-template-columns:minmax(0,1fr)}.bust{max-height:320px}}

/* ---------- product ---------- */
.pdp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);padding-block:22px 64px;align-items:start}
.gallery{position:sticky;top:var(--stick)}
.g-main{position:relative;aspect-ratio:1;overflow:hidden;max-width:100%}
.g-main svg{position:absolute;inset:0;width:100%;height:100%}
.thumbs{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:12px;margin-top:12px}
.thumb{position:relative;aspect-ratio:1;border:1px solid var(--cloud-grey);padding:0;overflow:hidden;background:var(--mist-white)}
.thumb svg{position:absolute;inset:0;width:100%;height:100%}
.thumb[aria-current="true"]{border-color:var(--ink-blue);box-shadow:inset 0 0 0 1px var(--ink-blue)}
.thumb .tl{position:absolute;left:8px;bottom:6px;font-size:11px;line-height:16px;background:var(--pearl-white);padding:1px 8px;border-radius:var(--r-pill)}
.buy{display:flex;flex-direction:column;min-width:0}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}
.tag{font-size:12px;line-height:18px;padding:3px 11px;border-radius:var(--r-pill);border:1px solid var(--champagne-gold);background:var(--pearl-white)}
.pdp-title{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,36px);line-height:1.1;letter-spacing:1.5px;text-transform:uppercase;margin-top:16px;text-wrap:balance}
.spec-line{margin-top:8px;font-size:14px;line-height:22px}
.price{font-size:26px;line-height:34px;margin-top:20px;font-variant-numeric:tabular-nums}
.ship-line{font-size:13px;line-height:20px;margin-top:4px}
.opt-group{margin-top:26px}
.opt-label{font-size:14px;line-height:20px;margin-bottom:10px}
.opt-label b{font-weight:500}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--slate-blue);background:var(--pearl-white);font-size:14px;line-height:20px;color:var(--ink-blue)}
.opt:hover{background:var(--mist-white)}
.opt[aria-checked="true"]{background:var(--mist-white);border-color:var(--ink-blue);box-shadow:inset 0 0 0 1px var(--ink-blue)}
.opt .delta{font-size:12px;font-variant-numeric:tabular-nums}
.opt.sq{min-width:48px;justify-content:center;padding:0 12px}
.buy-actions{display:flex;gap:12px;margin-top:30px}
.buy-actions .btn{flex:1}
.wish-btn{margin-top:12px}
.assure{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin-top:28px;padding-block:20px;border-block:1px solid var(--cloud-grey)}
.assure li{display:flex;gap:10px;font-size:13px;line-height:20px;align-items:flex-start;min-width:0}
.assure svg{width:20px;height:20px;flex:none;color:var(--slate-blue)}
.buy .acc{margin-top:8px}
.buy .acc details:first-child{border-top:0}
@media (max-width:899px){.pdp{grid-template-columns:minmax(0,1fr)}.gallery{position:static}}
.pdp-notes{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:center;background:var(--shell-beige);padding:clamp(24px,4vw,48px)}
@media (max-width:699px){.pdp-notes{grid-template-columns:minmax(0,1fr)}}

/* ---------- guide + custom ---------- */
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
[id^="g-"]{scroll-margin-top:var(--stick)}
.faq-group,.blog-sec,#proof-h,#au-tl,#g-bridal,#g-care{scroll-margin-top:calc(var(--stick,130px) + 40px)}
.table-wrap{overflow-x:auto;border-top:1px solid var(--ink-blue)}
table{border-collapse:collapse;width:100%;min-width:780px;font-size:14px;line-height:22px}
th{text-align:left;font-weight:500;font-size:12px;line-height:18px;letter-spacing:.6px;text-transform:uppercase;padding:14px 14px 12px 0;border-bottom:1px solid var(--cloud-grey);vertical-align:bottom}
td{padding:16px 14px 16px 0;border-bottom:1px solid var(--cloud-grey);vertical-align:top}
.pcell{display:flex;gap:12px;align-items:center;font-family:var(--label);font-size:15px;letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap}
.pcell svg{width:44px;height:44px;flex:none}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start}
@media (max-width:899px){.split{grid-template-columns:minmax(0,1fr)}}
.factor-list li{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:16px;padding-block:14px;border-bottom:1px solid var(--cloud-grey);font-size:14px;line-height:22px}
.factor-list li:first-child{border-top:1px solid var(--cloud-grey)}
.factor-list b{font-family:var(--label);font-weight:400;font-size:15px;letter-spacing:1.2px;text-transform:uppercase}
.grade-table table{min-width:520px}
.care-list li{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:16px;padding-block:16px;border-bottom:1px solid var(--cloud-grey)}
.care-list li:first-child{border-top:1px solid var(--cloud-grey)}
.care-list b{font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:1.2px;text-transform:uppercase}
@media (max-width:599px){.care-list li,.factor-list li{grid-template-columns:minmax(0,1fr);gap:4px}}
.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.proc{background:var(--mist-white);padding:28px 24px 32px;display:flex;flex-direction:column;gap:10px;min-width:0}
.proc h3{font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:1px;text-transform:uppercase}
.proc p{font-size:14px;line-height:22px}
@media (max-width:999px){.process{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:539px){.process{grid-template-columns:minmax(0,1fr)}}
.cform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:6px;min-width:0}
.field.full{grid-column:1/-1}
.field label{font-size:13px;line-height:18px;font-weight:500}
.field .input{width:100%;flex:none}
.bullets li{position:relative;padding-left:22px;margin-top:8px;font-size:15px;line-height:24px}
.bullets li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:var(--r-pill);background:var(--champagne-gold)}
@media (max-width:599px){.cform{grid-template-columns:minmax(0,1fr)}}


/* ---------- kit imagery ---------- */
.cats4{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ecat{display:flex;flex-direction:column;gap:4px;text-decoration:none;min-width:0}
.ecat-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--ph-ground);margin-bottom:10px;max-width:100%}
.ecat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ecat:hover .ecat-img img{transform:scale(1.04)}
.cats4 .ecat-img{aspect-ratio:400/504}
.ecat .cta-link{align-self:flex-start;min-height:28px}
.more-pieces{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:28px}
.more-pieces .eyebrow{margin-right:6px}
@media (max-width:899px){.cats4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599px){.cats4{grid-template-columns:1fr}.cats4 .ecat-img{aspect-ratio:4/5}}
.hero.rev{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.hero.rev .hero-art{order:-1}
.hero.rev .hero-copy{padding-left:clamp(24px,4vw,64px);padding-right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
.hero.rev .hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:899px){.hero.rev{grid-template-columns:minmax(0,1fr)}.hero.rev .hero-copy{padding-inline:var(--gutter)}}
.custom-hero .hero-copy{background:#9CCBC9 var(--ocean) center 30%/cover no-repeat;position:relative}
.custom-hero .hero-art{background:#f3f1ec}
.custom-hero .hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
@media (min-width:900px){.has-hero .custom-hero .hero-art img{top:calc(var(--hdr-over) + 8px);height:calc(100% - var(--hdr-over) - 16px)}}
@media (max-width:899px){.has-hero #view > .hero.custom-hero:first-child .hero-art,.custom-hero .hero-art{order:0;aspect-ratio:1342/1260;max-height:none;min-height:0}.custom-hero .hero-copy{min-height:680px;background-position:center 0;justify-content:flex-start;padding-bottom:200px}}
.aph{position:relative;margin:0;overflow:hidden;background:var(--mist-white);min-width:0}
.aph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.aph.sq{aspect-ratio:1}.aph.r34{aspect-ratio:3/4}
.aph figcaption{position:absolute;left:0;right:0;bottom:0;padding:8px 12px;font-size:11px;line-height:16px;background:rgba(247,244,234,.88)}
.ab-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ab-cat,.ab-ed{display:flex;flex-direction:column;gap:8px;text-decoration:none;min-width:0}
.ab-cat{align-items:center;text-align:center}
.ab-cat .cat-name{margin-top:8px;font-size:15px}
.ab-cat:hover .aph img,.ab-ed:hover .aph img{transform:scale(1.03)}
.ab-ed .aph{margin-bottom:10px}
.ab-ed .cta-link{align-self:flex-start}
.ab-split{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:16px;align-items:stretch}
.ab-split.rev{grid-template-columns:1fr 1.15fr .8fr}
.ab-split .lead{align-self:start}
.ab-panel{padding:clamp(24px,3vw,48px);display:flex;flex-direction:column;justify-content:center;gap:16px;min-width:0}
.ab-panel .cta-link{align-self:flex-start}
.ab-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ab-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ab-trust ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:24px}
.ab-trust li{display:flex;flex-direction:column;gap:28px;padding:28px clamp(20px,2.4vw,32px) 32px;font-size:16px;line-height:24px;min-width:0}
.ab-trust li+li{border-left:1px solid var(--cloud-grey)}
.ab-trust .big{width:64px;height:64px;fill:none;stroke:var(--ink-blue);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1099px){.ab-split,.ab-split.rev{grid-template-columns:1fr 1fr}.ab-split .small{display:none}.ab-trust ul{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-trust li+li{border-left:0}.ab-trust li:nth-child(2n){border-left:1px solid var(--cloud-grey)}.ab-trust li:nth-child(n+3){border-top:1px solid var(--cloud-grey)}}
@media (max-width:640px){.ab-cats{grid-template-columns:repeat(2,minmax(0,1fr))}.ab-split,.ab-split.rev,.ab-two,.ab-three{grid-template-columns:minmax(0,1fr)}.ab-split .lead{aspect-ratio:4/5}.ab-trust ul{grid-template-columns:1fr;padding-block:0}.ab-trust li{flex-direction:row;align-items:center;gap:20px;padding:20px 0}.ab-trust li:nth-child(2n){border-left:0}.ab-trust li+li{border-top:1px solid var(--cloud-grey)}.ab-trust .big{width:44px;height:44px}}
.promises-wrap{margin-bottom:clamp(56px,7vw,80px)}
.hsec{padding-bottom:clamp(64px,8vw,96px)}
.hband{margin-bottom:clamp(64px,8vw,96px)}
.guide-cards{padding-block:8px clamp(48px,6vw,72px)}
.reviews .rv-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px 48px;align-items:center;margin-bottom:28px}
.rv-title{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:28px}
.rv-title .hl{grid-column:1}
.rv-title::after{content:"";grid-column:2;grid-row:1;height:1px;background:var(--slate-blue);max-width:128px}
.rv-sub{grid-column:1/-1;margin-top:14px;font-family:var(--display);font-size:clamp(14px,1.3vw,17px);letter-spacing:4px;text-transform:uppercase;color:var(--slate-blue)}
.rv-intro{background:var(--mist-white);padding:clamp(20px,2.4vw,32px) clamp(24px,3vw,40px);display:grid;gap:10px;justify-items:start}
.rv-big{font-family:var(--display);font-size:clamp(24px,2.4vw,34px);line-height:1.15;letter-spacing:.5px}
.rv-intro .cta-link{margin-top:6px}
.rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.rv-card{margin:0;display:flex;flex-direction:column;background:var(--bg);min-width:0}
.rv-card img{display:block;width:100%;aspect-ratio:488/328;object-fit:cover}
.rv-card figcaption{display:flex;flex-direction:column;gap:14px;padding:24px 26px 28px;flex:1}
.rv-q{font-family:var(--display);font-size:44px;line-height:.6;height:22px;color:var(--champagne-brown)}
.rv-card blockquote{margin:0;font-family:var(--display);font-size:18px;line-height:1.6;letter-spacing:.2px;flex:1}
.rv-stars{display:flex;gap:6px}
.rv-stars svg{width:18px;height:18px;fill:var(--slate-blue)}
.rv-by{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px;border-top:1px solid var(--cloud-grey);font-family:var(--display);font-size:17px}
.rv-loc{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--slate-blue)}
.rv-note{margin-top:14px}
@media (max-width:899px){.reviews .rv-head{grid-template-columns:minmax(0,1fr)}.rv-grid{grid-template-columns:minmax(0,1fr)}}
.rv-stage{position:relative;padding:clamp(40px,5vw,72px) clamp(20px,4vw,64px);background:#9CCBC9 var(--ocean) center 80%/cover no-repeat}
.rv-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,244,234,.15),rgba(247,244,234,0) 40%,rgba(48,53,56,.12))}
.rv-stage .rv-grid{position:relative}
.rv-stage .rv-card{background:rgba(247,244,234,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 18px 40px -24px rgba(48,53,56,.45)}
.rv-stage .rv-card figcaption{padding:32px 30px 30px}
.rv-stage .rv-q{font-size:64px;height:30px}
.rv-stage .rv-card blockquote{font-size:20px}
@media (max-width:899px){.rv-stage{padding:24px 16px}}
.designer{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--ink-blue);color:var(--pearl-white);min-height:clamp(480px,46vw,680px);margin-bottom:clamp(56px,7vw,80px)}
.designer-copy{display:flex;flex-direction:column;justify-content:center;padding-block:clamp(48px,7vw,96px);padding-right:clamp(24px,4vw,64px);padding-left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
.designer-copy .hl{color:var(--pearl-white);margin-top:var(--s1)}
.designer-copy .body{margin-top:var(--s3);max-width:46ch;color:var(--mist-white)}
.designer-copy .cta-link{color:var(--pearl-white)}
.btn-light{background:var(--pearl-white);color:var(--ink-blue)}
.btn-light:hover{background:var(--mist-white)}
.designer-media{position:relative;margin:0;overflow:hidden;background:var(--ph-ground)}
.designer-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.designer{margin-bottom:0}
.designer-eyebrow{display:flex;align-items:center;gap:24px;font-family:var(--display);font-size:clamp(14px,1.3vw,18px);letter-spacing:3px;text-transform:uppercase;color:var(--pearl-white)}
.designer-eyebrow::after{content:"";width:clamp(64px,9vw,128px);height:1px;background:currentColor;opacity:.8}
.designer-name{font-family:var(--display);font-weight:400;font-size:clamp(56px,7.2vw,104px);line-height:.95;letter-spacing:3px;text-transform:uppercase;color:var(--pearl-white);margin-top:clamp(18px,2vw,28px);text-wrap:balance}
.designer-role{font-family:var(--display);font-size:clamp(15px,1.5vw,22px);letter-spacing:4px;text-transform:uppercase;color:var(--pearl-white);margin-top:clamp(14px,1.6vw,22px)}
.designer-copy .hero-ctas{margin-top:clamp(32px,4vw,56px)}
.designer-name.signature{position:relative;display:inline-block;align-self:flex-start;font-family:var(--script);text-transform:none;letter-spacing:0;font-size:clamp(53px,6.02vw,95px);line-height:1;transform:rotate(-6deg);transform-origin:left bottom;margin-top:clamp(22px,2.6vw,36px);margin-bottom:clamp(8px,1.2vw,18px);padding-right:.15em;white-space:nowrap}
.designer-name.signature span{display:block}
.sig-swash{position:absolute;left:12%;right:-4%;bottom:-.08em;width:92%;height:.32em;overflow:visible}
.sig-swash path{fill:none;stroke:var(--pearl-white);stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}
.designer-wide{position:relative;display:block;background:#2a2f31;aspect-ratio:1672/941;min-height:520px;overflow:hidden}
.designer-wide .designer-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.designer-wide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,26,25,.25) 0,rgba(28,26,25,.12) 38%,rgba(28,26,25,0) 55%);pointer-events:none}
.designer-wide .designer-copy{position:relative;z-index:1;height:100%;max-width:min(52%,calc(max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter))) + 660px));padding-right:0}
.designer-wide .designer-copy .body{color:rgba(247,244,234,.92)}
@media (max-width:899px){.designer-wide{aspect-ratio:auto;min-height:0;background:var(--ink-blue)}.designer-wide .designer-bg{position:static;display:block;height:auto;aspect-ratio:841/1264;object-fit:cover;object-position:center}.designer-wide::before{display:none}.designer-wide .designer-copy{max-width:none;padding-inline:var(--gutter)}}
@media (max-width:899px){.designer{grid-template-columns:minmax(0,1fr)}.designer-media{order:-1;aspect-ratio:4/5;max-height:70vh}.designer-copy{padding-inline:var(--gutter)}}
.craft{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--shell-beige)}
.craft-media{position:relative;background:var(--ink-blue);min-height:clamp(320px,40vw,560px);overflow:hidden}
.craft-media video,.g-main video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.motion-toggle{position:absolute;right:16px;bottom:16px;z-index:1;min-height:34px}
.craft-copy{display:flex;flex-direction:column;justify-content:center;padding-block:clamp(40px,6vw,88px);padding-left:clamp(24px,5vw,80px);padding-right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
.craft-copy .body{margin-top:22px;max-width:52ch}
.craft-copy .cta-link{margin-top:20px;align-self:flex-start}
@media (max-width:899px){.craft{grid-template-columns:minmax(0,1fr)}.craft-media{min-height:0;aspect-ratio:1;max-width:100%}.craft-copy{padding-inline:var(--gutter)}}
.proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px clamp(32px,6vw,96px);align-items:center}
.proof .notes{background:var(--mist-white)}
@media (max-width:899px){.proof{grid-template-columns:minmax(0,1fr)}}
.badge{display:block;width:min(300px,100%);height:auto;margin-top:22px}
.cert-copy .badge + .cta-link{margin-top:14px}
.badge-row{margin-top:4px;padding-bottom:12px;border-bottom:1px solid var(--cloud-grey)}
.badge-row .badge{width:min(260px,100%);margin-top:12px}
.lustre-wrap{margin-top:clamp(48px,6vw,72px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--cloud-grey)}
.lustre{margin:0}
.lustre-img{display:block;width:100%;height:auto}
.lustre-labels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));text-align:center;margin-top:6px;font-size:12px;line-height:18px}
.lustre-labels b{display:block;font-family:var(--display);font-weight:400;font-size:16px;line-height:22px;letter-spacing:1.2px;text-transform:uppercase}
.gifting{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.gift-img{position:relative;aspect-ratio:4/5;overflow:hidden;max-width:100%}
.gift-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gifting .btn{display:inline-flex}
.gifting-full{align-items:stretch;grid-template-columns:minmax(0,clamp(420px,40vw,620px)) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
.gifting-full>.gift-copy{padding-right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
.gifting-full .gift-img{aspect-ratio:auto;min-height:clamp(560px,52vw,760px)}
.gifting-full .gift-img img{object-position:center 45%}
.gifting-full>.gift-copy{align-self:center;padding-block:clamp(48px,6vw,80px)}
@media (max-width:899px){.gifting-full{grid-template-columns:minmax(0,1fr)}.gifting-full .gift-img{min-height:0;aspect-ratio:4/5}.gifting-full>.gift-copy{padding:32px var(--gutter) 56px}}
@media (max-width:899px){.gifting{grid-template-columns:minmax(0,1fr)}}
.finder-wrap{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.finder-img{position:relative;aspect-ratio:4/5;overflow:hidden;max-width:100%}
.finder-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:1199px){.finder-wrap .finder{grid-template-columns:minmax(0,1fr);gap:24px}}
@media (max-width:899px){.finder-wrap{grid-template-columns:minmax(0,1fr)}.finder-img{aspect-ratio:16/9}}
.guides{grid-template-columns:repeat(4,minmax(0,1fr))}
.guide-art.edu{background:var(--pearl-white);outline:1px solid var(--cloud-grey);outline-offset:-1px}
.guide-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10px}
@media (max-width:1099px){.guides{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:539px){.guides{grid-template-columns:minmax(0,1fr)}}
.shop-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:end;max-width:none}
.shop-head > div:first-child{max-width:760px}
.shop-head[hidden]{display:none}
.shop-banner{position:relative;width:clamp(150px,17vw,230px);aspect-ratio:4/5;overflow:hidden}
.shop-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:599px){.shop-head{grid-template-columns:minmax(0,1fr)}.shop-banner{display:none!important}}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.g-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.opt-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin-bottom:10px}
.opt-head .opt-label{margin-bottom:0}
.edu-figure{margin:0;background:var(--pearl-white);outline:1px solid var(--cloud-grey);outline-offset:-1px}
.edu-figure img{display:block;width:100%;height:auto}
.size-notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.size-notes li{display:grid;gap:4px;font-size:14px;line-height:22px;padding-top:14px;border-top:1px solid var(--ink-blue)}
.size-notes b{font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:1.2px;text-transform:uppercase}
@media (max-width:899px){.size-notes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.modal{position:fixed;inset:0;z-index:75;display:grid;place-items:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px));pointer-events:none}
.modal-card{pointer-events:auto;background:var(--pearl-white);width:min(760px,100%);max-height:100%;overflow-y:auto;display:flex;flex-direction:column}
.modal-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px 0}
.modal-body{padding:16px 24px 28px;display:grid;gap:14px}
.gm-fig{margin:0;outline:1px solid var(--cloud-grey);outline-offset:-1px}
.gm-fig img{display:block;width:100%;height:auto}
.gm-fig.gm-lengths img{max-height:56vh;width:auto;margin-inline:auto}

/* ---------- contact-sheet imagery ---------- */
.tile-photo{margin:-24px -24px 20px;overflow:hidden}
.campaign .tile{aspect-ratio:auto}
.campaign .tile-photo{flex:none;aspect-ratio:600/522}
.campaign .tile .hl{min-height:2.1em;display:flex;align-items:flex-end}
.campaign .tile .cta-link{margin-top:auto;padding-top:14px}
.tile-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.craft-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:6px;background:var(--shell-beige)}
.craft-grid figure{position:relative;margin:0;overflow:hidden;min-height:0}
.craft-grid .cg-a{grid-column:1/3}
.craft-grid .cg-low img{object-position:50% 100%}
.craft-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.life{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.life-img.product{background:#fff}
.life-img.product img{object-fit:contain}
@media (max-width:899px){.life{grid-template-columns:repeat(2,minmax(0,1fr))}}
.life-img{position:relative;aspect-ratio:3/4;overflow:hidden;margin-bottom:10px;max-width:100%}
.life-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ecat:hover .life-img img{transform:scale(1.04)}
@media (max-width:539px){.life{grid-template-columns:minmax(0,1fr)}}
.strip{margin:0;max-width:640px}
.strip img{display:block;width:100%;height:auto}
.strip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:32px}
.strip-row .strip{max-width:none}
@media (max-width:699px){.strip-row{grid-template-columns:minmax(0,1fr)}}
.guide-art.edu img{padding:0}
.guide-art.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;padding:0}
@media (max-width:599px){.thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}}
#view > *{animation:rise .5s cubic-bezier(.2,.7,.2,1) backwards}
@keyframes rise{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Holly Zhang · Pearl Gallery wordmark: small-caps serif, inherits colour so it turns white over the hero and dark on hover/scroll */
.wordmark.brandmark{display:inline-flex;flex-direction:column;align-items:center;font-family:"Cormorant SC","Cormorant Garamond","Times New Roman",Times,serif;font-weight:600;text-transform:none;letter-spacing:0;padding-left:0;line-height:1;white-space:nowrap}
.brandmark .bm-top{font-variant:small-caps;font-size:clamp(24px,2.6vw,34px);letter-spacing:.02em;line-height:.9}
.brandmark .bm-bot{font-size:clamp(12px,1.25vw,17px);font-weight:500;letter-spacing:.11em;text-transform:uppercase;margin-top:3px}
.brandmark.sm .bm-top{font-size:24px}.brandmark.sm .bm-bot{font-size:12px}
/* Header and menu logo: the gallery's wordmark image, used as a mask so it takes the header's text colour (white over the hero). */
.brandmark .bm-img{display:block;height:48px;aspect-ratio:632/161;background:currentColor;-webkit-mask:url(../img/kit/logo-wordmark.webp) center/contain no-repeat;mask:url(../img/kit/logo-wordmark.webp) center/contain no-repeat}
.blend .site:not(:hover):not(:focus-within):not(:has(.mega:not([hidden]),.search-panel:not([hidden]))) .bar .brandmark{filter:drop-shadow(0 1px 8px rgba(31,35,37,.25))}
.brandmark.sm .bm-img{height:32px}
@media (max-width:899px){.bar .brandmark .bm-img{height:34px}}
.foot-brand .wordmark.brandmark{font-size:inherit;align-items:flex-start}
.foot-brand .brandmark .bm-top{font-size:28px}.foot-brand .brandmark .bm-bot{font-size:14px}
@media (max-width:899px){.bar .wordmark.brandmark .bm-top{font-size:20px}.bar .wordmark.brandmark .bm-bot{font-size:10px;letter-spacing:.09em;margin-top:2px}}

/* A quiet reveal: larger editorial type, wider measure, faint line-art packaging in the lower right */
.gifting-full{position:relative;overflow:hidden}
.gifting-full .gift-copy{position:relative;z-index:1;max-width:760px;margin-left:clamp(0px,3vw,48px);margin-top:-20px}
.gift-copy .hl{font-size:clamp(36px,4.8vw,52px)}
.gift-copy .kicker{font-size:17px;line-height:26px}
.gift-copy .body{font-size:18px;line-height:30px;max-width:56ch}
.gift-copy .bullets li{font-size:17px;line-height:28px;margin-top:10px;padding-left:26px}
.gift-copy .bullets li::before{top:10px}
.gift-copy .btn{min-height:54px;padding:0 34px;font-size:14px}
.gift-art{position:absolute;z-index:0;right:clamp(16px,3vw,56px);bottom:clamp(16px,3vw,48px);width:clamp(200px,24vw,360px);height:auto;color:var(--ink-blue);opacity:.18;pointer-events:none}
.gift-art .solid{fill:var(--shell-beige)}
@media (min-width:900px){.gifting-full{grid-template-columns:minmax(0,1fr) minmax(0,clamp(420px,40vw,620px))}.gifting-full .gift-img{order:2}.gifting-full>.gift-copy{order:1;padding-right:0;padding-left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));margin-left:0}.gift-art{right:calc(clamp(420px,40vw,620px) + clamp(16px,3vw,56px))}}
@media (max-width:899px){.gifting-full .gift-copy{margin:0}.gift-art{width:120px;opacity:.12;bottom:12px;right:12px}}

/* Shop by price: bold equal-width blocks */
.price-row{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));align-items:center;gap:clamp(16px,2.4vw,32px);margin-top:40px;padding:18px 0;border-top:1px solid var(--soft-sand);border-bottom:1px solid var(--soft-sand);background:transparent}
.price-row .eyebrow{margin:0 clamp(8px,2vw,24px) 0 0;font-family:var(--display);font-size:clamp(17px,1.6vw,22px);letter-spacing:.5px;text-transform:none;color:var(--ink-blue);white-space:nowrap}
.price-row .chip{justify-content:center;min-height:46px;border:1px solid var(--champagne-brown);border-radius:0;background:transparent;color:var(--ink-blue);font-size:14px;letter-spacing:.6px;transition:background-color .25s,border-color .25s,color .25s}
.price-row .chip:hover{background:var(--shell-beige);border-color:var(--shell-beige);color:var(--ink-blue)}
@media (max-width:899px){.price-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.price-row .eyebrow{grid-column:1/-1;margin:2px 0 4px}}

/* Shop by category: label and button inside the photo, thin inner frame */
.cats-overlay .ecat-img{margin-bottom:0}
.cats-overlay .ecat-img::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 45% at 50% 46%,rgba(20,20,20,.34),rgba(20,20,20,.12) 75%);transition:background .4s;pointer-events:none}
.cats-overlay .ecat:hover .ecat-img::after{background:radial-gradient(ellipse 70% 45% at 50% 46%,rgba(20,20,20,.44),rgba(20,20,20,.18) 75%)}
.cat-frame{position:absolute;inset:11% 13%;border:1px solid rgba(255,255,255,.75);z-index:1;pointer-events:none;transition:inset .5s cubic-bezier(.2,.7,.2,1)}
.cats-overlay .ecat:hover .cat-frame{inset:9% 11%}
.cat-over{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#fff;text-align:center;padding:0 16%}
.cat-over .cat-name{color:#fff;font-size:clamp(16px,1.5vw,22px);letter-spacing:3px;text-shadow:0 1px 10px rgba(0,0,0,.25)}
.cat-btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 clamp(16px,2vw,28px);border:1px solid rgba(255,255,255,.85);font-family:var(--label);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;transition:background-color .25s,color .25s}
.cats-overlay .ecat:hover .cat-btn{background:#fff;color:var(--ink-blue)}
@media (max-width:599px){.cat-over{gap:12px;padding:0 8%}.cat-over .cat-name{font-size:14px;letter-spacing:2px}.cat-btn{min-height:32px;padding:0 12px;font-size:10px;letter-spacing:1.6px}.cat-frame{inset:9% 9%}}
.cats-overlay .ecat[data-k="sets"] .ecat-img::after{background:radial-gradient(ellipse 75% 50% at 50% 46%,rgba(30,28,26,.52),rgba(30,28,26,.22) 80%)}
.cats-overlay .ecat[data-k="sets"]:hover .ecat-img::after{background:radial-gradient(ellipse 75% 50% at 50% 46%,rgba(30,28,26,.6),rgba(30,28,26,.28) 80%)}

/* ===== About us ===== */
.au-hero{display:block;position:relative;overflow:hidden;background:var(--ink-deep);min-height:clamp(560px,52vw,780px)}
.au-hero .au-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.au-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(31,35,37,.55) 0,rgba(31,35,37,.3) 40%,rgba(31,35,37,0) 65%);pointer-events:none}
.au-hero .au-hero-copy{position:relative;z-index:2;min-height:inherit;justify-content:flex-end;padding-bottom:clamp(56px,7vw,104px);max-width:min(60%,820px);color:var(--pearl-white)}
.au-hero .hl,.au-hero .eyebrow{color:var(--pearl-white)}
.au-hero .hl-hero{margin-top:var(--s2);font-size:clamp(44px,6.4vw,84px)}
.au-place{margin-top:var(--s3);font-size:15px;letter-spacing:.6px;color:rgba(245,242,236,.88)}
.au-intro{text-align:center;padding-block:clamp(64px,8vw,112px) clamp(40px,5vw,64px)}
.au-quote{font-family:var(--display);font-size:clamp(24px,2.8vw,36px);line-height:1.35;max-width:30ch;margin:var(--s3) auto 0;color:var(--ink-blue);text-wrap:balance}
.au-story-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start;padding-top:clamp(24px,3vw,40px);border-top:1px solid var(--soft-sand)}
.au-story-copy .body{max-width:62ch;font-size:17px;line-height:29px}
.au-story-copy .body+.body{margin-top:var(--s3)}
.au-tl{list-style:none;margin:clamp(48px,6vw,80px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);position:relative}
.au-tl::before{content:"";position:absolute;left:0;right:0;top:5px;height:1px;background:var(--soft-sand)}
.au-tl li{position:relative;padding-top:32px}
.au-dot{position:absolute;top:0;left:0;width:11px;height:11px;border-radius:50%;background:var(--pearl-white);border:1px solid var(--champagne-brown)}
.au-tl li:last-child .au-dot{background:var(--champagne-brown)}
.au-year{font-family:var(--display);font-size:clamp(26px,2.6vw,34px);letter-spacing:1px;color:var(--champagne-brown)}
.au-tl-h{margin-top:var(--s1);font-family:var(--label);font-weight:400;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-blue)}
.au-tl-d{margin-top:var(--s1);font-size:15px;line-height:24px;max-width:28ch}
.au-art{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--mist-white);margin-bottom:clamp(64px,8vw,96px)}
.au-art-img{position:relative;min-height:clamp(480px,46vw,720px)}
.au-art-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.au-art-copy{display:flex;flex-direction:column;justify-content:center;padding-block:clamp(48px,6vw,88px);padding-left:clamp(32px,6vw,96px);padding-right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
.au-art-copy .body{font-size:17px;line-height:29px;max-width:46ch}
.au-art-copy .hero-ctas{margin-top:clamp(28px,3vw,40px)}
.au-center{text-align:center}
.au-vip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(36px,4vw,56px)}
.au-card{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(28px,3vw,40px);border:1px solid var(--soft-sand);background:transparent}
.au-ic{width:44px;height:44px;fill:none;stroke:var(--champagne-brown);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.au-card-h{margin-top:var(--s3);font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-blue)}
.au-card-d{margin-top:var(--s2);font-size:15px;line-height:25px;flex:1}
.au-card .cta-link{margin-top:var(--s3)}
.au-vip-cta{margin-top:clamp(36px,4vw,56px)}
.au-mission{background:var(--shell-beige);padding-block:clamp(64px,8vw,112px);text-align:center}
.au-mission .au-quote{max-width:34ch}
.au-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(48px,6vw,80px);text-align:left}
.au-val{padding-top:var(--s3);border-top:1px solid rgba(48,53,56,.28)}
.au-num{font-size:13px;letter-spacing:1.5px;color:var(--ink-blue);opacity:.7}
.au-val-h{margin-top:var(--s1);font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-blue)}
.au-val-d{margin-top:var(--s2);font-size:15px;line-height:25px}
.au-visit{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s3);padding-block:clamp(56px,7vw,96px)}
.au-visit .hero-ctas{margin-top:0}
@media (max-width:899px){
  .au-hero .au-hero-copy{max-width:none}
  .au-hero .au-hero-bg{object-position:72% center}
  .au-hero::before{background:linear-gradient(0deg,rgba(31,35,37,.65) 0,rgba(31,35,37,.25) 45%,rgba(31,35,37,0) 70%)}
  .au-story-grid{grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .au-tl{grid-template-columns:minmax(0,1fr);gap:28px;padding-left:28px}
  .au-tl::before{left:5px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .au-tl li{padding-top:0}
  .au-dot{left:-28px;top:10px}
  .au-art{grid-template-columns:minmax(0,1fr)}
  .au-art-img{min-height:0;aspect-ratio:4/5}
  .au-art-copy{padding:40px var(--gutter) 56px}
  .au-vip-grid{grid-template-columns:minmax(0,1fr)}
  .au-values{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:599px){.au-values{grid-template-columns:minmax(0,1fr)}}

/* contact + booking */
.book-card{align-self:center;padding:clamp(28px,3.4vw,48px);background:var(--pearl-white);border:1px solid var(--soft-sand)}
.book-h{margin-top:var(--s2);font-family:var(--display);font-size:clamp(24px,2.4vw,30px);letter-spacing:1px;text-transform:uppercase;line-height:1.15;color:var(--ink-blue)}
.book-card .body{margin-top:var(--s2);max-width:44ch}
.book-card .hero-ctas{margin-top:clamp(24px,3vw,36px)}
.book-note{margin-top:var(--s2);opacity:.75}
.ct{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);padding-bottom:clamp(64px,8vw,104px);align-items:start}
.ct-info{padding:clamp(28px,3vw,40px);background:var(--mist-white)}
.ct-name{margin-top:var(--s2);font-family:var(--display);font-size:22px;letter-spacing:1px;text-transform:uppercase;color:var(--ink-blue)}
.ct-addr{margin-top:var(--s1);font-style:normal;font-size:16px;line-height:26px}
.ct-info .cta-link{margin-top:var(--s1)}
.ct-gap{margin-top:clamp(28px,3vw,36px)}
.ct-tel{display:inline-block;margin-top:var(--s1);font-family:var(--display);font-size:24px;letter-spacing:1px;color:var(--ink-blue);text-decoration:none}
.ct-tel:hover{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.ct-info .body{margin-top:var(--s1)}
.ct-book{margin-top:var(--s2)}
.ct-form .full{grid-column:1/-1}
.ct-opt{opacity:.82;font-weight:400;margin-left:4px}
@media (max-width:899px){.ct{grid-template-columns:minmax(0,1fr)}}

/* custom: bridal + services */
.bf .sec{padding-block:clamp(64px,8vw,104px)}
.bf-head{max-width:760px}
.bf-head .hl{margin-top:var(--s1)}
.bf-head .body{margin-top:var(--s3);font-size:17px;line-height:29px;max-width:64ch}
.bf-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:clamp(36px,4vw,56px)}
.bf-col{padding:clamp(28px,3vw,40px);background:var(--pearl-white)}
.bf-tag{font-family:var(--display);font-size:22px;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-blue)}
.bf-lede{margin-top:var(--s2);font-size:16px;line-height:26px}
.bf-col .bullets{margin-top:var(--s2)}
.bf-col .bullets li{font-size:15px;line-height:24px;margin-top:10px}
.bf-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);margin-top:clamp(32px,4vw,48px)}
.bf-close{font-family:var(--display);font-size:clamp(20px,2vw,24px);letter-spacing:.5px;color:var(--ink-blue)}
.bf-foot .hero-ctas{margin-top:0}
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,80px)}
.svc-item{padding-block:clamp(24px,3vw,36px);border-top:1px solid var(--soft-sand)}
.svc-n{font-size:13px;letter-spacing:1.5px;opacity:.7}
.svc-h{margin-top:var(--s1);font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-blue)}
.svc-d{margin-top:var(--s2);font-size:15px;line-height:25px;max-width:60ch}
.svc-d a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:899px){.bf-cols,.svc-grid{grid-template-columns:minmax(0,1fr)}}
.foot-credit{margin-top:4px;opacity:.86}

.tips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px)}
.tip-c{padding-top:var(--s3);border-top:1px solid var(--soft-sand)}
.tip-d{margin-top:var(--s2);font-size:16px;line-height:26px}
.tip-d a,.inline-a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:899px){.tips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.tips{grid-template-columns:minmax(0,1fr)}}

.bf-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.bf-img{position:sticky;top:calc(var(--stick,130px) + 24px);margin:0;aspect-ratio:1110/1417;overflow:hidden}
.bf-img img{width:100%;height:100%;object-fit:cover;display:block}
.bf-grid .bf-cols{grid-template-columns:minmax(0,1fr)}
.bf-grid .bf-foot{flex-direction:column;align-items:flex-start}
@media (max-width:899px){.bf-grid{grid-template-columns:minmax(0,1fr)}.bf-img{position:static;aspect-ratio:4/5}}

.ct-info .ct-name{font-size:20px;line-height:1.2}
.ct-info .ct-addr,.ct-info .ct-tel,.ct-info .body{margin-top:var(--s1);font-family:var(--body);font-size:16px;line-height:26px;letter-spacing:normal;max-width:none}
.ct-info .ct-tel{display:inline-block;color:var(--ink-blue);text-decoration:none}
.ct-info .ct-tel:hover{text-decoration:underline;text-underline-offset:4px}
.ct-info .cta-link{margin-top:var(--s2)}
.ct-info .ct-gap{margin-top:clamp(28px,3vw,36px)}
.ct-info .ct-book{margin-top:var(--s2)}

/* contact panel: one spacing system */
.ct .ct-info{padding:clamp(32px,3.2vw,40px) clamp(24px,2.6vw,36px)}
.ct-col{max-width:330px}
.ct-info .ct-name{white-space:nowrap}
@media (max-width:599px){.ct-info .ct-name{white-space:normal;font-size:18px}}
.ct-sec+.ct-sec{margin-top:36px}
.ct-info .ct-label{margin:0;line-height:16px}
.ct-info .ct-name{margin-top:16px;font-size:20px;line-height:1.2}
.ct-info .ct-addr{margin-top:12px;font-style:normal;font-family:var(--body);font-size:16px;line-height:1.55}
.ct-info .ct-dir{margin-top:20px}
.ct-info .ct-tel,.ct-info .ct-copy{display:block;margin-top:12px;font-family:var(--body);font-size:16px;line-height:1.45;letter-spacing:normal;color:var(--ink-blue);text-decoration:none}
.ct-info .ct-tel{width:max-content}
.ct-info .ct-tel:hover{text-decoration:underline;text-underline-offset:4px}
.ct-info .ct-book{display:flex;justify-content:center;width:100%;margin-top:16px}
.faq ul{margin:10px 0 0;padding-left:18px}.faq ul+p,.faq p+p{margin-top:10px}.faq li{margin-top:6px}.faq a{color:inherit;text-decoration:underline;text-underline-offset:3px}

.faq-page{padding-bottom:clamp(64px,8vw,104px)}
.faq-page>*{max-width:900px}
.faq-group+.faq-group{margin-top:clamp(40px,5vw,56px)}
.faq-gh{font-weight:400;margin-top:0;font-family:var(--display);font-size:20px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-blue);margin-bottom:12px}
.faq-more{margin-top:clamp(48px,6vw,72px);padding:clamp(28px,3vw,40px);background:var(--mist-white)}
.faq-more .body{margin-top:var(--s1)}
.faq-more .body a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.faq-more .hero-ctas{margin-top:var(--s3)}
.foot-addr{font-size:14px;line-height:22px;white-space:nowrap;margin-bottom:6px}

.blog-sec{padding-bottom:clamp(56px,7vw,88px)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px) clamp(16px,2.4vw,32px)}
.post{display:flex;flex-direction:column;align-items:flex-start;padding-top:var(--s3);border-top:1px solid var(--soft-sand)}
.post-date,.ev-time{font-size:13px;letter-spacing:.4px;opacity:.75}
.post-h{margin-top:var(--s1);font-family:var(--display);font-weight:400;font-size:20px;line-height:1.3;letter-spacing:.6px;color:var(--ink-blue)}
.post-h a{color:inherit;text-decoration:none}
.post-h a:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.post-x{margin-top:var(--s2);font-size:15px;line-height:25px;flex:1}
.post .cta-link{margin-top:var(--s2)}
.ev-list{list-style:none;margin:0;padding:0}
.ev{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:clamp(16px,3vw,48px);align-items:start;padding-block:var(--s3);border-top:1px solid var(--soft-sand)}
.ev:last-child{border-bottom:1px solid var(--soft-sand)}
.ev-date{font-family:var(--display);font-size:20px;letter-spacing:.6px;color:var(--ink-blue)}
.ev-time{margin-top:4px}
.ev-body .post-h{margin-top:0}
.ev-body .post-x{margin-top:var(--s1);max-width:64ch}
.ev-link{margin-top:2px}
@media (max-width:899px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ev{grid-template-columns:minmax(0,1fr)}.ev-link{justify-self:start}}
@media (max-width:599px){.blog-grid{grid-template-columns:minmax(0,1fr)}}

.ev{grid-template-columns:170px minmax(0,1fr) auto}
.ev-date{font-family:var(--body);font-size:14px;letter-spacing:.2px;color:var(--ink-blue);opacity:.8;padding-top:3px}
.ev .post-h{font-size:18px}
.blog-more{margin-top:clamp(24px,3vw,40px)}
.blog-more>summary,.ev-year>summary{list-style:none;cursor:pointer}
.blog-more>summary::-webkit-details-marker,.ev-year>summary::-webkit-details-marker{display:none}
.blog-more>summary{display:inline-flex;font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;color:var(--ink-blue);margin-bottom:clamp(24px,3vw,40px)}
.blog-more .when-open,.blog-more[open] .when-closed{display:none}
.blog-more[open] .when-open{display:inline}
.ev-year{border-top:1px solid var(--ink-blue)}
.ev-year:last-child{border-bottom:1px solid var(--ink-blue)}
.ev-year>summary{display:flex;align-items:center;gap:16px;padding-block:18px}
.ev-y{font-family:var(--display);font-size:24px;letter-spacing:1px;color:var(--ink-blue)}
.ev-n{font-size:13px;opacity:.82;flex:1}
.ev-year>summary svg{width:14px;height:14px;transition:transform .2s}
.ev-year[open]>summary svg{transform:rotate(180deg)}
.ev-year .ev-list{padding-bottom:var(--s3)}
.ev-year .ev:last-child{border-bottom:0}
@media (max-width:899px){.ev{grid-template-columns:minmax(0,1fr)}}

/* VIP sign-up pop-up */
.vip{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px}
.vip[hidden]{display:none}
.vip-scrim{position:absolute;inset:0;background:rgba(31,35,37,.55);animation:vipFade .3s ease}
.vip-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--pearl-white);box-shadow:0 24px 60px rgba(31,35,37,.25);animation:vipRise .35s ease}
.vip-x{position:absolute;top:14px;right:14px;z-index:1;width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--pearl-white);cursor:pointer}
.vip-x svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}
.vip-top{background:var(--ink-blue);color:var(--pearl-white);text-align:center;padding:44px 32px 36px}
.vip-eyebrow{font-family:var(--label);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;opacity:.8}
.vip-h{margin-top:14px;font-family:var(--display);font-weight:400;font-size:clamp(30px,5vw,40px);line-height:1.05;letter-spacing:2px;text-transform:uppercase;color:var(--pearl-white)}
.vip-sub{margin-top:14px;font-size:15px;letter-spacing:.4px;color:rgba(245,242,236,.88)}
.vip-body{padding:32px clamp(24px,5vw,48px) 28px;text-align:center}
.vip-copy{font-size:15px;line-height:24px;max-width:40ch;margin:0 auto}
.vip-input{display:block;width:100%;margin-top:24px;height:52px;padding:0 16px;border:1px solid var(--ink-blue);border-radius:0;background:#fff;font:inherit;font-size:15px;text-align:center;color:var(--ink-blue)}
.vip-input:focus{outline:2px solid var(--ink-blue);outline-offset:2px}
.vip-btn{display:block;width:100%;margin-top:10px;height:54px;border:0;border-radius:0;background:var(--ink-blue);color:var(--pearl-white);font-family:var(--label);font-size:14px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:background-color .2s}
.vip-btn:hover{background:var(--ink-deep)}
.vip-msg{min-height:20px;margin-top:10px;font-size:13px}
.vip-legal{margin-top:4px;font-size:12px;line-height:18px;opacity:.75}
.vip-no{margin-top:14px;border:0;background:none;font:inherit;font-size:13px;letter-spacing:.3px;text-decoration:underline;text-underline-offset:3px;color:var(--ink-blue);cursor:pointer;opacity:.8}
@keyframes vipFade{from{opacity:0}}
@keyframes vipRise{from{opacity:0;transform:translateY(12px)}}
@media (prefers-reduced-motion:reduce){.vip-scrim,.vip-card{animation:none}}

.ear-band{background:#EEDDD1;margin:8px 0 clamp(24px,3vw,40px)}
.ear-band .ear-in{padding-block:clamp(36px,4.5vw,64px)}
.ear-copy .hl{font-size:clamp(34px,4.4vw,52px)}
.ear-band[hidden]{display:none}
.ear-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center;padding-block:clamp(48px,6vw,80px)}
.ear-img{margin:0;justify-self:end;width:100%;max-width:400px;aspect-ratio:1045/1449;overflow:hidden}
.ear-img img{width:100%;height:100%;object-fit:cover;display:block}
.ear-copy .hl{margin-top:var(--s1)}
.ear-copy .body{margin-top:var(--s3);font-size:17px;line-height:29px;max-width:42ch}
.ear-copy .hero-ctas{margin-top:clamp(28px,3vw,40px)}
@media (max-width:899px){.ear-in{grid-template-columns:minmax(0,1fr)}.ear-img{justify-self:center;max-width:420px}}

.ear-img{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 8%,#000 92%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 8%,#000 92%,transparent 100%);mask-composite:intersect}
.feature-art img{object-position:var(--fpos,center)}

/* gifts hero */
.gh{display:grid;grid-template-columns:minmax(0,min(44vw,640px)) minmax(0,1fr);background:#DFA97C;background:linear-gradient(180deg,#E3B48B,#D9A273);margin-top:8px}
.gh-img{position:relative;margin:0;aspect-ratio:1086/1448}
.gh-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.gh-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:clamp(48px,6vw,96px);padding-left:clamp(32px,6vw,96px);padding-right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
.gh-copy .hl,.gh-copy .eyebrow{color:var(--ink-blue)}
.gh-copy .hl-hero{margin-top:var(--s1)}
.gh-copy .body{margin-top:var(--s3);font-size:17px;line-height:29px;max-width:42ch;color:var(--ink-blue)}
.gh-copy .hero-ctas{margin-top:clamp(28px,3vw,40px)}
.gh-budget{list-style:none;margin:clamp(24px,3vw,36px) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}
@media (max-width:899px){.gh{grid-template-columns:minmax(0,1fr)}.gh-img{min-height:0;aspect-ratio:1086/1448}.gh-copy{padding:40px var(--gutter) 56px}}
#gift-finder{scroll-margin-top:var(--stick,130px)}

.has-hero #view > .gh:first-child .gh-copy{padding-top:calc(var(--hdr-over) + clamp(32px,4vw,56px))}
.has-hero #view > .gh:first-child{min-height:0}
@media (max-width:899px){.has-hero #view > .gh:first-child .gh-copy{padding-top:40px}}
#shop-gifts-list{scroll-margin-top:122px}
.gh+.wrap .toolbar{padding-top:14px}

.press-outlet{font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue)}
.press-grid .post-date{margin-top:4px}
.press-grid .post-h{flex:1}
.press-grid .cta-link{margin-top:var(--s3)}
.press-links{display:flex;gap:20px;flex-wrap:wrap}
.press-links .cta-link{margin-top:2px}
.press-contact{padding-bottom:clamp(64px,8vw,104px)}
.press-contact .body{margin-top:var(--s1)}
.press-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* services hero */
.svc-hero{display:block;position:relative;overflow:hidden;background:#C9B8A4;min-height:clamp(440px,48vw,680px)}
.svc-hero .svc-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.svc-hero::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at center,rgba(31,35,37,.42) 0,rgba(31,35,37,.18) 45%,rgba(31,35,37,0) 75%);pointer-events:none}
.svc-hero-copy{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;padding:var(--hdr-over,120px) var(--gutter) 0}
.svc-hero .hl-hero{color:#fff;font-size:clamp(40px,6.4vw,84px);letter-spacing:3px;text-shadow:0 2px 24px rgba(31,35,37,.35)}
.has-hero #view > .svc-hero:first-child{min-height:clamp(480px,52vw,720px)}
.svc-sub{padding-top:clamp(28px,3vw,40px)}
@media (max-width:899px){.svc-hero,.has-hero #view > .svc-hero:first-child{min-height:0;aspect-ratio:1672/941}.svc-hero-copy{padding-top:calc(var(--hdr-over,100px)*.6)}}
@media (max-width:599px){.svc-hero,.has-hero #view > .svc-hero:first-child{aspect-ratio:4/3}}

.svc-hero{min-height:clamp(380px,40vw,560px)}
.svc-hero-copy{padding:0 var(--gutter)}
.svc-hero .hl-hero{font-size:clamp(28px,3.4vw,44px);letter-spacing:4px}
@media (max-width:899px){.svc-hero{min-height:0}.svc-hero-copy{padding-top:0}}

/* blog landing */
.bl-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,40px);padding-block:clamp(48px,6vw,80px) clamp(64px,8vw,104px)}
.bl-tile{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:inherit}
.bl-tile-img{position:relative;display:block;width:100%;aspect-ratio:5/3;overflow:hidden;background:var(--ph-ground)}
.bl-tile-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bl-tile:hover .bl-tile-img img{transform:scale(1.03)}
.bl-tile-h{margin-top:var(--s3);font-family:var(--display);font-size:clamp(22px,2.2vw,28px);letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-blue)}
.bl-tile-meta{margin-top:6px;font-size:13px;letter-spacing:.4px;opacity:.82}
.bl-tile-x{margin-top:var(--s2);font-size:15px;line-height:25px;max-width:52ch}
.bl-tile .cta-link{margin-top:var(--s2)}
.bl-hero{min-height:clamp(300px,30vw,440px)}
.blog-back{display:flex;gap:28px;margin-top:clamp(32px,4vw,48px)}
@media (max-width:899px){.bl-tiles{grid-template-columns:minmax(0,1fr)}.bl-hero{min-height:0;aspect-ratio:16/9}}

/* service rows */
.svc-rows{display:grid;gap:16px;padding-bottom:clamp(64px,8vw,104px)}
.svc-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--svc-panel,var(--ink-blue));scroll-margin-top:calc(var(--stick,130px) + 24px)}
.svc-row-img{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden}
.svc-row-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.svc-row.rev .svc-row-img{order:2}
.svc-row-panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(32px,5vw,72px);color:var(--pearl-white)}
.svc-row-k{font-family:var(--label);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:rgba(245,242,236,.75)}
.svc-row-h{margin-top:var(--s1);font-family:var(--display);font-weight:400;font-size:clamp(24px,2.6vw,34px);letter-spacing:1px;line-height:1.15;color:var(--pearl-white)}
.svc-row-body{margin-top:var(--s2);max-width:46ch}
.svc-row-body p{font-size:15px;line-height:25px;color:rgba(245,242,236,.9)}
.svc-row-body p+p{margin-top:10px}
.svc-row-body b{font-weight:600;color:var(--pearl-white)}
.svc-row-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,3vw,32px)}
.svc-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border:1px solid rgba(245,242,236,.8);font-family:var(--label);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--pearl-white);text-decoration:none;transition:background-color .2s,color .2s}
.svc-btn:hover{background:var(--pearl-white);color:var(--ink-blue)}
@media (max-width:899px){.svc-row{grid-template-columns:minmax(0,1fr)}.svc-row.rev .svc-row-img{order:0}}

.svc-hero:not(.bl-hero),.has-hero #view > .svc-hero:not(.bl-hero):first-child{min-height:0;aspect-ratio:1672/680}
.svc-hero:not(.bl-hero) .svc-hero-copy{display:block;padding:0}
.svc-hero:not(.bl-hero) .hl-hero{position:absolute;left:57.4%;top:47.8%;transform:translate(-50%,-50%);margin:0;white-space:nowrap}
.svc-hero:not(.bl-hero)::before{background:radial-gradient(ellipse at 57.4% 47.8%,rgba(31,35,37,.4) 0,rgba(31,35,37,.15) 30%,rgba(31,35,37,0) 55%)}
@media (max-width:599px){.svc-hero:not(.bl-hero) .hl-hero{font-size:22px;letter-spacing:3px}}
/* service rows: image fills full row height */
.svc-row-img{aspect-ratio:auto;min-height:clamp(340px,32vw,480px)}
@media (max-width:899px){.svc-row-img{min-height:0;aspect-ratio:4/3}}

.svc-row{--svc-panel:var(--slate-blue)}
.svc-row-k{color:rgba(255,255,255,.85)}
.svc-row-body p{color:#fff;font-size:16px;line-height:26px}
.svc-btn{border-color:#fff}
.svc-btn:hover{color:var(--slate-blue)}

.svc-row{--svc-panel:var(--misty-blue)}
.svc-row-panel{color:var(--ink-blue)}
.svc-row-k{color:var(--ink-blue);opacity:.75}
.svc-row-h{color:var(--ink-blue)}
.svc-row-body p{color:var(--ink-blue)}
.svc-row-body b{color:var(--ink-blue)}
.svc-btn{border-color:var(--ink-blue);color:var(--ink-blue)}
.svc-btn:hover{background:var(--ink-blue);color:var(--pearl-white)}

/* PDP layout, reference style */
@media (min-width:900px){
 .pdp{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
 .gallery{display:grid;grid-template-columns:80px minmax(0,1fr);gap:18px;align-items:start}
 .gallery .thumbs{order:-1;display:flex;flex-direction:column;gap:12px;margin-top:0}
 .gallery .thumb{width:80px}
 .gallery .thumb .tl{display:none}
 .gallery .thumb[aria-current="true"]{outline:1px solid var(--ink-blue);outline-offset:2px}
}
.pdp-title{text-transform:none;letter-spacing:.4px;font-size:clamp(26px,2.4vw,32px);line-height:1.2}
.ship-pill{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;margin-top:16px;padding:8px 16px;border:1px solid var(--ink-blue);border-radius:999px;font-size:13px;line-height:18px}
.ship-pill svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.opt-sec{border-top:1px solid var(--cloud-grey);margin-top:0}
.opt-sec:first-of-type{margin-top:28px}
.opt-sec>summary{list-style:none;display:flex;align-items:baseline;gap:10px;padding-block:18px;cursor:pointer}
.opt-sec>summary::-webkit-details-marker{display:none}
.opt-sec .opt-label{font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue)}
.opt-sec .opt-cur{font-weight:400;font-size:14px;opacity:.75;flex:1}
.opt-sec>summary svg{width:14px;height:14px;transition:transform .2s}
.opt-sec[open]>summary svg{transform:rotate(180deg)}
.opt-sec .opts{padding-bottom:20px}
.opt-guide{display:block;margin:-6px 0 12px}
.len-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.opt.len-card{display:flex;flex-direction:column;align-items:center;gap:6px;height:auto;min-height:0;padding:10px 10px 12px;border-radius:0;border:1px solid var(--cloud-grey);background:#fff}
.opt.len-card[aria-checked="true"]{border-color:var(--ink-blue);box-shadow:inset 0 0 0 1px var(--ink-blue);background:#fff}
.len-art{width:100%;height:auto;display:block}
.la-bg{fill:#F3EFEA}.la-skin{fill:#E6C9B0}.la-top{fill:#fff;stroke:#E4DED6;stroke-width:.6}.la-pearls circle{fill:#fff;stroke:#BDB2A5;stroke-width:.5}
.len-card .opt-v{font-size:13px}
.len-card .delta{margin:0;font-size:12px}
.buy-total{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:8px;padding-top:24px;border-top:1px solid var(--cloud-grey)}
.sub-line{font-size:16px}
.sub-line b{font-size:22px;font-weight:600;margin-left:4px;font-variant-numeric:tabular-nums}
.buy-total .buy-actions{margin-top:0}
.buy-total #add-btn{min-width:200px}
.wish-btn.btn{align-self:flex-end;margin-top:14px;border:0;background:none;min-height:0;padding:4px 0;width:auto;text-decoration:underline;text-underline-offset:5px}
.wish-btn.btn:hover{background:none}
@media (max-width:599px){.foot-addr{white-space:normal}}

.guide-pn{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0 clamp(56px,7vw,80px);border-top:1px solid var(--cloud-grey)}
.jump .chip[aria-current="page"]{background:var(--ink-blue);color:var(--pearl-white);border-color:var(--ink-blue)}

.svc-hero:not(.bl-hero),.has-hero #view > .svc-hero:not(.bl-hero):first-child{aspect-ratio:1424/600}
.svc-hero:not(.bl-hero) .hl-hero{left:50%;top:50%}
.svc-hero:not(.bl-hero)::before{background:radial-gradient(ellipse at 50% 50%,rgba(31,35,37,.4) 0,rgba(31,35,37,.15) 30%,rgba(31,35,37,0) 55%)}

.gd-hero,.has-hero #view > .gd-hero:first-child{min-height:0;aspect-ratio:1440/440}
.gd-hero .svc-hero-copy{padding:0}
.gd-rows .svc-row-img{min-height:clamp(300px,28vw,420px)}
.gd-img.contain img{object-fit:contain;padding:clamp(16px,3vw,40px)}
@media (max-width:899px){.gd-hero{aspect-ratio:16/9}.gd-rows .svc-row-img{min-height:0;aspect-ratio:4/3}}
.svc-hero.gd-hero,.has-hero #view > .svc-hero.gd-hero:first-child{aspect-ratio:1440/420}
@media (max-width:899px){.svc-hero.gd-hero{aspect-ratio:16/9}}

/* campaign band */
.camp{position:relative;overflow:hidden;background:#D9D6D2;aspect-ratio:1402/1122;max-height:860px;width:100%;margin-bottom:clamp(64px,8vw,96px)}
.camp-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.camp-copy{position:absolute;top:clamp(32px,6vw,96px);right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));max-width:min(36%,420px);text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.camp-copy .hl{margin-top:var(--s1)}
.camp-copy .body{margin-top:var(--s2);max-width:34ch}
.camp-copy .hero-ctas{margin-top:var(--s3);justify-content:flex-end}
@media (max-width:899px){.camp{aspect-ratio:auto;max-height:none;background:var(--pearl-white)}.camp-bg{position:static;display:block;aspect-ratio:1402/1122;height:auto}.camp-copy{position:static;max-width:none;text-align:left;align-items:flex-start;padding:28px var(--gutter) 8px}.camp-copy .hero-ctas{justify-content:flex-start}}
@media (min-width:900px){.camp-copy{right:auto;left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));top:clamp(48px,7vw,120px);max-width:min(28%,360px);text-align:left;align-items:flex-start}.camp-copy .hero-ctas{justify-content:flex-start;flex-direction:column;align-items:flex-start;gap:14px}.camp-copy .hl{font-size:clamp(28px,3vw,40px)}}

/* shop by category: plain editorial */
.cats-plain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,30px)}
.cp{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink-blue)}
.cp-img{position:relative;width:100%;aspect-ratio:453/805;overflow:hidden;background:var(--mist-white)}
.cp-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.03) brightness(.98);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s}
.cp:hover .cp-img img{transform:scale(1.03);filter:saturate(.95) contrast(1.03)}
.cp-name{margin-top:clamp(18px,2vw,30px);font-family:var(--label);font-weight:400;font-size:14px;letter-spacing:2.5px;text-transform:uppercase;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.cp:hover .cp-name{text-decoration-thickness:2px}
@media (max-width:899px){.cats-plain{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-img{aspect-ratio:3/4}}

/* gallery */
.hero.gal-hero{position:relative;overflow:hidden;background:#1F2325;display:flex;align-items:flex-end;min-height:100vh;min-height:100svh}
.has-hero #view > .hero.gal-hero:first-child{min-height:100vh;min-height:100svh}
.gal-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.9}
.gal-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(20,20,20,.6) 0,rgba(20,20,20,.2) 30%,rgba(20,20,20,0) 50%),linear-gradient(90deg,rgba(20,20,20,.55) 0,rgba(20,20,20,.15) 55%,rgba(20,20,20,0) 80%)}
.gal-hero-copy{position:relative;z-index:1;color:#fff;padding:0 0 clamp(48px,6vw,88px) max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));max-width:620px}
.gal-hero-copy .eyebrow,.gal-hero-copy .hl{color:#fff}.gal-hero-copy .hl-hero{margin-top:var(--s1)}
.gal-hero-copy .body{margin-top:var(--s2);color:rgba(255,255,255,.9);max-width:40ch}
.gal{padding-block:clamp(56px,7vw,96px)}
.gal-ch+.gal-ch{margin-top:clamp(72px,9vw,128px)}
.gal-head{display:flex;align-items:flex-end;gap:clamp(16px,2vw,28px);margin-bottom:clamp(24px,3vw,40px)}
.gal-num{font-family:var(--display);font-size:clamp(44px,5vw,72px);line-height:.9;color:var(--champagne-brown);opacity:.7}
.gal-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(180px,17vw,250px);gap:clamp(12px,1.6vw,22px)}
.gal-item{margin:0;display:flex;flex-direction:column;min-height:0}
.w2{grid-column:span 2}.w3{grid-column:span 3}.w4{grid-column:span 4}.h1{grid-row:span 1}.h2{grid-row:span 2}
.gal-open{flex:1;min-height:0;position:relative;display:block;width:100%;padding:0;border:0;background:var(--mist-white);cursor:zoom-in;overflow:hidden}
.gal-open img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.gal-open:hover img{transform:scale(1.03)}
.gal-item figcaption{padding-top:10px}
.gal-item figcaption .cta-link{min-height:0;font-size:12px}
.gal-note{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,3.4vw,48px);background:var(--mist-white)}
.gal-note-h{margin-top:var(--s1);font-family:var(--display);font-size:clamp(22px,2.2vw,30px);letter-spacing:1px;text-transform:uppercase;line-height:1.15;color:var(--ink-blue)}
.gal-note .body{margin-top:var(--s2);max-width:40ch}.gal-note .cta-link{margin-top:var(--s3)}
.gal-lb{position:fixed;inset:0;z-index:210;background:rgba(18,20,21,.94);display:flex;align-items:center;justify-content:center;padding:56px 72px}
.gal-lb[hidden]{display:none}
.gal-lb img{max-width:100%;max-height:100%;object-fit:contain}
.gal-x{position:absolute;top:12px;right:18px;border:0;background:none;color:#fff;font-size:40px;line-height:1;cursor:pointer}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:none;color:#fff;font-size:56px;line-height:1;padding:12px;cursor:pointer;opacity:.8}
.gal-nav:hover{opacity:1}.gal-nav.prev{left:8px}.gal-nav.next{right:8px}
.gal-lb-cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:rgba(255,255,255,.75);font-size:13px;letter-spacing:1px}
@media (max-width:899px){.gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(160px,44vw,260px)}.w2,.w3{grid-column:span 1}.w4{grid-column:span 2}.gal-note{grid-column:span 2}.gal-lb{padding:48px 12px}}
.w6{grid-column:span 6}@media (max-width:899px){.w6{grid-column:span 2}}

/* pearl education: editorial */
.ed{--ed-h:#332F2C;--ed-b:#57524D;--ed-m:#6F6861;--ed-d:#DED8CC;padding-bottom:clamp(64px,8vw,112px)}
.ed-head{padding:clamp(20px,3vw,36px) 0 clamp(32px,4vw,48px);border-bottom:1px solid var(--ed-d)}
.ed-h1{font-family:var(--display);font-weight:400;font-size:clamp(36px,4vw,54px);letter-spacing:2px;text-transform:uppercase;line-height:1.05;color:var(--ed-h)}
.ed-sub{margin-top:12px;font-size:17px;line-height:1.6;color:var(--ed-b)}
.ed-meta{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ed-m)}
.ed-x{margin-top:12px;font-size:16.5px;line-height:1.6;color:var(--ed-b);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:46ch}
.ed-more{display:inline-block;margin-top:18px;font-family:var(--label);font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:var(--ed-h);text-decoration:none;border-bottom:1px solid var(--ed-h);padding-bottom:3px}
.ed-more:hover{border-bottom-width:2px}
.ed-feat{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(36px,4vw,56px);padding-bottom:clamp(48px,6vw,72px);border-bottom:1px solid var(--ed-d)}
.ed-feat-img,.ed-img{display:block;position:relative;overflow:hidden;background:var(--mist-white)}
.ed-feat-img{aspect-ratio:3/2;width:100%}
.ed-img{aspect-ratio:3/2;margin-bottom:20px;width:100%}
.ed-feat-img img,.ed-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ed-feat:hover .ed-feat-img img,.ed-card:hover .ed-img img{transform:scale(1.03)}
.ed-feat-t{margin-top:14px;font-family:var(--display);font-weight:400;font-size:clamp(28px,2.8vw,38px);line-height:1.2;letter-spacing:.5px;color:var(--ed-h)}
.ed-feat-t a,.ed-t a{color:inherit;text-decoration:none}
.ed-feat-t a:hover,.ed-t a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.ed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(40px,5vw,64px) clamp(24px,3vw,40px);margin-top:clamp(48px,6vw,72px)}
.ed-card{display:flex;flex-direction:column;align-items:flex-start}
.ed-t{margin-top:10px;font-family:var(--display);font-weight:400;font-size:clamp(22px,1.9vw,27px);line-height:1.25;letter-spacing:.3px;color:var(--ed-h);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ed-load{display:flex;justify-content:center;margin-top:clamp(48px,6vw,72px)}
.ed-load-btn{min-height:48px;padding:0 36px;border:1px solid var(--ed-h);background:transparent;color:var(--ed-h);font-family:var(--label);font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s}
.ed-load-btn:hover{background:var(--ed-h);color:var(--pearl-white)}
.ed-src{margin-top:32px;text-align:center;font-size:13px;color:var(--ed-m)}
.ed-src a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:899px){.ed-feat{grid-template-columns:minmax(0,1fr)}.ed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.ed-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- transparent header over hero ---------- */
/* Transparent nav over the hero: no background and white type while resting on the photo;
   on hover/focus (or with a menu/search open) it fills pearl-white with ink type. Turns solid once the hero scrolls away.
   A soft dark fade at the top of the hero keeps the white type readable on light parts of the picture. */
:root{--hdr-over:0px}
.site{transition:background-color .3s,border-color .3s,color .3s}
.site :is(a,button,svg,.nav-item,.icon-btn,.wordmark,.logo,.util){transition:color .3s}
.blend .site:not(:hover):not(:focus-within):not(:has(.mega:not([hidden]),.search-panel:not([hidden]))){background:transparent;border-bottom-color:transparent;color:#fff}
.blend .site:not(:hover):not(:focus-within):not(:has(.mega:not([hidden]),.search-panel:not([hidden]))) :is(a,button,.nav-item,.icon-btn,.wordmark,.logo,.util){color:#fff;text-shadow:0 1px 8px rgba(31,35,37,.25)}
.blend .site:not(:hover):not(:focus-within):not(:has(.mega:not([hidden]),.search-panel:not([hidden]))) :is(.count,.n){background:#fff;color:var(--ink-blue);text-shadow:none}
.blend .site:not(:hover):not(:focus-within):not(:has(.mega:not([hidden]),.search-panel:not([hidden]))) .nav{border-top-color:transparent}
.has-hero #view > .hero:first-child{margin-top:calc(-1 * var(--hdr-over));position:relative}
/* scrim holds behind the white header so nav and icons stay at 4.5:1 over sea green, then fades into the hero */
.has-hero #view > .hero:first-child::after{content:"";position:absolute;left:0;right:0;top:0;height:calc(var(--hdr-over) + 160px);z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(31,35,37,.6) 0,rgba(31,35,37,.58) calc(var(--hdr-over) - 4px),rgba(31,35,37,0) 100%)}
@media (min-width:900px){.has-hero #view > .hero:first-child{min-height:calc(1.2 * (var(--hdr-over) + 530px))}}
@media (max-width:899px){.has-hero #view > .hero:first-child .hero-art{aspect-ratio:2/3;max-height:none}}
.has-hero #view > .hero:first-child .hero-copy{padding-top:calc(var(--hdr-over) + clamp(32px,5vw,72px))}
@media (prefers-reduced-motion:reduce){.site,.site *{transition:none}}

/* pearl guide: blended nav */
.hero.svc-hero.gd-hero{display:block;background:#C9B8A4}
.has-hero #view > .hero.svc-hero.gd-hero:first-child{min-height:0;aspect-ratio:auto;height:calc(var(--hdr-over) + clamp(300px,30vw,440px))}
.has-hero #view > .hero.svc-hero.gd-hero:first-child .svc-hero-copy{padding:var(--hdr-over) var(--gutter) 0;display:grid;place-items:center}

/* home categories: 3 across */
.cats-plain{grid-template-columns:repeat(3,minmax(0,1fr))}
.cats-plain .cp-img{aspect-ratio:3/4}
@media (max-width:599px){.cats-plain{gap:10px}.cp-name{font-size:11px;letter-spacing:1.5px;margin-top:12px}}

/* home rails: cards 1.5x larger */
.rail{grid-auto-columns:calc((100% - 48px) * 3 / 8)}
.rail-arrow{top:calc((100cqw - 48px) * 3 / 16 - 32px)}
@media (max-width:1099px){.rail{grid-auto-columns:calc((100% - 32px) / 2)}.rail-arrow{top:calc((100cqw - 32px) / 4 - 32px)}}
@media (max-width:699px){.rail{grid-auto-columns:72%}.rail-arrow{top:calc(36cqw - 32px)}}

.rail-bar{display:none!important}

/* custom: full-bleed campaign hero */
.hero.cu-hero{display:block;position:relative;overflow:hidden;background:#D8D9DA;min-height:100vh;min-height:100svh}
.has-hero #view > .hero.cu-hero:first-child{min-height:100vh;min-height:100svh}
.cu-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 18%}
.cu-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(236,236,236,.55) 0,rgba(236,236,236,.25) 30%,rgba(236,236,236,0) 45%)}
.cu-hero-copy{position:absolute;z-index:2;left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));top:calc(var(--hdr-over) + clamp(48px,8vh,110px));max-width:min(30vw,440px);color:var(--ink-blue)}
.cu-hero-copy .kicker{margin-top:var(--s2)}
.cu-hero-copy .lede{margin-top:var(--s3);max-width:34ch}
.cu-hero-copy .hero-ctas{margin-top:clamp(24px,3vw,36px)}
@media (max-width:899px){
  .hero.cu-hero,.has-hero #view > .hero.cu-hero:first-child{min-height:0;display:flex;flex-direction:column}
  .cu-hero-bg{position:relative;inset:auto;height:auto;aspect-ratio:1402/1122;object-position:center}
  .cu-hero::before{content:none}
  .cu-hero-copy{position:relative;left:auto;top:auto;max-width:none;padding:32px var(--gutter) 44px;background:var(--pearl-white,#F7F4EA)}
}

#hero-h .nw{display:inline-block;white-space:nowrap}
#hero-h{max-width:none}
@media (min-width:900px){#hero-h{font-size:min(4.3vw,64px)}}
@media (max-width:899px){#hero-h{font-size:min(8.4vw,56px)}}

/* home gift band uses the gifts hero */
.band-shell.hband{background:linear-gradient(180deg,#E3B48B,#D9A273)}
.hband .gifting-full .gift-img img{object-position:center 60%}

/* custom hero v2: show the whole photo, keep title clear of the hat */
.hero.cu-hero,.has-hero #view > .hero.cu-hero:first-child{min-height:0;aspect-ratio:1402/1122}
.cu-hero-bg{object-position:center}
.cu-hero-copy{top:calc(var(--hdr-over) + clamp(24px,3.5vw,64px));max-width:min(27vw,420px)}
#c-hero{font-size:clamp(30px,3.3vw,56px)}
#c-hero .nw{display:inline-block;white-space:nowrap}
.cu-hero-copy .lede{max-width:30ch}
@media (max-width:899px){.hero.cu-hero,.has-hero #view > .hero.cu-hero:first-child{aspect-ratio:auto}.cu-hero-copy{max-width:none}#c-hero{font-size:clamp(30px,8.4vw,48px)}}
@media (min-width:900px){.cu-hero-copy{left:clamp(24px,4.5vw,96px)}#c-hero{font-size:clamp(28px,3vw,56px)}}

.gd-cert{position:absolute;inset:0;width:100%;height:100%;display:block;background:radial-gradient(ellipse at 30% 20%,#EEF2F0 0,#D6E3E1 55%,#C3D6D4 100%)}

.promises-end{padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--soft-sand)}
.len-link{margin-top:20px}
.flinks{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.flink{color:var(--ink-blue);text-decoration:none;font-size:15px}.flink:hover,.flink[aria-current]{text-decoration:underline;text-underline-offset:4px}

/* ===== PDP v2 ===== */
.pdp2{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);padding-block:20px clamp(48px,6vw,80px)}
.pdp2 .gallery{display:block;position:sticky;top:var(--stick)}
.pdp2 .g-wrap{position:relative}
.pdp2 .g-main{background:#fff!important;outline:0!important}
.pdp2 .g-main img{object-fit:contain}
.g-heart{position:absolute;top:16px;right:16px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.85);color:var(--ink-blue);cursor:pointer}
.g-heart svg{width:22px;height:22px}
.g-heart[aria-pressed="true"] svg path{fill:currentColor}
.g-share{position:absolute;top:70px;right:16px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.85);color:var(--ink-blue);cursor:pointer}
.g-share svg{width:20px;height:20px}
.pdp2 .thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px;order:0;flex-direction:row}
.pdp2 .thumb{width:auto;background:#fff!important;border:1px solid var(--cloud-grey)}
.pdp2 .thumb img{object-fit:contain}
.pdp2 .thumb .tl{display:none}
.pdp2 .thumb[aria-current="true"]{border-color:var(--ink-blue);box-shadow:none;outline:1px solid var(--ink-blue);outline-offset:0}
.pdp2 .buy{padding-top:6px}
.p2-eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--champagne-brown)}
.pdp2 .pdp-title{margin-top:14px;font-size:clamp(28px,2.8vw,38px);line-height:1.15;letter-spacing:.3px;text-transform:none}
.pdp2 .price{margin-top:18px;font-size:20px;line-height:28px}
.p2-tag{margin-top:12px;font-size:15px;line-height:24px;color:var(--ink-blue);max-width:46ch}
.p2-buy{display:flex;gap:14px;margin-top:28px;align-items:stretch}
.p2-buy .btn{flex:1;border-radius:0;min-height:50px}
.pdp2 .len-link{margin-top:18px}
.p2-icons{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;text-align:center}
.p2-icons li{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;line-height:16px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink-blue)}
.p2-icons svg{width:30px;height:30px;color:var(--champagne-brown)}
.p2-tabs{display:flex;gap:clamp(20px,3vw,40px);margin-top:36px;border-bottom:1px solid var(--cloud-grey)}
.p2-tabs button{background:none;border:0;padding:0 0 12px;margin-bottom:-1px;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-blue,#6b7378);cursor:pointer;border-bottom:2px solid transparent}
.p2-tabs button[aria-selected="true"]{color:var(--ink-blue);border-bottom-color:var(--ink-blue);font-weight:500}
.p2-panel{padding-top:20px;font-size:16px;line-height:26px;max-width:62ch}
.p2-panel p+p{margin-top:14px}
.p2-panel .bullets{margin-top:14px}
.p2-desc>*+*{margin-top:14px}
.p2-desc h2,.p2-desc h3,.p2-desc h4,.p2-desc h5,.p2-desc h6{font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;font-weight:400;color:var(--ink-blue);margin-top:24px}
.p2-desc>:first-child{margin-top:0}
.p2-desc ul,.p2-desc ol{padding:0;list-style:none}
.p2-desc li{position:relative;padding-left:22px;margin-top:8px}
.p2-desc ul>li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:var(--r-pill);background:var(--champagne-gold)}
.p2-desc ol{counter-reset:d}
.p2-desc ol>li{counter-increment:d}
.p2-desc ol>li::before{content:counter(d) ".";position:absolute;left:0;top:0;color:var(--champagne-brown)}
.p2-desc strong,.p2-desc b{font-weight:600}
.p2-desc a{text-decoration:underline;text-underline-offset:3px}
.p2-desc table{border-collapse:collapse;width:100%}
.p2-desc th,.p2-desc td{text-align:left;padding:6px 8px 6px 0;border-bottom:1px solid rgba(48,53,56,.12);vertical-align:top}
.p2-rel{padding-bottom:clamp(56px,7vw,96px)}
.p2-rel-h{text-align:center;font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,32px);letter-spacing:.3px;margin-bottom:clamp(24px,3vw,36px)}
@media (max-width:899px){.pdp2{grid-template-columns:minmax(0,1fr)}.pdp2 .gallery{position:static}.pdp2 .thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.p2-icons{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}}
.pdp2 .thumbs{display:flex!important;flex-direction:row;overflow-x:auto;scrollbar-width:none;gap:12px}
.pdp2 .thumbs::-webkit-scrollbar{display:none}
.pdp2 .thumb{flex:0 0 calc((100% - 48px)/5)}
.pdp2 .len-link .cta-link{white-space:normal;display:inline}
.p2-tabs{overflow-x:auto;scrollbar-width:none}.p2-tabs button{white-space:nowrap;flex:none}
@media (max-width:899px){.pdp2 .thumb{flex-basis:calc((100% - 36px)/4)}.p2-tabs{gap:22px}}

/* home rails: cards 20% smaller */
.rail{grid-auto-columns:calc((100% - 48px) * .3)}
.rail-arrow{top:calc((100cqw - 48px) * .15 - 32px)}
@media (max-width:1099px){.rail{grid-auto-columns:calc((100% - 32px) * .4)}.rail-arrow{top:calc((100cqw - 32px) * .2 - 32px)}}
@media (max-width:699px){.rail{grid-auto-columns:58%}.rail-arrow{top:calc(29cqw - 32px)}}

.p2-inc{padding-block:clamp(40px,5vw,72px);border-top:1px solid var(--soft-sand)}
.p2-rel+.p2-inc{border-top:0}
.p2-inc-h{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,30px);letter-spacing:.3px;margin-bottom:clamp(24px,3vw,40px)}
.inc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.inc{text-align:center}
.inc-img{position:relative;aspect-ratio:1;overflow:hidden;border-radius:0;background:#E9E4DA}
.inc-img img,.inc-img svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.inc-img .gd-cert{background:radial-gradient(ellipse at 30% 20%,#EEF2F0 0,#D6E3E1 55%,#C3D6D4 100%)}
.inc-h{margin-top:20px;font-family:var(--display);font-weight:400;font-size:var(--fs-h3);line-height:26px;letter-spacing:.6px;color:var(--ink-blue)}
.inc-t{margin:10px auto 0;max-width:30ch;font-size:14px;line-height:22px;color:var(--ink-blue);opacity:.8}
@media (max-width:899px){.inc-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.inc:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - clamp(8px,1vw,14px))}}

/* home rails: boutique cards */
.hrail .sec-head{flex-direction:column;align-items:center;text-align:center;gap:14px}
.hrail .sec-head .hl{font-family:var(--display);font-size:clamp(30px,3.2vw,44px);text-transform:none;letter-spacing:.3px}
.hrail .sec-head .kicker{margin-top:10px;font-size:12px;letter-spacing:2.4px;text-transform:uppercase}
.hrail .head-actions{margin-top:2px}
.hrail .card-art{background:#F1EEE8;outline:0}
.hrail .card-art img{mix-blend-mode:multiply}
.hrail .card-body{text-align:center;justify-items:center}
.hrail .card-name{text-decoration:none;font-weight:400;font-size:14px;max-width:32ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hrail .card-spec{display:none}
.hrail .card-spec-s{font-size:11px;line-height:16px;letter-spacing:1.4px;text-transform:uppercase;opacity:.7;margin-top:2px}
.hrail .card-price{margin-top:6px;font-size:14px;letter-spacing:.5px}
.hrail .card-badge:not(.is-sold){display:none}
.hrail .heart{background:transparent;width:36px;height:36px}
.hrail .heart svg{width:22px;height:22px;stroke-width:1.1}
.card-spec-s{display:none}
.hrail .card-spec-s{display:block}

/* home rails v3: e-commerce head, left-aligned cards */
.hrail .sec-head{flex-direction:row;align-items:flex-end;justify-content:space-between;text-align:left;gap:16px}
.hrail .sec-head .kicker{margin:0 0 8px;font-size:11px;letter-spacing:2.2px;text-transform:uppercase}
.hrail .sec-head .hl{font-size:clamp(28px,2.8vw,40px)}
.hrail .head-actions{margin:0 0 6px}
.view-all{font-size:12px;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink-blue);text-decoration:none;white-space:nowrap}
.view-all span{display:inline-block;transition:transform .2s}
.view-all:hover span{transform:translateX(4px)}
.hrail .card-body{text-align:left;justify-items:start}
.hrail .card-name{max-width:none;font-size:14px}
.hrail .card-spec-s{order:2;margin-top:2px}
.hrail .card-price{order:1;margin-top:4px;font-weight:500}
.hrail .card-body{display:flex;flex-direction:column;align-items:flex-start}
.hrail .card-badge.is-sold{border-radius:0;border:0;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;padding:4px 8px}
.view-all span{margin-left:10px}

/* home hero carousel */
.hcar{position:relative;touch-action:pan-y pinch-zoom}
.hcs{position:absolute;inset:0;z-index:1;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s;overflow:hidden;background:#1F2325}
.hcs.on{opacity:1;visibility:visible;transition:opacity .9s ease}
.hcs-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hcs-1 .hcs-bg{object-position:62% 22%}
.hcs-1{background:#0C0E0C} /* the beret photo's own studio black, so the uncropped photo meets the slide edge without a seam */
.hcs-2 .hcs-bg{object-position:center 30%}
.hcs-1::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(236,236,236,.55) 0,rgba(236,236,236,.2) 32%,rgba(236,236,236,0) 48%)}
.hcs-2::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.55) 0,rgba(20,20,20,.15) 50%,rgba(20,20,20,0) 75%)}
.hcs-copy{position:absolute;z-index:2;left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));top:50%;transform:translateY(-35%);max-width:min(40vw,560px)}
.hcs-h{margin-top:10px}
.hcs-dark{color:var(--ink-blue)}
.hcs-light,.hcs-light .hl,.hcs-light .kicker{color:#fff}
.btn-light{background:#fff;color:var(--ink-blue)}
.hcar-ctl{position:absolute;z-index:4;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.72);backdrop-filter:blur(6px)}
.hcar-dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:rgba(47,52,55,.3);cursor:pointer}
.hcar-dot[aria-current="true"]{background:var(--ink-blue);width:22px;border-radius:4px}
.hcar-arr{border:0;background:none;font-size:22px;line-height:1;color:var(--ink-blue);cursor:pointer;padding:0 4px}
@media (max-width:899px){.hcs-copy{top:auto;bottom:70px;transform:none;max-width:calc(100% - 2*var(--gutter))}.hcs-1::before{background:linear-gradient(0deg,rgba(236,236,236,.75) 0,rgba(236,236,236,0) 45%)}.hcs-2::before{background:linear-gradient(0deg,rgba(20,20,20,.6) 0,rgba(20,20,20,0) 50%)}}

.hcs-2 .hcs-copy{top:auto;bottom:110px;transform:none}
.hcs-2::before{background:linear-gradient(20deg,rgba(15,15,15,.7) 0,rgba(15,15,15,.25) 35%,rgba(15,15,15,0) 60%)}
@media (max-width:899px){.hcs-copy,.hcs-2 .hcs-copy{top:calc(100svh - 300px);bottom:auto}.hcs-1::before{background:linear-gradient(180deg,rgba(236,236,236,0) calc(100svh - 380px),rgba(236,236,236,.8) calc(100svh - 200px),rgba(236,236,236,.3) 100%)}.hcs-2::before{background:linear-gradient(180deg,rgba(15,15,15,0) calc(100svh - 400px),rgba(15,15,15,.7) calc(100svh - 200px),rgba(15,15,15,.4) 100%)}.hcs-h{font-size:clamp(30px,9vw,44px)}}
.hcs::before{z-index:1;pointer-events:none}.hcs-light .hl,.hcs-light .kicker{text-shadow:0 1px 18px rgba(0,0,0,.45)}.hcs-dark .hl,.hcs-dark .kicker{text-shadow:0 1px 16px rgba(255,255,255,.55)}

/* home rails spacing */
.hsec.hrail{padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(24px,3vw,40px)}
.hrail .sec-head{margin-bottom:clamp(20px,2.2vw,32px)}
.hrail .sec-head .kicker{margin-bottom:10px}

/* home quick categories */
.qcats{padding-top:clamp(28px,3.5vw,48px)}
.qcats ul{list-style:none;margin:0;padding:clamp(18px,2vw,28px) 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid var(--soft-sand)}
.qcats li{position:relative}
.qcats li+li::before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--soft-sand)}
.qcats a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--ink-blue);padding:4px 8px}
.qc-img{position:relative;width:clamp(84px,9vw,128px);aspect-ratio:1;border-radius:50%;overflow:hidden;background:#F3EFE8;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.qc-img img{position:absolute;inset:12%;width:76%;height:76%;object-fit:contain;mix-blend-mode:multiply}
.qc-photo img{inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
.qcats a:hover .qc-img{transform:scale(1.04)}
.qc-l{margin-top:14px;font-family:var(--display);font-size:clamp(15px,1.3vw,18px);letter-spacing:.4px}
.qc-go{margin-top:6px;font-size:12px;letter-spacing:.6px;opacity:.75;display:inline-flex;gap:8px}
.qcats a:hover .qc-go{opacity:1;text-decoration:underline;text-underline-offset:3px}
.ctiles + .hsec.hrail{padding-top:clamp(48px,5.5vw,80px)}
@media (max-width:699px){.qcats ul{display:flex;overflow-x:auto;scrollbar-width:none;padding:16px 4px}.qcats ul::-webkit-scrollbar{display:none}.qcats li{flex:0 0 31%}.qcats li+li::before{display:none}.qc-img{width:76px}.qc-l{font-size:14px;margin-top:10px}.qc-go{display:none}}

/* subtle carousel indicators */
.hcar-ctl{background:none;backdrop-filter:none;padding:0;gap:8px;bottom:26px}
.hcar-arr{display:none}
.hcar-dot{width:28px;height:2px;border-radius:0;background:rgba(255,255,255,.45);box-shadow:0 0 6px rgba(0,0,0,.18);position:relative}
.hcar-dot::after{content:"";position:absolute;inset:-10px 0}
.hcar-dot[aria-current="true"]{width:28px;border-radius:0;background:rgba(255,255,255,.95)}
.rail-more{text-align:center;margin-top:clamp(28px,3vw,44px)}

/* hero scales with viewport width */
@media (min-width:900px){
.has-hero #view > .hero.hcar:first-child,.hero.hcar{min-height:0;height:clamp(480px,54vw,calc(100svh - 52px))}
.hcar > .hero-art{aspect-ratio:auto;min-height:0;max-height:none;height:100%}
.hcar > .hero-copy{min-height:0}
.hcar .hl-hero{font-size:clamp(34px,4.3vw,72px)}
}
.hcs-h .nw,#hero-h .nw{display:inline-block;white-space:nowrap}
#hero-h{margin-top:10px}

/* home category tiles */
.ctiles{padding-top:clamp(20px,2.2vw,32px)}
.ctiles ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
.ctiles a{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#2A2522;color:#fff;text-decoration:none}
.ctiles img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:saturate(.9)}
.ctiles a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(25,20,18,.62) 0,rgba(25,20,18,.18) 42%,rgba(25,20,18,0) 65%)}
.ctiles a:hover img{transform:scale(1.04)}
.ct-copy{position:absolute;z-index:1;left:clamp(16px,2vw,32px);bottom:clamp(16px,2vw,30px);display:flex;flex-direction:column;gap:8px}
.ct-l{font-family:var(--display);font-size:clamp(17px,1.6vw,24px);letter-spacing:1.2px;text-transform:uppercase}
.ct-go{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;display:inline-flex;gap:10px;opacity:.9}
.ctiles a:hover .ct-go{opacity:1;text-decoration:underline;text-underline-offset:3px}
.ctiles + .hsec.hrail{padding-top:clamp(48px,5.5vw,80px)}
@media (max-width:699px){.ctiles ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* unified home section headings */
.kicker.hk{margin:0 0 8px;font-size:11px;line-height:16px;letter-spacing:2.2px;text-transform:uppercase;color:var(--ink-blue)}
.hl.hh,.hrail .sec-head .hl{font-size:clamp(28px,2.8vw,40px);line-height:1.15;text-transform:none;letter-spacing:.3px}
.sec-head:has(.hh){align-items:flex-end}
.sec-head:has(.hh) .head-actions{margin:0 0 6px}

/* slide 1: bold condensed headline */
#hero-h.hero-bold{font-family:'Bebas Neue','Oswald',Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:clamp(56px,7.4vw,120px);line-height:.92;letter-spacing:1px;text-transform:uppercase;margin-top:0}
.hero-sub{margin-top:clamp(14px,1.6vw,24px);font-size:clamp(18px,1.7vw,26px);letter-spacing:.6px;color:var(--ink-blue)}
.hcar .hero-ctas{margin-top:clamp(24px,3vw,44px)}
.hero-shop{font-size:clamp(14px,1.1vw,17px);letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.hero-shop:hover{border-bottom-width:2px}
.price-row .pr-k{margin:0 clamp(8px,2vw,24px) 0 0;white-space:nowrap}

/* carousel: one VI type system for all slides */
.hcar .hck{margin:0;font-family:var(--body,'Noto Sans'),sans-serif;font-size:13px;line-height:18px;letter-spacing:2.4px;text-transform:uppercase}
.hcar .hl-hero,.hcar .hcs-h{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.3vw,64px);line-height:1.05;letter-spacing:1.5px;text-transform:uppercase;margin-top:12px}
.hcar .hero-ctas{margin-top:clamp(24px,2.6vw,36px)}
.tile-link{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.tile-link:hover .tile-photo img{transform:scale(1.03)}.tile-photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}

/* narrow screens: hero keeps a bounded, proportional height */
@media (max-width:899px){
.has-hero #view > .hero.hcar:first-child,.hero.hcar{display:block;min-height:0;height:min(calc(100svh - 52px),135vw);max-height:none}
.hcar > .hero-art{position:absolute;inset:0;aspect-ratio:auto;max-height:none;min-height:0;height:100%;order:0}
.hcar > .hero-art img{object-position:60% 25%}
.hcar > .hero-copy{position:absolute;z-index:1;left:0;right:0;bottom:0;min-height:0;padding:80px var(--gutter) 64px;background:linear-gradient(0deg,rgba(156,203,201,.95) 0,rgba(156,203,201,.85) 55%,rgba(156,203,201,0) 100%)}
.hcs-copy,.hcs-2 .hcs-copy{top:auto;bottom:64px}
.hcs-1::before{background:none}
.hcs-2::before{background:linear-gradient(0deg,rgba(15,15,15,.72) 0,rgba(15,15,15,.3) 35%,rgba(15,15,15,0) 55%)}
.hcar .hl-hero,.hcar .hcs-h{font-size:clamp(28px,7.5vw,48px)}
.hcar-ctl{bottom:22px}
}
.hcar .hcs{z-index:3}
html,body{overflow-x:clip}

.hero-note{margin-top:clamp(14px,1.4vw,20px);font-size:clamp(15px,1.15vw,17px);line-height:1.6;letter-spacing:.3px;color:var(--ink-blue);opacity:.85}
@media (min-width:900px){
.hcs-1 .hcs-copy{top:38%;transform:none;max-width:min(36vw,520px)}
.hcs-1::before{background:linear-gradient(90deg,rgba(15,15,15,.45) 0,rgba(15,15,15,.15) 28%,rgba(15,15,15,0) 44%)}
}

@media (max-width:899px){
.hcar > .hero-art picture{position:absolute;inset:0}
.hcar > .hero-art img{position:absolute;inset:0;top:0;width:100%;height:100%;object-fit:cover;object-position:62% 20%}
.hcar > .hero-copy{padding-top:40px;background:linear-gradient(0deg,rgba(156,203,201,.94) 0,rgba(156,203,201,.8) 60%,rgba(156,203,201,0) 100%)}
}
@media (max-width:899px){.has-hero #view > .hero.hcar:first-child > .hero-art,.hcar > .hero-art{width:100%;right:0}}

/* product titles: always two lines (pad short names, clamp long ones) */

/* product card: one tile — image and text share the same soft grey ground */
.card{background:#F1EEE8}
.card .card-link{gap:0}
.card .card-art{background:#F1EEE8;outline:0}
.card .card-art img{mix-blend-mode:multiply}
.card .card-body{padding:16px 18px 20px}
.card{background:#FFFFFF}
.card .card-art,.hrail .card-art{background:var(--product-ground)}

/* home: side margins 70% narrower */
/* Homepage rhythm. --gutter: page side padding; --maxw: 1360px of content plus the gutters;
   --sp-s / --sp-m / --sp-l: section spacing (standard, roomier, major editorial transition);
   --sp-title: section title to content; --sp-grid: gaps inside grids. */
html[data-route="home"] #view{--gutter:clamp(56px,4.6vw,80px);--maxw:calc(1360px + 2 * var(--gutter));--sp-s:112px;--sp-m:124px;--sp-l:144px;--sp-title:clamp(32px,2.6vw,40px);--sp-grid:24px}
@media (max-width:1199px){html[data-route="home"] #view{--gutter:40px;--sp-s:88px;--sp-m:92px;--sp-l:96px;--sp-title:28px;--sp-grid:20px}}
@media (max-width:899px){html[data-route="home"] #view{--gutter:32px;--sp-s:80px;--sp-m:84px;--sp-l:96px}}
@media (max-width:599px){html[data-route="home"] #view{--gutter:20px;--sp-s:64px;--sp-m:72px;--sp-l:80px;--sp-title:24px;--sp-grid:14px}}

/* gifts mega: 5 columns, round thumbs */
.mega-in.four.gifts5 .mcol{padding-inline:24px}
.mega-in.four.gifts5 .mcol:first-child{padding-left:0}
.mega .mthumbs ul{gap:2px}
.mega a.gthumb{display:flex;align-items:center;gap:14px;min-height:48px;padding-block:4px;white-space:nowrap}
.gthumb-art{flex:none;width:44px;height:44px;border-radius:50%;overflow:hidden;background:#fff;border:1px solid var(--cloud-grey)}
.gthumb-art img{width:100%;height:100%;object-fit:cover;display:block}
.mega a.gthumb:hover .gthumb-art{border-color:var(--slate-blue)}
@media (max-width:1199px){.mega-in.four.gifts5 .mcol{padding-inline:16px}.gthumb-art{width:38px;height:38px}}
.flinks-h{font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase;margin:0 0 4px}
.gthumb-art img{transform:scale(1.12)}

/* home duo: eclipse + gift */
.hduo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,24px)}
.duo{display:grid;grid-template-columns:1fr 1fr;height:clamp(340px,30vw,480px);text-decoration:none;color:var(--ink-blue);overflow:hidden}
.duo-a{background:var(--mist-white)}.duo-b{background:var(--pearl-rose)}
.duo-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,3vw,48px)}
.duo-copy .hl{font-size:clamp(26px,2.6vw,38px);line-height:1.15;margin:0}
.duo-copy .kicker{margin-top:12px;max-width:30ch}
.duo-copy .btn{margin-top:clamp(20px,2.4vw,32px)}
.duo-img{position:relative;overflow:hidden}
.duo-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .6s ease}
.duo:hover .duo-img img{transform:scale(1.03)}
.duo:hover .btn-dark{background:var(--ink-deep)}
@media (max-width:1023px){.hduo{grid-template-columns:1fr}.duo{height:clamp(320px,52vw,440px)}}
@media (max-width:560px){.duo{grid-template-columns:1fr;height:auto}.duo-img{aspect-ratio:4/3;order:-1}}
.sig-more{display:inline-block;margin-top:14px}

/* home rails: round white arrow buttons */
html[data-route="home"] .rail-arrow{width:56px;height:56px;margin-top:4px;border-radius:50%;background:#fff;filter:none;box-shadow:0 2px 12px rgba(31,35,37,.10);color:var(--ink-blue)}
html[data-route="home"] .rail-arrow svg{width:12px;height:24px;stroke-width:1.4}
html[data-route="home"] .rail-arrow.prev{left:16px}html[data-route="home"] .rail-arrow.next{right:16px}
html[data-route="home"] .rail-arrow.next svg{margin-left:3px}html[data-route="home"] .rail-arrow.prev svg{margin-right:3px}
@media (max-width:699px){html[data-route="home"] .rail-arrow{width:44px;height:44px;margin-top:10px}html[data-route="home"] .rail-arrow svg{width:10px;height:20px}}

/* In their words: full-bleed palette ground */
section.reviews{background:#EAE8E5;box-shadow:0 0 0 100vmax #EAE8E5;clip-path:inset(0 -100vmax);padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(56px,7vw,88px);margin-bottom:clamp(64px,8vw,96px)}
section.reviews .rv-intro{background:var(--pearl-white)}
@media (max-width:599px){.designer-name.signature{font-size:clamp(36px,10.5vw,53px)}}

/* GIA + reviews combined */
.proofmix{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,2vw,28px);background:#EAE8E5;box-shadow:0 0 0 100vmax #EAE8E5;clip-path:inset(0 -100vmax);padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(56px,7vw,88px);margin-bottom:clamp(64px,8vw,96px)}
.pm-gia{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:var(--pearl-white)}
.pm-photo{margin:0;position:relative;min-height:100%;overflow:hidden}
.pm-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.pm-copy{padding:clamp(24px,3vw,44px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.pm-copy .hl{font-size:clamp(26px,2.4vw,36px);line-height:1.15}
.pm-copy .body{margin-top:16px;font-size:15px;line-height:24px}
.pm-copy .badge{width:min(100%,300px);height:auto;margin-top:12px}
.pm-copy .cta-link{margin-top:10px}
.pm-cap{margin-top:16px;font-size:11px;line-height:16px;color:var(--slate-blue)}
.pm-rv{position:relative;display:flex;flex-direction:column;padding:clamp(24px,3vw,44px);background:#9fb7c1 var(--ocean) center 80%/cover no-repeat;overflow:hidden}
.pm-rv-head{position:relative}
.pm-rv-head .hl{font-size:clamp(26px,2.4vw,36px);line-height:1.15}
.pm-rv-head .body-s{margin-top:6px}
.pm-view{position:relative;overflow:hidden;margin-top:clamp(20px,2.4vw,32px);flex:1;display:flex}
.pm-track{display:flex;width:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.pm-slide{flex:0 0 100%;margin:0;background:rgba(245,242,236,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pm-slide figcaption{padding:clamp(22px,2.6vw,36px)}
.pm-slide blockquote{font-size:clamp(17px,1.5vw,21px)}
.pm-ctl{position:relative;display:flex;align-items:center;gap:14px;margin-top:18px}
.pm-arr{width:40px;height:40px;border-radius:50%;border:0;background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink-blue);box-shadow:0 2px 10px rgba(31,35,37,.10)}
.pm-arr svg{width:9px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pm-dots{display:flex;gap:8px}
.pm-dot{width:22px;height:2px;padding:0;border:0;background:rgba(48,53,56,.3);cursor:pointer}
.pm-dot[aria-current="true"]{background:var(--ink-blue)}
.pm-note{position:relative;margin-top:12px;font-size:11px;color:var(--ink-blue)}
@media (max-width:1099px){.proofmix{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.pm-gia{grid-template-columns:minmax(0,1fr)}.pm-photo{aspect-ratio:4/3;min-height:0}}
.pm-note{align-self:flex-start;background:rgba(245,242,236,.88);padding:4px 10px}
.pm-ctl{align-self:flex-start;background:rgba(245,242,236,.88);padding:6px 10px;border-radius:999px}.pm-arr{width:34px;height:34px;box-shadow:none}
/* PDP buy row: VI pill buttons */
.p2-buy{gap:12px}
.p2-buy .btn{border-radius:var(--r-btn);min-height:50px}
/* PDP accordion */
.p2-acc{margin-top:36px;border-top:1px solid var(--cloud-grey)}
.p2-ac{border-bottom:1px solid var(--cloud-grey)}
.p2-ac summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;cursor:pointer;font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue)}
.p2-ac summary::-webkit-details-marker{display:none}
.p2-ac summary::after{content:"";flex:none;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/12px 1.2px no-repeat,linear-gradient(currentColor,currentColor) center/1.2px 12px no-repeat;transition:transform .25s}
.p2-ac[open] summary::after{background:linear-gradient(currentColor,currentColor) center/12px 1.2px no-repeat}
.p2-ac .p2-panel{padding:0 0 22px}
/* GIA full-image panel */
.pm-gia-full{position:relative;display:block;overflow:hidden;min-height:clamp(420px,40vw,600px);text-decoration:none;background:#e9e6e0}
.pm-gia-full img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pm-gia-full::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,26,25,.62) 0,rgba(28,26,25,.28) 38%,rgba(28,26,25,0) 62%)}
.pm-gia-full:hover img{transform:scale(1.03)}
.pm-gia-copy{position:absolute;z-index:1;left:clamp(24px,3vw,44px);right:clamp(24px,3vw,44px);bottom:clamp(24px,3vw,44px);display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.pm-gia-copy .hl{color:var(--pearl-white);font-size:clamp(30px,3vw,44px);line-height:1.1;margin:0}
@media (max-width:640px){.pm-gia-full{min-height:420px}}
/* shop by price: solid blocks */
.price-row .chip{background:var(--ink-blue);border-color:var(--ink-blue);color:var(--pearl-white)}
.price-row .chip:hover{background:var(--ink-deep);border-color:var(--ink-deep);color:var(--pearl-white)}
.pm-gia-full::after{background:linear-gradient(0deg,rgba(28,26,25,.72) 0,rgba(28,26,25,.4) 40%,rgba(28,26,25,0) 70%)}
.pm-slide figcaption{height:100%;justify-content:center}.pm-slide blockquote{flex:0 0 auto}.pm-view{margin-top:clamp(24px,3vw,40px);margin-bottom:clamp(8px,1vw,16px)}
/* reviews panel: quiet centred testimonial */
.pm-rv{background:#DAD6CE;text-align:center;align-items:center;justify-content:center;padding:clamp(40px,5vw,72px) clamp(28px,4vw,64px)}
.pm-rv-head{display:flex;flex-direction:column;align-items:center}
.pm-rv-head .hl{font-size:clamp(28px,2.6vw,40px)}
.pm-rv-head::after{content:"";display:block;width:min(70%,320px);height:1px;background:var(--ink-blue);opacity:.45;margin-top:clamp(28px,3vw,44px)}
.pm-view{width:100%;flex:0 0 auto;margin-top:clamp(24px,3vw,40px);margin-bottom:0}
.pm-slide{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.pm-slide figcaption{align-items:center;padding:0 clamp(0px,2vw,24px);gap:18px}
.pm-slide .rv-q{display:none}
.pm-slide .rv-stars{display:none}
.pm-slide .rv-stars svg{fill:var(--champagne-gold)}
.pm-slide blockquote{font-size:clamp(17px,1.5vw,20px);line-height:1.65;max-width:46ch}
.pm-slide .rv-by{flex-direction:row;justify-content:center;gap:10px;border-top:0;padding-top:0;font-size:14px;letter-spacing:.5px}
.pm-slide .rv-loc{font-size:11px}
/* proofmix: full-bleed, panels fill the band */
.proofmix{padding:0;gap:0;background:none;box-shadow:none;clip-path:none;margin-bottom:clamp(64px,8vw,96px);min-height:clamp(520px,46vw,720px)}
.proofmix>*{min-height:100%}
.proofmix .pm-gia-full{min-height:clamp(420px,46vw,720px)}
@media (max-width:1099px){.proofmix{min-height:0}}
.duo-head .sec-head{margin-bottom:clamp(20px,2.4vw,32px)}
.pm-score{display:inline-flex;align-items:center;gap:12px;margin-top:18px;color:var(--ink-blue);text-decoration:none;font-size:14px;letter-spacing:.4px}
.pm-score b{font-family:var(--display);font-weight:400;font-size:26px;line-height:1}
.pm-score .rv-stars svg{width:16px;height:16px;fill:var(--champagne-gold)}
.pm-score span:last-child{text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(48,53,56,.4)}
.pm-slide blockquote{font-size:clamp(15px,1.25vw,18px);line-height:1.7;max-width:52ch}
.mega{border-top:0;border-bottom:1px solid var(--ink-blue)}
/* As seen in strip */
.press-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px clamp(24px,4vw,64px);padding-top:clamp(28px,3.4vw,44px);padding-bottom:clamp(8px,1vw,12px)}
.press-strip .ps-k{font-family:var(--label);font-size:12px;letter-spacing:2.4px;text-transform:uppercase;color:var(--slate-blue);margin:0}
.press-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px clamp(24px,4vw,64px)}
.press-strip a{font-family:"Cormorant SC",var(--display);font-size:clamp(20px,1.9vw,27px);letter-spacing:1px;color:var(--ink-blue);opacity:.72;text-decoration:none;transition:opacity .2s;white-space:nowrap}
.press-strip a:hover{opacity:1}
/* About: giving back */
.au-give{background:var(--mist-white);padding:clamp(56px,7vw,96px) 0}
.au-give-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.au-give-copy .hl{margin-top:var(--s1)}
.au-give-copy .body{margin-top:var(--s3);max-width:52ch}
.au-give-copy .cta-link{margin-top:24px}
.au-give-side{border-left:1px solid var(--cloud-grey);padding-left:clamp(24px,4vw,56px)}
.au-give-num{font-family:var(--display);font-size:clamp(64px,7vw,104px);line-height:1;color:var(--ink-blue);margin:0}
.au-give-cap{font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--slate-blue);margin-top:10px}
.au-give-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:10px;font-size:15px;line-height:22px}
@media (max-width:899px){.au-give-in{grid-template-columns:minmax(0,1fr)}.au-give-side{border-left:0;padding-left:0;border-top:1px solid var(--cloud-grey);padding-top:28px}}
.p2-acc{border-top:1px solid rgba(48,53,56,.22)}.p2-ac{border-bottom:1px solid rgba(48,53,56,.22)}
.p2-panel .spec dt,.p2-panel .spec dd{border-bottom-color:rgba(48,53,56,.12)}
/* As seen in: logo marquee */
.press-marquee{background:#BDB8B5;overflow:hidden;padding:clamp(26px,3vw,40px) 0}
.pm-mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.pm-mq-track{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(56px,7vw,112px);width:max-content;animation:pmq 45s linear infinite}
.press-marquee:hover .pm-mq-track{animation-play-state:paused}
@keyframes pmq{to{transform:translateX(calc(-50% - clamp(56px,7vw,112px)/2))}}
.pm-mq-track a{display:block;color:#F7F5F2;text-decoration:none;white-space:nowrap;opacity:.95;transition:opacity .2s}
.pm-mq-track a:hover{opacity:1}
.pl-a{font-family:"Cormorant SC",serif;font-weight:600;font-size:clamp(26px,2.6vw,38px);letter-spacing:1px}
.pl-b{font-family:var(--display);font-size:clamp(20px,2vw,28px);letter-spacing:6px;text-transform:uppercase}
.pl-c{font-family:var(--body);font-weight:600;font-size:clamp(21px,2vw,30px);letter-spacing:-.3px}
.pl-d{font-family:"Mrs Saint Delafield",cursive;font-size:clamp(40px,4vw,58px);line-height:1}
.pl-e{font-family:var(--body,"Noto Sans"),sans-serif;font-weight:600;font-size:clamp(14px,1.3vw,18px);letter-spacing:3px;text-transform:uppercase}
@media (prefers-reduced-motion:reduce){.pm-mq-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto}.pm-mq-track li:nth-child(n+6){display:none}}
/* inner pages: white ground (home keeps pearl white) */
html:not([data-route="home"]) body,html:not([data-route="home"]) .site,html:not([data-route="home"]) .mega,html:not([data-route="home"]) .search-panel{background:#fff}
@media (max-width:899px){html:not([data-route="home"]) .filters,html:not([data-route="home"]) .filters-foot{background:#fff}}
.site:has(.mega:not([hidden])){border-bottom-color:transparent}
.mega,.search-panel{background:#fff}
.site:has(.mega:not([hidden]),.search-panel:not([hidden])){background:#fff}
.site{transition:background-color .2s}.site:hover,.site:focus-within{background:#fff}
/* home order: signatures, categories, new arrivals, pearl */
html[data-route="home"] .hcar + .hsec.hrail,html[data-route="home"] section.hero + .hsec.hrail{padding-top:clamp(48px,5.5vw,80px)}
section.cu-hero .cu-hero-bg{object-position:62% 22%}
section.cu-hero .cu-hero-copy{display:block}
section.cu-hero .cu-hero-copy{bottom:136px}
section.cu-hero .cu-hero-copy .hck{margin:0;font-family:var(--body,'Noto Sans'),sans-serif;font-size:13px;line-height:18px;letter-spacing:2.4px;text-transform:uppercase}
section.cu-hero .cu-hero-copy .hl-hero{font-family:var(--display);font-weight:400;font-size:clamp(28px,7.5vw,48px)!important;line-height:1.05;letter-spacing:1.5px;text-transform:uppercase;margin:12px 0 0!important}
@media(min-width:900px){section.cu-hero .cu-hero-bg{object-position:center 30%}
section.cu-hero::before{background:linear-gradient(270deg,rgba(236,236,236,.45) 0,rgba(236,236,236,.15) 28%,rgba(236,236,236,0) 44%)}
section.cu-hero .cu-hero-copy{left:auto;right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));bottom:194px;text-align:right;max-width:min(36vw,520px)}
section.cu-hero .cu-hero-copy .hl-hero{font-size:clamp(34px,4.3vw,64px)!important}}
.gd-card .cta-link{font-size:13px;white-space:normal;display:block}
.shop-banner{display:none!important}
/* ===== home v5: quiet layout from the full-page mockup ===== */
:root{--hv-band:color-mix(in srgb,var(--mist-white) 55%,var(--pearl-white));--hv-line:color-mix(in srgb,var(--ink-blue) 14%,transparent);--hv-mute:color-mix(in srgb,var(--ink-blue) 82%,transparent)}
html body .hv-sec{padding-block:var(--sp-s) 0}
html body .hv-kfs{padding-top:var(--sp-m)}
html body .hv-catsec,html body .hv-bq{padding-top:var(--sp-l)}
.hv-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 24px;margin-bottom:var(--sp-title)}
html body .hv-h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.1vw,31px);line-height:1.2;letter-spacing:.2px;text-transform:none;color:var(--ink-blue);margin:0}
.hv-more,.hv-lk{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-size:11.5px;line-height:1.4;letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue);text-decoration:none;background:none;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:0 0 3px;cursor:pointer;transition:color .2s}
.hv-more:hover,.hv-lk:hover,a:hover .hv-lk{color:var(--slate-blue)}
.hv-ar{width:14px;height:9px;flex:none}
.hv-sep{display:inline-block;width:1px;height:14px;background:var(--hv-line);flex:none}
.hv-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:20px}
.hv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 28px;border-radius:999px;background:var(--ink-deep);color:#fff;font-family:var(--body);font-size:12px;letter-spacing:2.2px;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink-deep);transition:background .2s,color .2s,border-color .2s}
.hv-btn:hover{background:transparent;color:var(--ink-deep)}
.hv-btn-l{background:#fff;color:var(--ink-deep);border-color:#fff}
.hv-btn-l:hover{background:transparent;color:#fff;border-color:#fff}

/* hero: photo blended into its own silk */
.hvh{position:relative;height:clamp(440px,38vw,600px);overflow:hidden;background:var(--misty-blue)}
.hvh-s{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s linear .9s}
.hvh-s.on{opacity:1;visibility:visible;transition:opacity .9s ease}
.hvh-blur{display:none}
.hvh-s0{background:radial-gradient(90% 120% at 18% 40%,color-mix(in srgb,var(--misty-blue) 78%,#fff) 0,var(--misty-blue) 55%,color-mix(in srgb,var(--misty-blue) 82%,#2f5f5b) 100%)}
.hvh-art{position:absolute;top:0;right:0;height:100%;width:64%;display:block;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%);mask-image:linear-gradient(90deg,transparent 0,#000 28%)}
.hvh-art img{width:100%;height:100%;object-fit:cover;object-position:30% 28%;display:block}
.hvh-s0::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.08) 34%,rgba(255,255,255,0) 52%)}
.hvh-copy{position:absolute;z-index:2;left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));top:50%;transform:translateY(-50%);max-width:min(44vw,560px);color:var(--ink-blue)}
.hvh-k{margin:0;font-family:var(--body);font-size:12px;line-height:18px;letter-spacing:2.6px;text-transform:uppercase}
html body .hvh-h{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.1vw,48px);line-height:1.08;letter-spacing:1.6px;text-transform:uppercase;margin:12px 0 0;color:inherit}
.hvh-h .nw{display:inline-block;white-space:nowrap}
.hvh-note{margin:14px 0 0;font-size:clamp(15px,1.15vw,17px);line-height:1.6}
.hvh-copy .hv-btn{margin-top:clamp(22px,2.4vw,32px)}
.hvh-full{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hvh-s1 .hvh-full{object-position:center 26%}
.hvh-s2 .hvh-full{object-position:center 32%}
.hvh-s1::before,.hvh-s2::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none}
.hvh-s1::before{background:linear-gradient(270deg,rgba(236,236,236,.5) 0,rgba(236,236,236,0) 46%)}
.hvh-s2::before{background:linear-gradient(90deg,rgba(15,15,15,.55) 0,rgba(15,15,15,0) 60%)}
.hvh-r{left:auto;right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));text-align:right}
.hvh-w{color:#fff}
.hvh-dots{position:absolute;z-index:4;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:8px}
.hvh-dots button{width:26px;height:2px;border:0;padding:0;background:rgba(48,53,56,.25);cursor:pointer;position:relative}
.hvh-dots button::after{content:"";position:absolute;inset:-14px -4px}
.hvh-dots button[aria-current="true"]{background:var(--ink-blue)}
@media(max-width:899px){
.hvh{height:150vw;max-height:680px;min-height:520px}
.hvh-s0{background:color-mix(in srgb,var(--misty-blue) 80%,#fff)}
.hvh-art{width:100%;height:60%;-webkit-mask-image:linear-gradient(180deg,#000 78%,transparent);mask-image:linear-gradient(180deg,#000 78%,transparent)}
.hvh-art img{object-position:45% 30%}
.hvh-blur{display:none}
.hvh-s0::after{display:none}
.hvh-s0 .hvh-copy{bottom:50px}
.hvh-copy,.hvh-r{left:var(--gutter);right:var(--gutter);top:auto;bottom:48px;transform:none;max-width:none;text-align:left}
.hvh-s1::before{background:linear-gradient(0deg,rgba(236,236,236,.85) 0,rgba(236,236,236,0) 50%)}
.hvh-s2::before{background:linear-gradient(0deg,rgba(15,15,15,.7) 0,rgba(15,15,15,0) 55%)}
html body .hvh-h{font-size:clamp(28px,8vw,40px)}
.hvh-dots{bottom:18px}
}

/* press */
.hv-press{background:color-mix(in srgb,#E6DED0 55%,var(--pearl-white));border-bottom:1px solid var(--hv-line)}
.hv-press ul{list-style:none;margin:0 auto;padding:16px var(--gutter);max-width:var(--maxw);display:flex;align-items:center}
.hv-press li{flex:1 1 0;text-align:center;position:relative;display:flex;align-items:center;justify-content:center;min-height:34px}
.hv-press li+li::before{content:"";position:absolute;left:0;top:50%;height:22px;margin-top:-11px;width:1px;background:var(--hv-line)}
.hv-press a{color:var(--hv-mute);text-decoration:none;white-space:nowrap;transition:color .2s}
.hv-press a:hover{color:var(--ink-blue)}
.hvp-a{font-family:var(--body);font-weight:600;font-size:16px}
.hvp-b{font-family:var(--script);font-size:30px;line-height:1}
.hvp-c{font-family:var(--body);font-size:9.5px;letter-spacing:1.8px;text-transform:uppercase}
.hvp-d{font-family:"Cormorant SC",var(--display);font-size:18px;letter-spacing:1.6px}
.hvp-e{font-family:var(--body);font-size:10.5px;letter-spacing:3.4px;text-transform:uppercase}
@media(max-width:899px){.hv-press ul{overflow-x:auto;scrollbar-width:none;padding-inline:0}.hv-press ul::-webkit-scrollbar{display:none}.hv-press li{flex:0 0 auto;padding:0 22px}}

/* signatures */
.hv-rw{position:relative}
.hv-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline:0}
.hv-row::-webkit-scrollbar{display:none}
.hv-row:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.hv-pc{scroll-snap-align:start;display:flex;flex-direction:column;color:var(--ink-blue);text-decoration:none;min-width:0}
.hv-pc-img{display:block;aspect-ratio:10/9;overflow:hidden;background:#EFEAE0}
.hv-pc-img img,.hv-pc-img svg{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.hv-pc:hover .hv-pc-img img{transform:scale(1.03)}
.hv-arr{position:absolute;z-index:2;top:calc(50% - 44px);width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.88);box-shadow:0 2px 10px rgba(30,30,30,.1);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .25s}
.hv-arr svg{width:18px;height:18px;fill:none;stroke:var(--ink-blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hv-prev{left:10px}.hv-next{right:10px}
.hv-rw:hover .hv-arr,.hv-arr:focus-visible{opacity:1}
@media(max-width:899px){.hv-row{grid-auto-columns:44%;gap:14px}.hv-arr{display:none}}

/* keepsakes + categories */
.hv-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-grid)}
.hv-kf{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;color:#fff;text-decoration:none}
.hv-kf img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.hv-kf:hover img{transform:scale(1.03)}
.hv-kf::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,18,16,.36) 0,rgba(20,18,16,0) 36%);pointer-events:none}
.hv-kf-c{position:absolute;z-index:1;left:clamp(18px,2vw,28px);bottom:clamp(16px,1.8vw,26px);display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.hv-kf-t{font-family:var(--display);font-size:clamp(20px,1.8vw,26px);line-height:1.2}
.hv-kf-u{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;letter-spacing:.3px;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:2px}
.hv-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-grid)}
.hv-cat{color:var(--ink-blue);text-decoration:none;min-width:0}
.hv-cat-i{display:block;aspect-ratio:11/10;overflow:hidden}
.hv-cat-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.hv-cat:hover .hv-cat-i img{transform:scale(1.03)}
.hv-cat-l{display:block;margin-top:10px;font-size:15px}
@media(max-width:699px){.hv-duo{grid-template-columns:minmax(0,1fr)}.hv-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* find your pearl band */
.hv-band{background:var(--hv-band);margin-top:clamp(40px,4.4vw,64px)}
.hv-fp-in{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,4vw,64px);align-items:center;padding-block:clamp(26px,3vw,44px)}
.hv-fp-fig{margin:0;aspect-ratio:5/4;overflow:hidden}
.hv-fp-img{width:100%;height:100%;object-fit:cover;display:block}
.hv-sub{margin:6px 0 0;font-size:14.5px;color:var(--hv-mute)}
.hv-fp-row{display:flex;gap:clamp(12px,2.2vw,34px);margin-top:clamp(18px,2vw,26px)}
.hv-fp-t{display:flex;flex-direction:column;align-items:center;gap:9px;background:none;border:0;padding:0;cursor:pointer;color:var(--ink-blue);min-width:0;font:inherit}
.hv-fp-ti{width:clamp(42px,3.5vw,54px);aspect-ratio:1;border-radius:50%;overflow:hidden;display:block;transition:transform .3s;box-shadow:0 5px 12px rgba(40,40,40,.14)}
.hv-fp-ti img{width:100%;height:100%;object-fit:cover;transform:scale(1.24);display:block}
.hv-fp-t:hover .hv-fp-ti{transform:translateY(-2px)}
.hv-fp-tl{font-size:12.5px;line-height:1.3;padding-bottom:5px;border-bottom:1px solid transparent;white-space:nowrap}
.hv-fp-t[aria-pressed="true"] .hv-fp-tl{border-bottom-color:var(--ink-blue)}
.hv-fp-d{margin-top:clamp(20px,2.2vw,30px);max-width:520px}
html body .hv-fp-name{font-family:var(--display);font-weight:400;font-size:clamp(20px,1.6vw,24px);line-height:1.2;margin:0;color:var(--ink-blue)}
.hv-fp-desc{margin:8px 0 0;font-size:14.5px;line-height:1.65}
@media(max-width:899px){.hv-fp-in{grid-template-columns:minmax(0,1fr)}.hv-fp-row{justify-content:space-between;gap:4px}.hv-fp-t{flex:1 1 0}.hv-fp-tl{font-size:11px;white-space:normal;text-align:center}}

/* boutiques & services */
.hv-bq-g{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:20px}
.hv-bq-main,.hv-bq-s{display:flex;flex-direction:column;color:var(--ink-blue);text-decoration:none;min-width:0}
.hv-bq-i{display:block;height:clamp(200px,19vw,300px);overflow:hidden}
.hv-bq-i img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.hv-bq-main:hover img,.hv-bq-s:hover img{transform:scale(1.03)}
.hv-bq-main .hv-bq-i img{object-position:center 46%}
.hv-bq-tx{display:flex;flex-direction:column;align-items:flex-start}
.hv-bq-t{margin-top:12px;font-family:var(--display);font-size:clamp(17px,1.35vw,20px);line-height:1.25}
.hv-bq-main .hv-bq-t{font-size:clamp(20px,1.7vw,24px)}
.hv-bq-d{margin-top:6px;font-size:13.5px;line-height:1.55;color:var(--hv-mute)}
.hv-bq-tx .hv-lk{margin-top:12px}
@media(max-width:699px){.hv-bq-g{grid-template-columns:minmax(0,1fr);gap:18px}.hv-bq-main .hv-bq-i{height:auto;aspect-ratio:4/3}.hv-bq-s{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:16px;align-items:center}.hv-bq-s .hv-bq-i{height:104px}.hv-bq-s .hv-bq-t{margin-top:0}}

/* reviews band */
.hv-rv-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;padding-block:clamp(22px,2.4vw,34px)}
.hv-rv-l{text-align:center;padding:4px 24px;border-right:1px solid var(--hv-line)}
.hv-rv-s{display:inline-flex;align-items:center;gap:10px;margin-top:8px;color:var(--ink-blue);text-decoration:none;font-size:13px}
.hv-rv-s b{font-weight:400}
.hv-stars{display:inline-flex;gap:2px}
.hv-stars svg{width:13px;height:13px;fill:var(--slate-blue)}
.hv-rv-n{border-bottom:1px solid currentColor}
.hv-rv-s:hover .hv-rv-n{color:var(--slate-blue)}
.hv-rv-r{margin:0;text-align:center;padding:4px 24px}
.hv-rv-r blockquote{margin:0;font-family:var(--display);font-size:clamp(17px,1.4vw,21px);line-height:1.4;color:var(--ink-blue)}
.hv-rv-r figcaption{margin-top:6px;font-size:12.5px;color:var(--hv-mute)}
@media(max-width:699px){.hv-rv-in{grid-template-columns:minmax(0,1fr)}.hv-rv-l{border-right:0;border-bottom:1px solid var(--hv-line);padding-bottom:18px}.hv-rv-r{padding-top:18px}}

/* pearls, with confidence */
.hv-cf{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:center}
.hv-cf-fig{margin:0;aspect-ratio:5/2;overflow:hidden}
.hv-cf-fig img{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block}
.hv-cf-c p{margin:10px 0 0;font-size:14.5px;line-height:1.65;max-width:44ch}
.hv-dlg{border:0;padding:0;max-width:min(920px,94vw);background:#fff}
.hv-dlg::backdrop{background:rgba(31,35,37,.55)}
.hv-dlg img{display:block;width:100%;height:auto}
.hv-x{position:absolute;top:8px;right:8px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:22px;line-height:1;cursor:pointer}
@media(max-width:899px){.hv-cf{grid-template-columns:minmax(0,1fr);gap:20px}.hv-cf-fig{aspect-ratio:16/9}}

/* designer */
.hvd{position:relative;background:#1C2023;color:#fff;margin-top:clamp(40px,4.4vw,64px);overflow:hidden}
.hvd-img{position:absolute;top:0;right:0;height:100%;width:58%;object-fit:cover;object-position:70% 30%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.hvd-in{position:relative;z-index:1;min-height:clamp(380px,30vw,460px);display:flex;align-items:center}
.hvd-c{max-width:min(46%,480px);padding-block:clamp(36px,4vw,56px)}
.hvd-eb{margin:0;font-size:11px;letter-spacing:2.6px;text-transform:uppercase;color:rgba(255,255,255,.72)}
html body .hvd-sig{font-family:var(--script);font-weight:400;font-size:clamp(52px,4.6vw,74px);line-height:1.05;margin:8px 0 0;color:#fff;text-transform:none;letter-spacing:0}
.hvd-role{margin:6px 0 0;font-size:12px;letter-spacing:2.4px;text-transform:uppercase}
.hvd-b{margin:14px 0 24px;font-size:14.5px;line-height:1.7;color:rgba(255,255,255,.86)}
@media(max-width:899px){.hvd-img{position:relative;display:block;width:100%;height:auto;aspect-ratio:4/3;object-position:88% 30%;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 28%);mask-image:linear-gradient(0deg,transparent 0,#000 28%)}.hvd-in{min-height:0;margin-top:-40px}.hvd-c{max-width:none;padding-top:0}}

/* newsletter + promises */
.hv-news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,64px);align-items:center;padding-block:clamp(36px,4vw,56px) clamp(24px,2.6vw,36px)}
.hv-news-l p{margin:8px 0 0;font-size:14.5px;line-height:1.6;color:var(--hv-mute)}
.hv-nf{display:flex;border:1px solid var(--hv-line);background:#fff}
.hv-nf input{flex:1;min-width:0;border:0;padding:0 16px;height:46px;font:inherit;font-size:14px;background:transparent;color:var(--ink-blue)}
.hv-nf input:focus{outline:2px solid var(--ink);outline-offset:-2px}
.hv-nf button{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--ink-deep);color:#fff;padding:0 22px;font-family:var(--body);font-size:11.5px;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
.hv-nmsg:empty{display:none}
.hv-fine{margin:8px 0 0;font-size:12px;color:var(--hv-mute)}
.hv-prom{list-style:none;margin:0;padding:clamp(20px,2.2vw,30px) 0 clamp(36px,4vw,56px);border-top:1px solid var(--hv-line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.hv-prom li{display:flex;gap:14px;align-items:flex-start}
.hv-prom svg{width:26px;height:26px;flex:none;color:var(--slate-blue)}
.hv-prom b{display:block;font-weight:400;font-size:14px;color:var(--ink-blue)}
.hv-prom span{display:block;font-size:12.5px;line-height:1.5;color:var(--hv-mute);margin-top:2px}
@media(max-width:899px){.hv-news{grid-template-columns:minmax(0,1fr)}.hv-prom{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}}

/* contact: in-store photo */
.ct-photo{margin:0 0 28px;aspect-ratio:4/3;overflow:hidden}
.ct-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%;display:block}
/* home v5.1 */
@media(min-width:900px){
.hv-bq-g{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);grid-template-rows:repeat(3,auto);gap:0 clamp(28px,3.4vw,52px)}
.hv-bq-main{grid-row:1/4}
.hv-bq-main .hv-bq-i{height:auto;aspect-ratio:4/3}
.hv-bq-s{display:grid;grid-template-columns:clamp(120px,11vw,160px) minmax(0,1fr);column-gap:22px;align-items:center;padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--hv-line)}
.hv-bq-s:last-child{margin-bottom:0}
.hv-bq-s .hv-bq-i{height:auto;aspect-ratio:1}
.hv-bq-s .hv-bq-t{margin-top:0}
.hv-bq-s .hv-bq-tx .hv-lk{margin-top:10px}
}
/* reviews ticker */
.hv-tick{margin-top:clamp(40px,4.4vw,64px);border-block:1px solid var(--hv-line)}
.hv-tick-in{display:flex;align-items:center;max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter)}
.hv-tick-l{flex:none;padding:14px 28px 14px 0;border-right:1px solid var(--hv-line)}
html body .hv-tick-h{font-family:var(--display);font-weight:400;font-size:17px;line-height:1.3;margin:0;color:var(--ink-blue);text-transform:none;letter-spacing:.2px}
.hv-tick-l .hv-rv-s{margin-top:4px;font-size:12.5px}
.hv-tick-v{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent);outline:0}
.hv-tick-t{list-style:none;margin:0;padding:0;display:flex;width:max-content;animation:hvtick 70s linear infinite}
.hv-tick-v:hover .hv-tick-t,.hv-tick-v:focus .hv-tick-t{animation-play-state:paused}
.hv-tick-t li{display:flex;align-items:baseline;gap:10px;padding:0 34px;white-space:nowrap;position:relative}
.hv-tick-t li::after{content:"";position:absolute;right:-2px;top:50%;width:4px;height:4px;border-radius:50%;background:var(--slate-blue);opacity:.55}
.hv-tick-t q{font-family:var(--display);font-size:17px;color:var(--ink-blue);quotes:"“" "”"}
.hv-tick-t span{font-size:12px;color:var(--hv-mute)}
@keyframes hvtick{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.hv-tick-t{animation:none}.hv-tick-v{overflow-x:auto}}
@media(max-width:699px){.hv-tick-in{flex-direction:column;align-items:stretch;padding-left:0}.hv-tick-l{border-right:0;border-bottom:1px solid var(--hv-line);padding:14px var(--gutter);text-align:center}.hv-tick-v{padding-block:14px}.hv-tick-t q{font-size:15px}}
/* confidence: the report itself */
.hv-cf-fig{position:relative;display:block;width:100%;margin:0;padding:0;border:0;cursor:zoom-in;aspect-ratio:2/1;overflow:hidden;background:color-mix(in srgb,#E4DCCF 55%,var(--pearl-white))}
.hv-cf-fig img{position:absolute;left:50%;top:50%;width:auto;height:84%;max-width:88%;object-fit:contain;display:block;transform:translate(-50%,-50%);box-shadow:0 14px 34px rgba(40,34,26,.16),0 2px 6px rgba(40,34,26,.08);transition:transform .5s ease}
.hv-cf-fig:hover img{transform:translate(-50%,-51.5%)}
@media(max-width:899px){.hv-cf-fig{aspect-ratio:4/3}}
/* newsletter: closer together */
html body .hv-news{max-width:940px;margin-inline:auto;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(20px,4vw,56px)}
/* product photos: one warm backdrop */
.card-art,.hv-pc-img{background:#F5F3EE!important}
@media(max-width:599px){.hv-links .hv-sep{display:none}}
html body .card .card-art img,html body .hrail .card-art img,html body .qc-img img{mix-blend-mode:normal!important}
html body #g-main,html body .thumb,html body .qc-img{background:#F5F3EE!important}
/* add to bag: a size down */
html body .pdp2 .p2-buy{max-width:300px}
html body .pdp2 .p2-buy .btn{min-height:40px}
html body .pdp2 .p2-buy .btn{font-size:12px;letter-spacing:1.8px;padding-inline:20px}
/* home v5.2: bottom per reference */
.hv-eb{margin:0 0 12px;font-family:var(--body);font-size:11.5px;letter-spacing:2.6px;text-transform:uppercase;color:var(--slate-blue)}
.hv-rv3{background:var(--hv-band);margin-top:clamp(40px,4.4vw,64px)}
.hv-rv3-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;padding-block:clamp(40px,4.6vw,68px)}
.hv-rv3-l{padding-right:clamp(28px,4vw,64px);border-right:1px solid var(--hv-line)}
html body .hv-rv3-h{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.4vw,50px);line-height:1.08;margin:0;color:var(--ink-blue);text-transform:none;letter-spacing:0}
.hv-rv3-s{display:flex;align-items:center;gap:18px;margin:clamp(16px,2vw,26px) 0 clamp(18px,2vw,26px)}
.hv-rv3-s>b{font-family:var(--display);font-weight:400;font-size:clamp(56px,5.4vw,78px);line-height:1;color:var(--ink-blue)}
.hv-rv3-s>div{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--hv-mute)}
.hv-rv3-s .hv-stars svg{width:19px;height:19px;fill:var(--slate-blue)}
.hv-rv3-r{padding-left:clamp(28px,4vw,64px)}
.hv-qs{display:grid}
.hv-q{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s linear .8s}
.hv-q.on{opacity:1;visibility:visible;transition:opacity .8s ease}
.hv-q blockquote{margin:0;font-family:var(--display);font-size:clamp(21px,2.1vw,30px);line-height:1.42;color:var(--ink-blue);text-indent:-.45em}
.hv-q blockquote::before{content:"“"}.hv-q blockquote::after{content:"”"}
.hv-q figcaption{margin-top:18px;display:flex;flex-direction:column;gap:3px}
.hv-q figcaption b{font-weight:400;font-family:var(--display);font-size:17px;color:var(--ink-blue)}
.hv-q figcaption span{font-size:13px;color:var(--hv-mute)}
.hv-qd{display:flex;gap:8px;margin-top:20px}
.hv-qd button{width:22px;height:2px;border:0;padding:0;background:color-mix(in srgb,var(--ink-blue) 22%,transparent);cursor:pointer;position:relative}
.hv-qd button::after{content:"";position:absolute;inset:-12px -3px}
.hv-qd button[aria-current="true"]{background:var(--ink-blue)}
@media(max-width:799px){.hv-rv3-in{grid-template-columns:minmax(0,1fr)}.hv-rv3-l{padding:0 0 26px;border-right:0;border-bottom:1px solid var(--hv-line)}.hv-rv3-r{padding:26px 0 0}}
html body .hv-rv3 + .hv-cf{padding-top:clamp(24px,2.6vw,40px)}
/* newsletter */
.hv-n2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;padding-block:clamp(44px,5vw,72px) clamp(32px,3.4vw,48px)}
html body .hv-n2-h{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,54px);line-height:1.08;margin:0;color:var(--ink-blue);text-transform:none;letter-spacing:0}
.hv-n2-p{margin:14px 0 0;font-size:clamp(15px,1.25vw,18px);line-height:1.55;color:var(--hv-mute);max-width:34ch}
.hv-nf2 label{display:block;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--ink-blue);margin-bottom:12px}
.hv-nf2-row{display:flex;align-items:flex-end;gap:18px}
.hv-nf2 input{flex:1;min-width:0;border:0;border-bottom:1px solid color-mix(in srgb,var(--ink-blue) 35%,transparent);background:transparent;padding:10px 2px;font:inherit;font-size:15px;color:var(--ink-blue);border-radius:0}
.hv-nf2 input:focus{outline:0;border-bottom-color:var(--ink-blue)}
.hv-nf2 button{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 24px;border:0;border-radius:6px;background:var(--ink-deep);color:#fff;font-family:var(--body);font-size:11.5px;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
@media(max-width:799px){.hv-n2{grid-template-columns:minmax(0,1fr)}}
/* boutiques: text above, photo fills to the bottom of the service list */
@media(min-width:900px){
html body .hv-bq-g{align-items:stretch}
html body .hv-bq-main{display:flex;flex-direction:column;align-self:stretch}
html body .hv-bq-main .hv-bq-tx{order:0;margin-bottom:18px}
html body .hv-bq-main .hv-bq-t{margin-top:0}
html body .hv-bq-main .hv-bq-i{order:1;flex:1 1 auto;height:auto;aspect-ratio:auto;min-height:280px;position:relative}
html body .hv-bq-main .hv-bq-i img{position:absolute;inset:0;object-position:center 40%}
html body .hv-bq-s:last-child{padding-bottom:0;border-bottom:0}
}
/* boutiques: caption on the photo */
html body .hv-bq-main{position:relative;display:block;overflow:hidden;color:#fff}
html body .hv-bq-main .hv-bq-i{position:absolute;inset:0;height:auto;aspect-ratio:auto;min-height:0}
html body .hv-bq-main .hv-bq-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
html body .hv-bq-main::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(20,18,16,.78) 0,rgba(20,18,16,.5) 30%,rgba(20,18,16,0) 60%)}
html body .hv-bq-main .hv-bq-tx{position:absolute;z-index:2;left:clamp(20px,2.4vw,36px);right:clamp(20px,2.4vw,36px);bottom:clamp(20px,2.4vw,34px);margin:0}
html body .hv-bq-main .hv-bq-t{margin-top:0;color:#fff;font-size:clamp(24px,2.1vw,30px)}
html body .hv-bq-main .hv-bq-d{color:rgba(255,255,255,.88);max-width:46ch}
html body .hv-bq-main .hv-lk{color:#fff}
@media(max-width:699px){html body .hv-bq-main{aspect-ratio:4/5}}
@media(min-width:700px){html body .hv-bq-g{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}}
html body .hv-bq-main .hv-bq-i img{object-position:center 30%}
/* boutiques v3: four photo tiles, captions on the photos */
html body .hv-bq-s{position:relative;display:block;overflow:hidden;color:#fff;padding:0;margin:0;border:0}
html body .hv-bq-s .hv-bq-i{position:absolute;inset:0;height:auto;aspect-ratio:auto}
html body .hv-bq-s .hv-bq-i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html body .hv-bq-s::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(20,18,16,.78) 0,rgba(20,18,16,.45) 32%,rgba(20,18,16,0) 60%)}
html body .hv-bq-s .hv-bq-tx{position:absolute;z-index:2;left:clamp(16px,1.6vw,24px);right:clamp(16px,1.6vw,24px);bottom:clamp(18px,1.8vw,26px)}
html body .hv-bq-s .hv-bq-t{margin:0;color:#fff;font-size:clamp(18px,1.5vw,22px)}
html body .hv-bq-s .hv-bq-d{color:rgba(255,255,255,.86);font-size:13px}
html body .hv-bq-s .hv-lk{color:#fff;margin-top:12px}
@media(min-width:900px){
html body .hv-bq-g{grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));grid-template-rows:clamp(440px,38vw,580px);gap:16px}
html body .hv-bq-main{grid-row:auto}
html body .hv-bq-s{grid-template-columns:none}
}
@media(max-width:699px){html body .hv-bq-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}html body .hv-bq-main{grid-column:1/-1}html body .hv-bq-s{display:block;aspect-ratio:3/4}html body .hv-bq-s:last-child{grid-column:1/-1;aspect-ratio:16/10}html body .hv-bq-s .hv-bq-d{display:none}}
/* boutiques v4: store left, three landscape services stacked right (tablet and up) */
@media(min-width:700px){
html body .hv-bq-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));height:clamp(420px,38vw,560px);gap:var(--sp-grid)}
html body .hv-bq-main{grid-row:1/4}
html body .hv-bq-s{grid-column:2}
html body .hv-bq-s::after{background:linear-gradient(90deg,rgba(20,18,16,.68) 0,rgba(20,18,16,.35) 40%,rgba(20,18,16,0) 70%)}
html body .hv-bq-s .hv-bq-tx{left:clamp(20px,2vw,30px);right:auto;max-width:58%;top:50%;bottom:auto;transform:translateY(-50%)}
html body .hv-bq-s .hv-bq-d{font-size:13px;line-height:1.5}
html body .hv-bq-s .hv-lk{margin-top:10px}
html body .hv-bq-main .hv-bq-d{max-width:40ch;font-size:15px;line-height:1.6}
}
/* boutiques: the three service cards swipe sideways on phones, each about 60% of the gallery card (same 4:5 shape); tablet and up keep the grid above */
.hv-bq-sr{display:contents}
@media(max-width:699px){
html body .hv-bq-sr{grid-column:1/-1;display:grid;grid-auto-flow:column;grid-auto-columns:60%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
html body .hv-bq-sr::-webkit-scrollbar{display:none}
html body .hv-bq-sr .hv-bq-s,html body .hv-bq-sr .hv-bq-s:last-child{grid-column:auto;aspect-ratio:4/5;scroll-snap-align:start}
}
/* shop grid: four across, quiet centred cards (Cartier-style) */
@media(min-width:1100px){
html body .shop{grid-template-columns:200px minmax(0,1fr);gap:clamp(28px,3vw,48px)}
html body .shop #grid.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 18px}
html body .shop .fgroup label,html body .shop .fopts label{font-size:14px}
}
@media(min-width:900px) and (max-width:1099px){html body .shop #grid.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
html body .shop #grid .card-body{padding:14px 6px 0}
html body .shop #grid .card-badge{border-radius:0;background:#fff;border:0;font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;padding:5px 8px;color:var(--ink-blue)}
html body .shop #grid .heart{background:transparent!important}
/* colour variant circles on product images */
.card-cols{position:absolute;z-index:3;left:12px;bottom:12px;display:flex;gap:6px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(4px)}
.cc{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),inset -2px -3px 4px rgba(0,0,0,.12),inset 2px 2px 3px rgba(255,255,255,.7);cursor:pointer;outline-offset:2px;position:relative}
.cc.on::after,.cc.hov::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--ink-blue)}
.cc::before{content:"";position:absolute;inset:-6px}
html body .shop #grid .card-sw{display:none}
html body .card-art:has(.card-cols:hover) .m2{opacity:0!important;visibility:hidden!important}
html body .card-art:has(.card-cols:hover) .m1{opacity:1!important;visibility:visible!important}
.card-cols:hover .cc.on:not(.hov)::after{display:none}
/* proof v2: reviews (left, textured panel) + certificate (right) side by side */
.hv-pf{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(16px,1.8vw,24px);align-items:stretch;margin-top:clamp(40px,4.4vw,64px)}
.hv-pf-rv{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(24px,2.6vw,36px);padding:clamp(28px,3.4vw,52px);color:var(--ink-blue);
 background:
  radial-gradient(120% 90% at 12% 0%,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 55%),
  radial-gradient(90% 80% at 100% 100%,rgba(71,127,125,.10) 0,rgba(71,127,125,0) 60%),
  repeating-linear-gradient(0deg,rgba(48,53,56,.012) 0 1px,transparent 1px 3px),
  repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,transparent 1px 5px),
  color-mix(in srgb,var(--misty-blue) 22%,var(--pearl-white));
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 1px 0 rgba(48,53,56,.04)}
.hv-pf-rv::before{content:"";position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--slate-blue) 22%,transparent);pointer-events:none;z-index:-1}
.hv-pf-rv::after{content:"\201C";position:absolute;right:clamp(18px,3vw,44px);top:clamp(-30px,-2vw,-10px);font-family:var(--display);font-size:clamp(200px,20vw,300px);line-height:1;color:color-mix(in srgb,var(--slate-blue) 13%,transparent);pointer-events:none;z-index:-1}
.hv-pf-top{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px 28px}
html body .hv-pf-h{font-family:var(--display);font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1.1;margin:0;color:var(--ink-blue);text-transform:none;letter-spacing:0}
.hv-pf-score{display:flex;align-items:center;gap:14px}
.hv-pf-score>b{font-family:var(--display);font-weight:400;font-size:clamp(44px,4vw,56px);line-height:1}
.hv-pf-score>div{display:flex;flex-direction:column;gap:5px;font-size:13px;color:color-mix(in srgb,var(--ink-blue) 72%,transparent)}
.hv-pf-score .hv-stars svg{width:17px;height:17px;fill:var(--slate-blue)}
.hv-pf .hv-qs{min-width:0}
.hv-pf .hv-q blockquote{font-size:clamp(20px,1.8vw,26px);line-height:1.45;text-indent:0;max-width:34ch;overflow-wrap:break-word}
.hv-pf .hv-q blockquote::before{content:none}.hv-pf .hv-q blockquote::after{content:none}
.hv-pf-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 24px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--slate-blue) 22%,transparent)}
.hv-pf .hv-qd{margin-top:0}
.hv-pf-cf{display:flex;flex-direction:column;background:var(--paper,#fff);border:1px solid color-mix(in srgb,var(--ink-blue) 10%,transparent);min-width:0}
.hv-pf-cf .hv-cf-fig{position:relative;display:block;width:100%;margin:0;padding:0;border:0;cursor:zoom-in;overflow:hidden;aspect-ratio:auto;flex:1 1 auto;min-height:260px;background:color-mix(in srgb,#E4DCCF 45%,var(--pearl-white))}
.hv-pf-cf .hv-cf-fig img{height:72%;max-width:80%;transform:translate(-50%,-50%) rotate(-1.5deg)}
.hv-pf-cf .hv-cf-fig:hover img{transform:translate(-50%,-51.5%) rotate(0deg)}
.hv-pf-cf .hv-cf-c{padding:clamp(22px,2.4vw,32px)}
.hv-pf-cf .hv-cf-c p{margin:10px 0 0;font-size:14.5px;line-height:1.6;max-width:46ch}
html body .hv-pf-cf .hv-h2{font-size:clamp(22px,1.9vw,27px)}
.hv-pf-cf .hv-links{gap:10px 16px}
@media(max-width:899px){.hv-pf{grid-template-columns:minmax(0,1fr)}.hv-pf-cf .hv-cf-fig{min-height:0;aspect-ratio:4/3}.hv-pf-rv::after{font-size:180px}}
@media(max-width:599px){.hv-pf-cf .hv-links .hv-sep{display:none}}
html body .hv-pf .hv-pf-rv.hv-rv3{margin-top:0}
/* proof v3: one joined block, section rhythm */
html body .hv-pf{gap:0;margin-top:var(--sp-l);margin-bottom:var(--sp-m);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink-blue) 10%,transparent)}
html body .hv-pf .hv-pf-cf{border:0;border-left:1px solid color-mix(in srgb,var(--ink-blue) 10%,transparent)}
@media(max-width:899px){html body .hv-pf .hv-pf-cf{border-left:0;border-top:1px solid color-mix(in srgb,var(--ink-blue) 10%,transparent)}}
html body .hv-prom{border-top:0;padding-top:clamp(40px,4.4vw,64px);padding-bottom:clamp(40px,4.4vw,64px)}
/* footer newsletter */
.foot-news{margin-top:20px;max-width:320px}
.foot-news label{display:block;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--ink-blue);margin-bottom:8px}
.foot-news-row{display:flex;align-items:stretch;border:1px solid color-mix(in srgb,var(--ink-blue) 22%,transparent);background:#fff}
.foot-news input{flex:1;min-width:0;border:0;background:transparent;padding:0 12px;height:40px;font:inherit;font-size:13.5px;color:var(--ink-blue)}
.foot-news input:focus{outline:2px solid var(--ink);outline-offset:-2px}
.foot-news button{flex:none;border:0;background:var(--ink-deep);color:#fff;padding:0 16px;font:500 11px/1 var(--body);letter-spacing:1.8px;text-transform:uppercase;cursor:pointer}
.foot-news-msg{font-size:12px;margin:6px 0 0}.foot-news-msg:empty{display:none}
html body .hv-bq-s .hv-bq-i img{object-position:right center}
/* promises with dividers */
html body .hv-prom{gap:0}
html body .hv-prom li{padding:4px clamp(14px,2vw,28px);gap:16px;align-items:center}
html body .hv-prom li+li{border-left:1px solid var(--hv-line)}
html body .hv-prom li:first-child{padding-left:0}
html body .hv-prom svg{width:34px;height:34px}
html body .hv-prom b{font-family:var(--display);font-size:16px}
@media(max-width:899px){html body .hv-prom{gap:18px 0}html body .hv-prom li:nth-child(odd){padding-left:0;border-left:0}}
@media(max-width:899px){html body .fp .fp-tl{font-size:12px;line-height:1.25}html body .fp .fp-tl::after{left:-4px;right:-4px}html body .fp .fp-t{padding:6px 0 10px;min-width:0}}
html body .fp{--fpbg:#EEEFF0;align-items:start!important;background:var(--fpbg);box-shadow:0 0 0 100vmax var(--fpbg);clip-path:inset(0 -100vmax);padding-block:clamp(48px,6vw,88px)!important;margin-block:clamp(40px,5vw,72px)}
html body .fp .fp-fig{background:var(--fpbg);aspect-ratio:5/4}
html body .fp .fp-ti{background:transparent!important;box-shadow:none!important;border-radius:50%;width:clamp(68px,6.4vw,100px)}
html body .fp .fp-t{position:relative;padding:10px 6px 14px}
html body .fp .fp-t[aria-pressed="true"] .fp-ti{box-shadow:none!important}
html body .fp .fp-tl{position:relative;padding-bottom:8px}
html body .fp .fp-tl::after{content:"";position:absolute;left:-10px;right:-10px;bottom:0;height:2px;background:var(--slate-blue);transform:scaleX(0);transition:transform .25s}
html body .fp .fp-t[aria-pressed="true"] .fp-tl::after{transform:scaleX(1)}
@media(min-width:900px){html body .fp .fp-r{padding-top:clamp(60px,6vw,96px)}}
html body .fp .fp-t[aria-pressed="true"] .fp-tl{color:var(--slate-blue)}
html body .fp .fp-tl{font-size:16px}
.fp{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,88px);align-items:center}
.fp .hl{margin-bottom:20px}
.fp-fig{margin:0;aspect-ratio:4/3;overflow:hidden;background:#F3F1EE}
.fp-img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .25s}
.fp-name{font-family:var(--display);font-size:24px;margin:16px 0 2px;color:var(--ink-blue)}
.fp-meta{font-size:14px;color:color-mix(in srgb,var(--ink-blue) 65%,transparent);margin:0}
.fp-go{display:inline-flex;gap:6px;margin-top:12px;font-size:15px;color:var(--slate-blue);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.fp-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(18px,2.4vw,36px) 12px}
.fp-t{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;padding:10px 4px;cursor:pointer;color:var(--ink-blue);border-radius:6px}
.fp-ti{width:clamp(64px,6vw,96px);background:#EEF0F0;aspect-ratio:1;border-radius:50%;overflow:hidden;display:block;transition:transform .3s,box-shadow .3s;box-shadow:0 0 0 1px transparent}
.fp-ti img{width:100%;height:100%;object-fit:cover}
.fp-t:hover .fp-ti{transform:translateY(-3px)}
.fp-t[aria-pressed="true"] .fp-ti{box-shadow:0 0 0 1px var(--slate-blue),0 0 0 5px var(--pearl-white),0 0 0 6px color-mix(in srgb,var(--slate-blue) 40%,transparent)}
.fp-tl{font-size:15px;margin-top:6px}
.fp-t[aria-pressed="true"] .fp-tl{color:var(--slate-blue)}
.fp-ts{font-size:12.5px;color:color-mix(in srgb,var(--ink-blue) 60%,transparent)}
.fp-cmp{display:inline-block;margin-top:26px}
.fp-r{text-align:center}
@media(max-width:899px){.fp{grid-template-columns:minmax(0,1fr)}.fp-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.fp-ti{width:100%}.fp-tl{font-size:12.5px;line-height:1.25}.fp-ts{display:none}.fp-r{order:2}}
html body .rv-stars,html body .pdp-stars,html body section.proofmix .rv-stars{display:inline-flex!important;gap:3px!important;align-items:center}
html body .rv-stars svg,html body .pdp-stars svg,html body section.proofmix .rv-stars svg,html body section.proofmix .pm-score .rv-stars svg{width:18px!important;height:18px!important;padding:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;fill:var(--slate-blue)!important}
html body section.proofmix .pm-score .rv-stars svg{width:17px!important;height:17px!important}
html body .pdp-stars svg{width:16px!important;height:16px!important}
.pdp-stock{margin:18px 0 0;font-size:14px;line-height:22px;color:var(--ink)}
.pdp-stock+.p2-buy{margin-top:10px!important}
.pdp-ships .pdp-ship{border-color:color-mix(in srgb,var(--ink-blue) 22%,transparent)!important;padding:7px 16px!important;font-size:13px!important;gap:10px!important}
.pdp-ships{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pdp2 .pdp-ships .pdp-ship{margin:0!important}
.pdp-ships .pdp-ship svg[viewBox='0 0 24 24']{width:19px;height:19px}
@media(min-width:900px){#g-bridal .svc-row-img{aspect-ratio:auto!important;align-self:stretch;min-height:100%!important}#g-bridal .svc-row-img img{object-position:40% center}}
@media(max-width:899px){#g-bridal .svc-row-img{aspect-ratio:3/2!important}}
html body section.proofmix .rv-stars{gap:4px!important}
html body section.proofmix .pm-score{align-items:center}
html body section.proofmix.proofmix{gap:0!important;column-gap:0!important}
html body section.proofmix .pm-gia-full{border:0!important}
html body section.proofmix .pm-gia-full{justify-content:center}
html body section.proofmix{padding-inline:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))!important;gap:clamp(16px,2vw,28px)!important;align-items:stretch}
html body section.proofmix .pm-rv{background:#E3EFEB!important;background-image:none!important;color:#343A3A}
html body section.proofmix .pm-gia-full{display:flex!important;flex-direction:column;min-height:0!important;background:#fff!important;border:1px solid var(--cloud-grey);padding:clamp(20px,2.4vw,32px)}
html body section.proofmix .pm-gia-full::after{display:none!important}
html body section.proofmix .pm-gia-full img{position:static!important;inset:auto!important;width:100%!important;height:auto!important;flex:1;min-height:0;object-fit:contain!important;filter:none!important;transform:none!important}
html body section.proofmix .pm-gia-full:hover img{transform:none!important}
html body section.proofmix .pm-gia-full .pm-gia-copy{position:static!important;margin-top:24px;align-items:flex-start;gap:14px}
html body section.proofmix .pm-gia-full .pm-gia-copy .hl{color:#343A3A!important;font-size:clamp(24px,2.2vw,32px)!important}
@media(max-width:899px){section.proofmix .pm-gia-full{display:none!important}}
.svc-rows~*,.au2-vip{}
section.au2-vip .hl{text-transform:none!important;letter-spacing:.3px!important}
section.au2-vip .au2-h3{text-transform:none!important;letter-spacing:.2px!important;font-size:clamp(20px,1.8vw,24px)!important}
.svc-sub+section.au2-vip,section.au2-vip{margin-bottom:clamp(24px,3vw,48px)}
.pt3-head{margin-top:clamp(8px,1.5vw,20px)!important}
.pt3-lede{margin-top:0!important}
.pt3-head{text-align:center;max-width:760px;margin:0 auto clamp(32px,4vw,56px)}
.pt3-h{font-family:var(--display);font-weight:400;font-size:clamp(38px,4.6vw,60px);line-height:1.05;margin:10px 0 0;color:var(--ink-blue)}
.pt3-lede{font-size:17px;line-height:1.65;margin:16px auto 0;max-width:58ch;color:color-mix(in srgb,var(--ink-blue) 85%,transparent)}
.pt3-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 32px;margin-top:26px;padding-top:22px;border-top:1px solid var(--cloud-grey)}
.pt3-jump a{font-size:15px;color:var(--ink-blue);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.pt3-jump a:hover{border-color:var(--slate-blue);color:var(--slate-blue)}
.pt3-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,88px);align-items:center;padding:clamp(32px,4vw,56px) 0;border-top:1px solid var(--cloud-grey);scroll-margin-top:140px}
.pt3-row.rev .pt3-img{order:2}
.pt3-img{margin:0;aspect-ratio:1;background:#F3F1EE;overflow:hidden}
.pt3-img img{width:100%;height:100%;object-fit:cover;display:block}
.pt3-n{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--slate-blue);margin:0}
.pt3-name{font-family:var(--display);font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.1;margin:10px 0 0;color:var(--ink-blue)}
.pt3-tag{margin:8px 0 0;font-size:15px;color:color-mix(in srgb,var(--ink-blue) 65%,transparent)}
.pt3-d{margin:20px 0 0;font-size:16.5px;line-height:1.7;max-width:52ch}
.pt3-facts{margin:24px 0 0;border-top:1px solid var(--cloud-grey);max-width:52ch}
.pt3-facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--cloud-grey)}
.pt3-facts dt{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--slate-blue);padding-top:3px}
.pt3-facts dd{margin:0;font-size:15px;line-height:1.5}
.pt3-cta{display:inline-flex;gap:8px;margin-top:24px;font-size:15px;color:var(--slate-blue);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.pt3-cta:hover{color:var(--ink-blue)}
.pt3-more{border-top:1px solid var(--cloud-grey);padding:clamp(40px,5vw,72px) 0 clamp(48px,6vw,88px)}
.pt3-mh{font-family:var(--display);font-weight:400;font-size:clamp(28px,2.8vw,35.84px);margin:0 0 clamp(20px,2.4vw,32px);color:var(--ink-blue)}
.pt3-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.pt3-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink-blue)}
.pt3-ci{display:block;aspect-ratio:4/3;overflow:hidden;margin-bottom:8px}
.pt3-ci img{width:100%;height:100%;object-fit:contain;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pt3-card:hover .pt3-ci img{transform:scale(1.04)}
.pt3-card b{font-family:var(--display);font-weight:400;font-size:22px}
.pt3-card>span:not(.pt3-ci):not(.pt3-lm){font-size:14.5px;line-height:1.55;color:color-mix(in srgb,var(--ink-blue) 80%,transparent)}
.pt3-lm{font-size:14px;color:var(--slate-blue);margin-top:4px}
@media(max-width:899px){.pt3-row{grid-template-columns:minmax(0,1fr)}.pt3-row.rev .pt3-img{order:0}.pt3-img{aspect-ratio:4/3}.pt3-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.pr3-grid{display:flex!important;flex-wrap:wrap;justify-content:center}.pr3-card{flex:0 0 calc((100% - 2*clamp(18px,2.4vw,36px))/3)}}
@media(min-width:561px) and (max-width:899px){.pr3-grid{display:flex!important;flex-wrap:wrap;justify-content:center}.pr3-card{flex:0 0 calc((100% - clamp(18px,2.4vw,36px))/2)}}
.pr3-hero{position:relative;height:clamp(260px,30vw,400px);display:grid;place-items:center;overflow:hidden;text-align:center;color:#fff}
.pr3-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.pr3-hero::after{content:"";position:absolute;inset:0;background:rgba(28,26,25,.38)}
.pr3-hero-in{position:relative;z-index:1;padding:0 var(--gutter)}
.pr3-h{font-family:var(--display);font-weight:400;font-size:clamp(36px,4.4vw,58px);line-height:1.05;margin:0;color:#fff}
.pr3-sub{margin:14px 0 0;font-size:16px;letter-spacing:.3px}
.pr3-sub a{color:#fff;text-decoration:underline;text-underline-offset:4px}
.pr-page .crumbs{margin-top:16px}
.pr3-grid{list-style:none;padding:0;margin:clamp(24px,3vw,40px) auto clamp(48px,6vw,88px);max-width:1080px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,36px)}
.pr3-card a{display:flex;flex-direction:column;align-items:center;height:100%;padding:clamp(22px,2.4vw,34px) clamp(22px,2.6vw,40px) 26px;border:1px solid color-mix(in srgb,var(--champagne-brown) 45%,transparent);background:#fff;text-decoration:none;color:var(--ink-blue);transition:box-shadow .25s,border-color .2s}
.pr3-card a:hover{border-color:var(--champagne-brown);box-shadow:0 18px 36px -26px rgba(40,30,20,.45)}
.pr3-logo{font-family:var(--display);font-size:clamp(20px,1.8vw,26px);letter-spacing:.5px;text-align:center;min-height:2.4em;display:flex;align-items:center;justify-content:center;line-height:1.15}
.pr3-cover{margin-top:16px;width:100%;aspect-ratio:3/4;display:flex;flex-direction:column;padding:22px 20px;background:color-mix(in srgb,var(--slate-blue) 10%,#FBFAF7);border:1px solid color-mix(in srgb,var(--ink-blue) 8%,transparent);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pr3-card a:hover .pr3-cover{transform:translateY(-3px)}
.pr3-cv-o{font-family:var(--label);font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--slate-blue);padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--ink-blue) 15%,transparent)}
.pr3-cv-t{font-family:var(--display);font-size:clamp(20px,1.8vw,26px);line-height:1.25;margin-top:auto}
.pr3-cv-d{margin-top:14px;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:color-mix(in srgb,var(--ink-blue) 60%,transparent)}
.pr3-go{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--slate-blue)}
.pr3-card a:hover .pr3-go{text-decoration:underline;text-underline-offset:4px}
@media(max-width:899px){.pr3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pr3-grid{grid-template-columns:minmax(0,1fr)}}
.pr2-head{text-align:center;padding:clamp(24px,4vw,56px) 0 clamp(28px,3vw,40px)}
.pr2-h{font-family:var(--display);font-weight:400;font-size:clamp(40px,5vw,64px);line-height:1.05;margin:0;color:var(--ink-blue)}
.pr2-lede{margin:16px auto 0;max-width:52ch;font-size:17px;line-height:1.6;color:color-mix(in srgb,var(--ink-blue) 80%,transparent)}
.pr2-strip{list-style:none;padding:26px 0 0;margin:30px 0 0;border-top:1px solid var(--cloud-grey);display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px}
.pr2-strip li{font-family:var(--display);font-size:clamp(16px,1.4vw,20px);letter-spacing:.5px;color:color-mix(in srgb,var(--ink-blue) 55%,transparent)}
.pr2-grid{list-style:none;padding:0;margin:clamp(24px,3vw,36px) 0 clamp(40px,5vw,72px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.pr2-card a{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--cloud-grey);text-decoration:none;color:var(--ink-blue);transition:border-color .2s,box-shadow .25s}
.pr2-card a:hover{border-color:color-mix(in srgb,var(--slate-blue) 60%,transparent);box-shadow:0 14px 30px -22px rgba(40,40,40,.35)}
.pr2-mast{display:grid;place-items:center;aspect-ratio:16/9;background:color-mix(in srgb,var(--slate-blue) 9%,#FBFAF7);padding:20px;text-align:center}
.pr2-o{font-family:var(--display);font-size:clamp(22px,2vw,30px);line-height:1.15;letter-spacing:.5px}
.pr2-body{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;flex:1}
.pr2-d{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--slate-blue)}
.pr2-t{font-family:var(--display);font-size:20px;line-height:1.35;flex:1}
.pr2-go{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--slate-blue);margin-top:6px}
.pr2-card a:hover .pr2-go{text-decoration:underline;text-underline-offset:4px}
.pr2-lead{grid-column:span 2}
.pr2-lead .pr2-mast{aspect-ratio:auto;min-height:100%}
.pr2-lead a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pr2-lead .pr2-o{font-size:clamp(30px,3vw,44px)}
.pr2-lead .pr2-t{font-size:clamp(22px,2vw,28px)}
@media(max-width:899px){.pr2-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pr2-lead{grid-column:1/-1}}
@media(max-width:600px){.pr2-grid{grid-template-columns:minmax(0,1fr)}.pr2-lead a{grid-template-columns:minmax(0,1fr)}.pr2-lead .pr2-mast{aspect-ratio:16/9}.pr2-strip{gap:8px 22px}}
@media(max-width:899px){.cw-opts{min-width:0;width:100%;align-self:stretch;margin-top:8px}}
.cw-opts{display:flex!important;flex-direction:column;justify-content:center;gap:12px;min-width:260px}
.cw-opt{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--ink-blue) 14%,transparent);border-radius:10px;background:rgba(255,255,255,.55);color:var(--ink-blue);text-decoration:none;transition:border-color .2s,background .2s}
.cw-opt:hover{border-color:var(--slate-blue);background:#fff}
.cw-oi{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--slate-blue) 12%,#fff);color:var(--slate-blue)}
.cw-oi svg{width:22px;height:22px}
.cw-ot{display:flex;flex-direction:column;flex:1;min-width:0}
.cw-ot b{font-weight:500;font-size:15px}
.cw-ot small{font-size:13px;color:color-mix(in srgb,var(--ink-blue) 65%,transparent);margin-top:2px}
.cw-oa{font-size:20px;color:var(--slate-blue);transition:transform .2s}
.cw-opt:hover .cw-oa{transform:translateX(3px)}
section.proofmix .rv-stars svg,section.proofmix .pm-score .rv-stars svg{width:17px!important;height:17px!important}
section.proofmix .pm-gia-full .pm-gia-copy .hl{text-transform:none!important;letter-spacing:.3px!important}
section.proofmix .pm-rv{background:#F7F4EA!important;color:#343A3A}
section.proofmix .pm-rv::before,section.proofmix .pm-rv::after{display:none!important}
section.proofmix .pm-rv .hl,section.proofmix .pm-rv blockquote,section.proofmix .pm-rv .pm-score{color:#343A3A!important}
section.proofmix .pm-rv-head::after{background:#343A3A;opacity:.18}
section.proofmix .rv-card{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
section.proofmix .rv-stars svg,section.proofmix .pm-score .rv-stars svg{width:15px!important;height:15px!important;padding:0!important;background:none!important;fill:var(--slate-blue)!important}
section.proofmix .rv-stars{gap:4px!important}
section.proofmix .rv-src,section.proofmix figcaption cite,section.proofmix .rv-meta span{color:var(--slate-blue)}
section.proofmix .pm-gia-full img{filter:saturate(.15) sepia(.12) brightness(1.06) contrast(.92)}
section.proofmix .pm-gia-full::after{background:linear-gradient(0deg,rgba(247,244,234,.96) 0,rgba(247,244,234,.78) 30%,rgba(247,244,234,.15) 62%,rgba(247,244,234,0) 80%)!important}
section.proofmix .pm-gia-full .pm-gia-copy .hl{color:#343A3A!important}
section.proofmix .pm-gia-full .pm-gia-copy .btn{background:#343A3A!important;color:#F7F4EA!important;border-color:#343A3A!important}
@media(min-width:900px){section[aria-labelledby="life-h"] .campaign{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:600px) and (max-width:899px){section[aria-labelledby="life-h"] .campaign{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
section[aria-labelledby="life-h"] .tile-photo img{width:100%;height:100%;object-fit:cover;display:block}
section.cw-start .cw-start-copy .hl{text-transform:none!important;letter-spacing:.2px!important;font-family:var(--display);font-weight:400;font-size:clamp(36px,4vw,54px)!important;line-height:1.1!important}
section.cw-start .cw-btn{text-transform:none!important;letter-spacing:.6px!important;font-size:14px!important;font-weight:500!important}
section.cw-start .cw-ct{font-family:var(--display);font-weight:400;text-transform:none;letter-spacing:.2px;font-size:clamp(26px,2.4vw,32px);line-height:1.2;margin:0 0 16px;color:var(--ink-blue)}
section.cw-start .cw-card .body{font-size:17px!important;line-height:1.6!important}
section.cw-start .cw-note{font-size:14px!important;line-height:1.6!important}
section.cw-start .cw-side-t{text-transform:none!important;letter-spacing:.2px!important;font-family:var(--body)!important;font-size:15px!important;line-height:1.5!important;margin:0!important;color:var(--ink-blue)}
section.cw-start .cw-side-t+.cw-side-t{margin-top:6px!important}
.card-was{color:color-mix(in srgb,var(--ink-blue) 55%,transparent);font-weight:400;margin-right:4px}
.card-sale{color:#A33A3A}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;order:2;min-height:18px}
.card-rv{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:color-mix(in srgb,var(--ink-blue) 70%,transparent)}
.card-stars{position:relative;display:inline-block;font-size:14px;letter-spacing:2px;color:#D8D2C8;line-height:1}
.card-stars::before{content:"★★★★★";position:absolute;inset:0;width:var(--r);overflow:hidden;color:var(--champagne-gold,#B49B7C);white-space:nowrap}
.card-sw{display:inline-flex;gap:8px}
.card-sw i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.card-sw i.on{outline:1px solid var(--ink-blue);outline-offset:2px}
section.news2{background:color-mix(in srgb,var(--slate-blue) 11%,#FBFAF7)!important;padding:clamp(64px,8vw,120px) 0!important}
section.news2 .news2-in{border:0!important;padding-block:0!important;align-items:end!important}
section.news2 .news2-k{color:color-mix(in srgb,var(--champagne-brown) 85%,#666)!important;letter-spacing:3.5px!important}
section.news2 .news2-h{font-size:clamp(44px,5vw,72px)!important;line-height:1.05!important;margin-top:16px!important}
section.news2 .news2-b{font-family:var(--display);font-size:clamp(19px,1.7vw,24px)!important;line-height:1.5!important;max-width:none!important;margin-top:18px!important}
section.news2 .news2-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:end}
section.news2 .news2-lab{grid-column:1/-1;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:color-mix(in srgb,var(--champagne-brown) 85%,#666);margin-bottom:10px}
section.news2 .news2-form input{background:transparent!important;border:0!important;border-bottom:1px solid var(--ink-blue)!important;padding:0 4px!important;height:56px;font-size:18px!important}
section.news2 .news2-form:focus-within input{border-bottom-width:2px!important}
section.news2 .news2-btn{height:56px!important;min-height:56px!important;padding:0 30px!important;letter-spacing:3.5px!important}
section.news2 .news2-fine{font-family:var(--label);font-size:14px!important;margin-top:16px!important}
.promises-end{background:#F7F3EC;max-width:none!important;width:100%!important;margin:0!important;padding:clamp(48px,6vw,88px) max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))!important;border:0!important}
.promises-end .promises{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;border:0!important;padding:0!important}
.promises-end .promise{flex-direction:column;align-items:center;text-align:center;gap:18px;padding:8px clamp(12px,2vw,32px)}
.promises-end .promise+.promise{border-left:1px solid color-mix(in srgb,var(--champagne-gold,#C2A27A) 55%,transparent)}
.promises-end .promise svg{width:44px;height:44px;stroke-width:1.2}
.promises-wrap.promises-end .promise b{font-family:var(--display);font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.2;color:var(--ink-blue)}
.promises-wrap.promises-end .promise span{font-family:var(--display);font-size:16px;line-height:1.55;margin-top:12px;max-width:22ch;margin-inline:auto;color:color-mix(in srgb,var(--ink-blue) 85%,transparent)}
@media(max-width:899px){.promises-end .promises{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:36px!important}.promises-end .promise:nth-child(3){border-left:0}.news2-form{grid-template-columns:minmax(0,1fr)}.news2-btn{margin-top:14px;justify-content:center}}
@media(min-width:900px){.kf-row{grid-auto-columns:calc((100% - 3*clamp(10px,1vw,16px))/4)!important}.kf-c{aspect-ratio:4/5!important}.kf-c .kf-t{font-size:clamp(20px,1.7vw,26px)!important}}
@media(max-width:899px){.kf-row{grid-auto-columns:58%!important}}
section[aria-labelledby="life-h"] .tile .hl{font-size:clamp(24px,2.2vw,30px)!important}
section[aria-labelledby="life-h"] .tile{display:flex!important;flex-direction:column!important}
section[aria-labelledby="life-h"] .campaign{gap:clamp(14px,1.6vw,24px)!important}
section[aria-labelledby="life-h"] .tile{background:transparent!important;padding:0!important;color:var(--ink-blue)!important;box-shadow:none!important;border:0!important}
section[aria-labelledby="life-h"] .tile-photo{aspect-ratio:4/5!important;margin:0 0 20px!important;overflow:hidden}
section[aria-labelledby="life-h"] .tile-photo img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}
section[aria-labelledby="life-h"] .tile:hover .tile-photo img{transform:scale(1.03)}
section[aria-labelledby="life-h"] .tile .hl{font-family:var(--display);text-transform:none!important;letter-spacing:.2px!important;font-size:clamp(20px,1.7vw,24px)!important;line-height:1.25!important;min-height:0!important;margin:0 0 10px!important;font-weight:400;color:var(--ink-blue)!important}
section[aria-labelledby="life-h"] .tile .kicker{font-size:14.5px!important;line-height:23px!important;letter-spacing:.2px!important;text-transform:none!important;margin:0!important;color:color-mix(in srgb,var(--ink-blue) 82%,transparent)!important}
section[aria-labelledby="life-h"] .bq-slot{background:repeating-linear-gradient(135deg,#F1ECE5 0 14px,#ECE6DE 14px 28px)!important}
.t-bq{background:var(--cloud-grey,#D9D6D0)}
@media(min-width:900px){.campaign:has(.bq-slot){grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(min-width:600px) and (max-width:899px){.campaign:has(.bq-slot){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.bq-slot{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#ECE6DE 0 14px,#E6DFD6 14px 28px);color:color-mix(in srgb,var(--ink-blue) 55%,transparent);font-size:12px;letter-spacing:2px;text-transform:uppercase}
.pdp-flags{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.pdp-flags .pdp-off{margin:0!important}
.pdp-low{margin:0;display:inline-flex;align-items:center;padding:6px 14px;border:1px solid var(--slate-blue);border-radius:3px;color:var(--slate-blue);font-size:13px;letter-spacing:2px;text-transform:uppercase;line-height:1.2}
.pdp2 .pdp-ship{display:inline-flex!important;width:fit-content!important;max-width:100%!important;align-self:flex-start;padding:8px 18px!important;font-size:13px!important}
.kf-rw{position:relative}
.kf-arr{position:absolute;top:calc(50% + clamp(20px,2.5vw,36px));transform:translateY(-50%);z-index:3;width:52px;height:52px;border-radius:50%;border:0;background:rgba(244,240,235,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ink-blue);display:grid;place-items:center;cursor:pointer;transition:background .2s,opacity .2s}
.kf-arr:hover{background:rgba(255,255,255,.95)}
.kf-arr svg{width:20px;height:20px}
.kf-arr[hidden]{display:none}
.kf-prev{left:clamp(14px,2vw,32px)}.kf-next{right:clamp(14px,2vw,32px)}
@media(max-width:899px){.kf-arr{width:42px;height:42px}}
.kf-c .kf-cap{gap:0}
.kf-c .kf-go{display:inline-flex;align-items:center;gap:14px;text-decoration:none;font-size:16px;max-height:0;opacity:0;overflow:hidden;transform:translateY(6px);transition:max-height .45s cubic-bezier(.2,.7,.2,1),opacity .35s,transform .45s cubic-bezier(.2,.7,.2,1),margin .45s}
.kf-c .kf-go svg{width:9px;height:15px}
.kf-c img{transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s}
.kf-c::before{content:"";position:absolute;inset:0;z-index:0;background:rgba(236,228,220,.0);transition:background .5s;pointer-events:none}
@media(hover:hover){.kf-c:hover::before,.kf-c:focus-visible::before{background:rgba(236,228,220,.28)}
.kf-c:hover img,.kf-c:focus-visible img{filter:saturate(.55) brightness(1.04);transform:scale(1.02)}
.kf-c:hover .kf-go,.kf-c:focus-visible .kf-go{max-height:40px;opacity:1;transform:none;margin-top:12px}}
@media(hover:none){.kf-c .kf-go{max-height:40px;opacity:1;transform:none;margin-top:10px}}
.kf-head{display:flex;justify-content:flex-start;margin-bottom:clamp(20px,2.4vw,32px)}
.kf-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(10px,1vw,16px);padding-inline:clamp(0px,1vw,16px)}
.kf-big,.kf-c{position:relative;display:block;overflow:hidden;color:#fff;text-decoration:none;background:#E9E4DD}
.kf-big{aspect-ratio:5/4}
.kf-big img,.kf-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.kf-big:hover img,.kf-c:hover img{transform:scale(1.03)}
.kf-big::after,.kf-c::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,18,16,.5),rgba(20,18,16,0) 40%);pointer-events:none}
.kf-cap{position:absolute;z-index:1;left:clamp(20px,2.4vw,40px);right:20px;bottom:clamp(20px,2.4vw,36px);display:flex;flex-direction:column;gap:10px}
.kf-t{font-family:var(--display);font-size:clamp(26px,2.6vw,40px);line-height:1.1;letter-spacing:.3px}
.kf-u{font-size:15px;letter-spacing:.4px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;width:fit-content}
.kf-row{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*clamp(10px,1vw,16px))/2.7);gap:clamp(10px,1vw,16px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:clamp(40px,5vw,72px);padding-inline:clamp(0px,1vw,16px)}
.kf-row::-webkit-scrollbar{display:none}
.kf-c{aspect-ratio:3/4;scroll-snap-align:start}
.kf-c .kf-t{font-size:clamp(22px,2vw,30px)}
@media(max-width:899px){.kf-duo{grid-template-columns:minmax(0,1fr)}.kf-big{aspect-ratio:4/5}.kf-row{grid-auto-columns:72%;padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}.kf-duo{padding-inline:var(--gutter)}}
.cat5-photo .cat5-art{inset:0!important}
.cat5-photo .cat5-art img{object-fit:cover!important;mix-blend-mode:normal!important}
.cat5-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,.32),rgba(20,20,20,0) 28%,rgba(20,20,20,0) 72%,rgba(20,20,20,.3));pointer-events:none}
.cat5-photo .cat5-l,.cat5-photo .cat5-n{z-index:2;color:#fff!important}
.sg-eb{margin:0 0 10px;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--slate-blue)}
.sg-h{line-height:1.02!important}
.sg{padding-bottom:clamp(56px,7vw,96px)}
.sg-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(24px,5vw,80px);align-items:end;padding:clamp(16px,2vw,28px) 0 clamp(24px,3vw,36px)}
.sg-h{font-family:var(--display);font-weight:400;text-transform:none;letter-spacing:.3px;font-size:clamp(40px,5.6vw,76px);line-height:1.04;margin:0;color:var(--ink-blue)}
.sg-sub{margin:14px 0 0;font-size:clamp(17px,1.6vw,22px);letter-spacing:1px;color:var(--ink-blue)}
.sg-q{position:relative;margin:0;padding-left:22px;border-left:1px solid var(--cloud-grey)}
.sg-q p{margin:0;font-family:var(--display);font-style:italic;font-size:16px;line-height:25px;color:var(--ink-blue)}
.sg-star{position:absolute;left:-60px;bottom:24px;width:40px;height:40px;color:var(--champagne-gold,#C2A27A)}
.sg-wave{display:block;width:210px;margin:14px 0 0 -10px;color:var(--slate-blue)}
.sg-mosaic{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-template-rows:auto auto;gap:16px}
.sg-mosaic figure{margin:0;overflow:hidden;background:#EEE9E2}
.sg-mosaic img{width:100%;height:100%;object-fit:cover;display:block}
.sg-m1{grid-row:1/3;aspect-ratio:1.1}
.sg-m2,.sg-m3{min-height:0}
.sg-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0 clamp(28px,3vw,40px);border-bottom:1px solid var(--cloud-grey)}
.sg-cap{margin:0;font-family:var(--display);font-size:clamp(20px,1.8vw,26px);color:var(--ink-blue)}
.sg-link{color:var(--slate-blue);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;font-size:15px;letter-spacing:.3px;white-space:nowrap}
.sg-link:hover{color:var(--ink-blue)}
.sg-shop{padding-top:clamp(32px,4vw,52px)}
.sg-shop-head{display:flex;align-items:baseline;gap:16px;margin-bottom:22px}
.sg-h2{font-family:var(--display);font-weight:400;text-transform:none;font-size:clamp(26px,2.6vw,35.84px);margin:0;color:var(--ink-blue)}
.sg-n{font-size:14px;color:color-mix(in srgb,var(--ink-blue) 65%,transparent)}
.sg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sg-card figure{margin:0;aspect-ratio:1/1.08;overflow:hidden;background:#EEE9E2}
.sg-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.sg-card:hover img{transform:scale(1.03)}
.sg-card h3{font-family:var(--display);font-weight:400;text-transform:none;letter-spacing:.3px;font-size:22px;margin:16px 0 10px;color:var(--ink-blue)}
@media(max-width:899px){.sg-head{grid-template-columns:minmax(0,1fr)}.sg-star{display:none}.sg-mosaic{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sg-m1{grid-column:1/-1;grid-row:auto;aspect-ratio:1/1}.sg-m2,.sg-m3{aspect-ratio:1/1}.sg-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sg-row{flex-wrap:wrap}}
@media(max-width:520px){.sg-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:900px){.cat5-hero{order:-1}.cat5-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important}}
.pm-rv-head .hl.hh{font-size:clamp(28px,2.8vw,35.84px)!important}
@media(min-width:900px){.cat5-hero{aspect-ratio:auto!important}.cat5-t{aspect-ratio:1/1!important}}
.cat5-grid{align-items:stretch}
.cat5-tiles{align-content:start;grid-auto-rows:auto!important}
.cat5-hero{min-height:0!important;height:auto}
@media(max-width:899px){.cat5-grid{grid-template-columns:minmax(0,1fr)!important}.cat5-hero{aspect-ratio:4/5!important}.cat5-t{aspect-ratio:1/1}}
.cat5-tiles{grid-auto-rows:auto!important}
@media(min-width:900px){.cat5-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important}}
.cat5-t{aspect-ratio:1/1;min-height:0!important}
.cat5-art{inset:44px 16px 36px 16px!important}
.cat5-hl{position:absolute;left:22px;top:20px;z-index:1;color:#fff;font-family:var(--label);font-size:13px;letter-spacing:2.5px;text-transform:uppercase}
.cat5-hn{position:absolute;right:22px;top:20px;z-index:1;color:rgba(255,255,255,.75);font-size:11px;letter-spacing:1px}
.cat5-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,20,20,.28),rgba(20,20,20,0) 22%);pointer-events:none}
@media(max-width:899px){.cat5-art{inset:38px 12px 30px 12px!important}}
.sg5 .sec-head,.cat5 .sec-head{display:flex;justify-content:space-between;align-items:end;gap:16px}
.sg5 .card-art,.cat5-art{background:#F3F2F0!important}
.cat5-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px}
.cat5-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(200px,1fr);gap:12px}
.cat5-t{position:relative;display:block;background:#F3F2F0;overflow:hidden;text-decoration:none;color:var(--ink-blue);min-height:200px}
.cat5-t.wide{grid-column:1/-1}
.cat5-l{position:absolute;left:18px;top:16px;z-index:1;font-family:var(--label);font-size:13px;letter-spacing:2.5px;text-transform:uppercase}
.cat5-n{position:absolute;left:18px;bottom:14px;z-index:1;font-size:11px;letter-spacing:1px;color:color-mix(in srgb,var(--ink-blue) 55%,transparent)}
.cat5-art{position:absolute;inset:14px 14px 14px 34%;display:block}
.cat5-t.wide .cat5-art{inset:10px 10% 10px 28%}
.cat5-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.cat5-t:hover .cat5-art img{transform:scale(1.05)}
.cat5-t:hover .cat5-l{text-decoration:underline;text-underline-offset:5px}
.cat5-hero{position:relative;display:block;overflow:hidden;min-height:100%}
.cat5-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.cat5-hero:hover img{transform:scale(1.03)}
.cat5-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,20,20,.45),rgba(20,20,20,0) 35%)}
.cat5-all{position:absolute;left:22px;bottom:20px;z-index:1;color:#fff;font-size:13px;letter-spacing:2px;text-transform:uppercase;border-bottom:1px solid #fff;padding-bottom:3px}
.cat5-grid{grid-template-columns:minmax(0,1fr)}.cat5-tiles{grid-auto-rows:minmax(150px,auto)}.cat5-t{min-height:160px}.cat5-art{inset:36px 12px 30px 12px}.cat5-t.wide .cat5-art{inset:30px 12px 24px 30%}.cat5-hero{aspect-ratio:4/5;min-height:0}}

@media(min-width:900px){.news2-in{width:calc(100% - 2*var(--gutter))!important;margin-inline:auto!important}}
.news2{background:#F3ECE4!important;text-align:left!important;padding:clamp(48px,6vw,88px) 0!important}
.news2::before{display:none!important}
.news2-in{max-width:var(--maxw)!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"k ." "h form" "b fine" "b msg";column-gap:clamp(32px,6vw,96px);align-items:center;border-top:1px solid #B8ADA2;border-bottom:1px solid #B8ADA2;padding-block:clamp(40px,4.5vw,64px)!important;padding-inline:clamp(0px,4vw,88px)!important}
.news2-k{grid-area:k;color:#9A8B7C!important;opacity:1!important;font-size:12px!important;letter-spacing:3px!important}
.news2-h{grid-area:h;margin:12px 0 0!important;font-size:clamp(36px,3.8vw,54px)!important}
.news2-b{grid-area:b;margin:14px 0 0!important;max-width:36ch!important;font-size:17px!important;line-height:27px!important;align-self:start}
.news2-form{grid-area:form;margin:0!important;max-width:none!important;border:0!important;align-self:end}
.news2-form input{background:#fff!important;border:1px solid #6F6A66!important;border-right:0!important;padding:0 22px!important;height:58px;font-size:16px}
.news2-form:focus-within input{border-color:var(--ink-blue)!important}
.news2-btn{background:var(--ink-blue)!important;color:#fff!important;height:58px;min-height:58px!important;padding:0 26px!important;gap:16px!important;font-size:14px!important;letter-spacing:3px!important;flex:none}
.news2-fine{grid-area:fine;margin:12px 0 0!important;align-self:start}
.news2-msg{grid-area:msg;margin:8px 0 0!important;max-width:none!important;text-align:left;align-self:start}
@media(max-width:899px){.news2-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"k" "h" "b" "form" "fine" "msg";padding-inline:0!important;margin-inline:var(--gutter)!important;width:auto}.news2-b{margin-bottom:24px!important}.news2-btn{padding:0 18px!important;letter-spacing:2px!important}}
.wrap:has(>.shop-head){position:relative;z-index:25}
.pt2-spec{margin:0 0 6px;display:grid;border-top:1px solid var(--cloud-grey)}
.pt2-spec>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--cloud-grey);align-items:baseline}
.pt2-spec dt{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--slate-blue)}
.pt2-spec dd{margin:0;font-size:15px;line-height:22px;color:var(--ink-blue)}
.pt2-body .pt-best{font-size:14px;line-height:22px;margin:6px 0 0}
.pt2-body .pt-best b{display:block;font-weight:400;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--slate-blue);margin-bottom:4px}
.pt2-row{margin-bottom:clamp(40px,5vw,72px)}
.shop-head{position:relative;z-index:20}.sort-dd{z-index:40}
.pt2-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.pt2-head .pt-list .hl{margin-bottom:0!important}
.pt2-fig{margin:0;aspect-ratio:16/9;overflow:hidden}
.pt2-fig img{width:100%;height:100%;object-fit:cover;display:block}
.pt2-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:start;border-top:1px solid var(--cloud-grey)}
.pt2-item{border-bottom:1px solid var(--cloud-grey);padding:0 clamp(16px,1.8vw,28px)}
.pt2-item+.pt2-item{border-left:1px solid var(--cloud-grey)}
.pt2-item:first-child{padding-left:0}
.pt2-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"n n tog" "disc disc disc" "name name name" "tag tag tag";gap:8px 10px;padding:24px 0 22px}
.pt2-item summary::-webkit-details-marker{display:none}
.pt2-item .pt-n{grid-area:n;font-family:var(--label);font-size:13px;letter-spacing:2px;color:var(--slate-blue)}
.pt2-disc{grid-area:disc;margin:10px 0 6px}
.pt2-disc svg{width:56px;height:56px;display:block}
.pt2-name{grid-area:name;font-family:var(--display);font-weight:400;font-size:clamp(18px,1.6vw,22px);letter-spacing:2px;text-transform:uppercase;margin:0;color:var(--ink-blue);line-height:1.25}
.pt2-item .pt-tag{grid-area:tag;margin:0}
.pt2-tog{grid-area:tog;justify-self:end;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 1.2px no-repeat,linear-gradient(currentColor,currentColor) center/1.2px 14px no-repeat;color:var(--ink-blue);transition:transform .25s}
.pt2-item[open] .pt2-tog{transform:rotate(45deg)}
.pt2-item summary:hover .pt2-name{text-decoration:underline;text-underline-offset:5px}
.pt2-body{padding:0 0 24px;display:grid;gap:8px}
.pt2-body .pt-meta{margin:0}
.pt2-body .cta-link{margin-top:8px;width:fit-content}
@media(max-width:899px){.pt2-head{grid-template-columns:minmax(0,1fr)}.pt2-row{grid-template-columns:minmax(0,1fr)}.pt2-item,.pt2-item:first-child{padding:0}.pt2-item+.pt2-item{border-left:0}
.pt2-item summary{grid-template-columns:auto auto 1fr auto;grid-template-areas:"n disc name tog" "n disc tag tog";align-items:center;gap:2px 14px;padding:18px 0}
.pt2-disc{margin:0}.pt2-disc svg{width:40px;height:40px}}
.jump{display:flex;flex-wrap:wrap;gap:10px 32px!important}
.jump .chip{background:none!important;border:0!important;border-radius:0!important;padding:4px 0!important;min-height:0!important;font-size:15px;letter-spacing:.5px;color:var(--ink-blue);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;transition:text-decoration-color .2s}
.jump .chip:hover,.jump .chip:focus-visible{text-decoration-color:currentColor}
.sort-dd{position:relative;display:inline-block!important}
.sort-btn{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:8px 2px;font:inherit;font-size:16px;letter-spacing:1px;color:var(--ink-blue);cursor:pointer;white-space:nowrap}
.sort-btn svg{width:14px;height:14px;transform:rotate(180deg);transition:transform .2s}
.sort-dd.open .sort-btn svg{transform:none}
.sort-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:240px;list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--ink-blue);box-shadow:0 10px 30px rgba(40,40,40,.08)}
.sort-dd.open .sort-menu{display:block}
.sort-menu li+li{border-top:1px solid var(--cloud-grey)}
.sort-menu button{display:block;width:100%;text-align:left;background:#fff;border:0;padding:15px 20px;font:inherit;font-size:16px;letter-spacing:.8px;color:var(--ink-blue);cursor:pointer}
.sort-menu button:hover,.sort-menu button:focus-visible{background:var(--mist-white);outline:none}
.sort-menu button[aria-selected="true"]{background:#EFEDE9}
@media(max-width:899px){.sort-menu{right:0;min-width:220px}.sort-btn{font-size:15px}}
@media(min-width:900px){.shop-head{margin-bottom:28px}}
#shop-count{display:none!important}
@media(min-width:900px){.toolbar:not(:has(.sort)){display:none!important}.shop-head>.sort{align-self:end;justify-self:end;padding-bottom:4px}.shop-head{padding-bottom:28px!important;border-bottom:1px solid var(--cloud-grey)}}
@media(max-width:899px){.toolbar{border-top:0}}
.ctiles .ct-head{margin:clamp(40px,5vw,72px) 0 clamp(20px,2.4vw,32px)}
.pm-gia-full img{object-position:center center!important}
.news2{background:#EFE7DC;padding:clamp(64px,8vw,112px) 0;text-align:center;position:relative;overflow:hidden}
.news2::before{content:"";position:absolute;left:50%;top:clamp(64px,8vw,112px);width:1px;height:28px;background:var(--champagne-brown);transform:translate(-50%,-44px);opacity:.6}
.news2-in{max-width:640px;margin:0 auto}
.news2-k{font-family:var(--label);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--ink-blue);opacity:.75;margin:0}
.news2-h{font-family:var(--display);font-weight:400;font-size:clamp(34px,4.4vw,54px);line-height:1.1;letter-spacing:.3px;color:var(--ink-blue);margin:14px 0 0}
.news2-b{font-size:16px;line-height:26px;color:var(--ink-blue);margin:16px auto 0;max-width:42ch}
.news2-form{display:flex;align-items:stretch;margin:36px auto 0;max-width:520px;border-bottom:1px solid var(--ink-blue)}
.news2-form input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ink-blue);padding:14px 4px;outline:none}
.news2-form input::placeholder{color:color-mix(in srgb,var(--ink-blue) 55%,transparent)}
.news2-form:focus-within{border-bottom-width:2px}
.news2-btn{display:inline-flex;align-items:center;gap:10px;border:0;background:none;padding:0 4px 0 16px;font-family:var(--label);font-size:13px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-blue);cursor:pointer;min-height:48px}
.news2-btn svg{width:20px;height:20px;transition:transform .25s}
.news2-btn:hover svg{transform:translateX(4px)}
.news2-msg{margin:12px auto 0;max-width:520px;font-size:13px;min-height:0}
.news2-fine{margin:14px 0 0;font-size:12px;letter-spacing:.3px;color:color-mix(in srgb,var(--ink-blue) 70%,transparent)}
@media(max-width:600px){.news2-in{text-align:center}.news2-btn{padding-left:10px;letter-spacing:2px}}
@media(max-width:700px){
.discs{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:72%;gap:14px!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
.discs::-webkit-scrollbar{display:none}
.discs .disc{scroll-snap-align:start;padding:0 0 8px}
.discs .disc-name{font-size:15px}
}
@media(min-width:701px){.price-row{text-align:left!important}.price-row .pr-k{text-align:left!important;justify-self:start}}
.pdp-ship{display:inline-flex;align-items:center;gap:12px;margin:16px 0 0;padding:10px 22px;border:1px solid var(--ink-blue);border-radius:999px;color:var(--ink-blue);font-size:14px;letter-spacing:.6px;line-height:20px;max-width:100%}
.pdp-ship svg{width:26px;height:19px;flex:none}
@media(max-width:420px){.pdp-ship{font-size:13px;padding:9px 16px;gap:10px}}
.pdp2 .pdp-ship+.p2-buy{margin-top:22px}
.pdp2 .price,.pdp2 #pdp-price{font-size:30px!important;line-height:38px!important}
@media(min-width:900px){.pdp2 .price,.pdp2 #pdp-price{font-size:27px!important;line-height:34px!important}}
.pdp2 .len-ac+.p2-acc{margin-top:0!important;border-top:0!important}
.pdp2 .len-ac{margin-top:28px!important}
.cts{display:none}
.cts-in{margin-top:28px;padding-top:24px;border-top:1px solid var(--cloud-grey)}
.cts-h{font-family:var(--display);font-weight:400;font-size:20px;letter-spacing:.5px;text-align:center;margin:0 0 6px;color:var(--ink-blue)}
.cts-why{font-size:13px;line-height:19px;text-align:center;margin:0 0 16px;color:var(--slate-blue)}
.cts-row{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,calc((100% - 20px)/3)));justify-content:center;gap:10px}
.cts-card{position:relative;background:#fff;padding:8px 8px 12px;display:flex;flex-direction:column;min-width:0}
.cts-art{display:block;aspect-ratio:1;overflow:hidden;background:#fff}
.cts-art img,.cts-art svg{width:100%;height:100%;object-fit:contain;display:block}
.cts-plus{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;border:0;background:var(--ink-blue);color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.cts-plus svg{width:14px;height:14px;stroke:#fff;fill:none}
.cts-name{font-size:12px;line-height:17px;letter-spacing:.2px;color:var(--ink-blue);text-decoration:none;margin-top:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cts-price{font-size:13px;margin:6px 0 0;font-weight:500;color:var(--ink-blue)}
@media(min-width:900px){
.cts-in{display:none}
.cts.on{display:flex;position:fixed;top:0;bottom:0;left:0;right:min(440px,100%);z-index:65;flex-direction:column;align-items:center;justify-content:center;gap:26px;pointer-events:none;padding:0 32px}
.cts.on .cts-h{color:#fff;font-size:30px;margin:0}
.cts.on .cts-why{color:rgba(255,255,255,.88);font-size:15px;margin:-18px 0 0}
.cts.on .cts-row{width:min(1080px,100%);gap:14px;pointer-events:auto;grid-template-columns:repeat(var(--n,3),minmax(0,360px));justify-content:center}
.cts.on .cts-card{padding:14px 18px 20px}
.cts.on .cts-art{aspect-ratio:1.05}
.cts.on .cts-plus{top:14px;right:14px;width:36px;height:36px}
.cts.on .cts-name{font-size:14px;line-height:20px;margin-top:12px}
.cts.on .cts-price{font-size:15px}
}
.p2-tag-m{display:block!important}
.pdp2 .pdp-off{margin-bottom:14px}
@media(min-width:900px){.pdp2 .buy{max-width:none!important}.pdp2{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)!important}.pdp2 .pdp-title{font-size:clamp(24px,2.1vw,32px)!important;max-width:none}}
.pdp2 .price,.pdp2 #pdp-price{color:color-mix(in srgb,var(--champagne-brown) 78%,#000)!important;font-weight:500}
.pdp2 .pdp-title{max-width:none!important;width:100%!important;text-wrap:wrap!important}
.pdp2 .buy>*{max-width:none}
.p2-tag-m{display:none}
@media(max-width:899px){.pdp2 .buy>.p2-tag{display:none}.p2-tag-m{display:block;margin:0 0 12px}.pdp2 .p2-acc{margin-top:28px}}
.disc .pw{display:block;width:100%;aspect-ratio:1;overflow:hidden;margin-bottom:10px}
.disc .pw .pimg{height:100%;margin:0}
#menu-body .m-ptitle{display:none}
#menu-body .m-back{font-weight:600;font-size:13px;letter-spacing:2px;color:var(--ink-blue);padding:14px 0 10px;gap:12px}
#menu-body .m-back svg{width:12px;height:12px}
#menu-body .m-panel .m-links{gap:0!important;padding:6px 0 0 20px!important}
#menu-body .m-panel .m-links a{border:0!important;padding:15px 0!important;font-size:15px;letter-spacing:1.6px;color:var(--ink-blue);text-decoration:none;min-height:46px;display:flex;align-items:center}
#menu-body .m-panel .m-links a.more{text-decoration:underline;text-underline-offset:4px}
#menu-body .m-sub{padding-left:20px;margin:20px 0 0}
#menu-body .m-panel{display:none}
#menu-body.in-panel .m-root{display:none}
#menu-body.in-panel .m-panel.on{display:block}
.m-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;background:none;border:0;border-bottom:0;font-family:var(--label);font-size:15px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue);text-decoration:none;text-align:left;cursor:pointer;min-height:56px}
.m-row svg{width:14px;height:14px;transform:rotate(-90deg);flex:none}
.m-row2{font-family:var(--body);font-size:16px;letter-spacing:1px;text-transform:none;font-weight:500;padding:16px 0;min-height:52px}
.m-hr{border:0;border-top:1px solid var(--ink-blue);margin:14px 0 10px}
.m-back{display:flex;align-items:center;gap:8px;background:none;border:0;padding:14px 0;font-family:var(--body);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;color:var(--slate-blue);cursor:pointer}
.m-back svg{width:14px;height:14px;transform:rotate(90deg)}
.m-ptitle{font-family:var(--display);font-weight:400;font-size:26px;margin:4px 0 14px;color:var(--ink-blue)}
.m-sub{font-family:var(--label);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--slate-blue);margin:22px 0 4px}
#menu-body .m-panel .m-links{display:grid;padding:0}
#menu-body .m-panel .m-links a{padding:14px 0;border-bottom:1px solid var(--cloud-grey);font-size:16px}
.rv-stars,.pdp-stars,.pm-score .rv-stars{display:inline-flex!important;gap:2px!important}
.rv-stars svg,.pdp-stars svg,.pm-score .rv-stars svg{width:22px!important;height:22px!important;padding:4px;box-sizing:border-box;background:var(--slate-blue);fill:#fff!important;flex:none}
.pdp-stars svg{width:18px!important;height:18px!important;padding:3px}
@media(max-width:700px){.pm-gia-full{display:none!important}}
.price-row{background:transparent!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;margin-top:56px!important;padding:0!important;border:0!important;text-align:center}
.price-row .pr-k{grid-column:1/-1;margin:0 0 8px!important;font-family:var(--display);font-size:clamp(24px,2.6vw,34px)!important;letter-spacing:.5px!important;text-transform:none!important;color:var(--ink-blue)!important;line-height:1.2}
.price-row .chip{display:flex!important;align-items:center;justify-content:center;min-height:68px;padding:0 16px!important;border-radius:0!important;font-size:16px!important;letter-spacing:1.5px!important}
@media(max-width:700px){.price-row{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;margin-top:44px!important}.price-row .chip{min-height:64px}}
.pdp2 .len-ac{margin-top:22px;border-top:1px solid rgba(48,53,56,.22)}
.pdp2 .len-ac summary{font-size:13px;letter-spacing:2px}
.pdp2 .len-ac-b{padding:0 0 18px}
.pdp2 .len-ac .lengths{grid-template-columns:minmax(0,1fr);gap:16px;padding:16px;background:var(--mist-white)}
.pdp2 .len-ac .bust{max-height:220px;margin:0 auto;display:block}
.pdp2 .len-ac .len{min-height:44px;padding:8px 10px;grid-template-columns:minmax(84px,100px) minmax(0,1fr) auto}
.pdp2 .len-ac .len .ln{font-size:13px}
.pdp2 .len-ac .len-desc{min-height:0;font-size:14px;line-height:22px}
.pdp2 .len-more{margin:12px 0 0;font-size:13px}
.pdp-pricerow{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px}
.pdp-pe{background:none;border:0;padding:0;font:inherit;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-blue);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;cursor:pointer;min-height:32px}
.pdp-pe:hover{color:var(--slate-blue)}
.pe-dlg{border:0;padding:0;max-width:min(920px,calc(100vw - 32px));width:100%;max-height:calc(100vh - 48px);background:#fff;color:var(--ink-blue);overflow:auto}
.pe-dlg::backdrop{background:var(--scrim)}
.pe-box{position:relative;padding:clamp(28px,4vw,56px)}
.pe-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink-blue);color:#fff;display:grid;place-items:center;cursor:pointer}
/* Page title scale (Web Style Guide): Belleza 40 / 30px, 1.05, 1.5px uppercase */
.pe-h{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:1.5px;font-size:clamp(30px,2.8vw,40px);line-height:1.05;margin:0;padding-right:48px;color:var(--ink-strong)}
.pe-lead{margin:16px 0 0;max-width:60ch;font-size:15px;line-height:26px;color:#57524D}
/* Pricing explained: three calm sections, each opened by an eyebrow and a hairline */
.pe-sec{margin-top:clamp(32px,4vw,48px)}
.pe-eb{font-family:var(--label);font-weight:400;font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;margin:0;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.pe-sec b{font-weight:500;font-size:16px;line-height:24px;color:var(--ink-blue)}
.pe-t{display:block;font-size:15px;line-height:24px;color:#57524D}
.pe-factors,.pe-incl,.pe-opts{list-style:none;margin:0;padding:0}
.pe-factors li{display:grid;grid-template-columns:44px minmax(0,220px) minmax(0,1fr);column-gap:24px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--cloud-grey)}
.pe-n{font-family:var(--label);font-size:13px;letter-spacing:2px;color:#6F6A64}
.pe-more{margin-top:18px}
.pe-inc .pe-eb{border-bottom:0;padding-bottom:0}
.pe-incl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:16px;padding:28px;background:var(--foam-white)}
.pe-incl li b{display:block;margin-top:10px}.pe-incl .pe-t{margin-top:4px}
.pe-ck{display:block;color:var(--deep-sea)}
.pe-opts li{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:18px 0;border-bottom:1px solid var(--cloud-grey)}
.pe-opts li:last-child{border-bottom:0}
.pe-opts .pe-t{margin-top:2px;max-width:56ch}
.pe-price{flex:none;font-weight:500;font-size:15px;line-height:22px;color:#6D5849;font-variant-numeric:tabular-nums}
@media(max-width:699px){
  .pe-factors li{grid-template-columns:32px minmax(0,1fr);column-gap:12px;padding:16px 0}
  .pe-factors .pe-t{grid-column:2;margin-top:4px}
  .pe-incl{grid-template-columns:minmax(0,1fr);gap:20px;padding:20px}
  .pe-incl li{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:12px}
  .pe-incl li b{margin-top:0}.pe-incl .pe-t{grid-column:2}
}
.pdp-off{align-self:flex-start;margin:0 0 14px;padding:6px 14px;background:var(--slate-blue);color:#fff;font-family:var(--label);font-size:12px;line-height:16px;letter-spacing:2.2px;text-transform:uppercase;border-radius:2px}
.pdp-rv{display:inline-flex;align-items:center;gap:10px;margin-top:10px;width:fit-content;color:var(--ink-blue);text-decoration:none;font-size:14px;line-height:20px}
.pdp-rv:hover span:last-child{text-decoration:underline;text-underline-offset:3px}
.pdp-stars{display:inline-flex;gap:3px}.pdp-stars svg{width:16px;height:16px;fill:var(--champagne-gold,#C2A27A)}
.pdp-rv b{font-weight:500}
.pdp2 .g-wrap{box-shadow:0 0 0 1px #EEE8DD}
/* icon buttons on the photo: 44px circle, 22px line icon, no shadow, hover salt mint (Web Style Guide 03) */
.pdp2 .g-heart{top:16px;right:16px;width:44px;height:44px;background:rgba(255,255,255,.9);box-shadow:none;transition:background-color .2s}
.pdp2 .g-heart svg{width:22px;height:22px}
.pdp2 .g-share{top:68px;right:16px;width:44px;height:44px;background:rgba(255,255,255,.9);box-shadow:none;transition:background-color .2s}
.pdp2 .g-share svg{width:22px;height:22px}
.pdp2 .g-heart:hover,.pdp2 .g-share:hover{background:var(--salt-mint)}

@media(min-width:900px){
.pdp2{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,88px)}
.pdp2 .g-main{aspect-ratio:1}
.pdp2 .buy{max-width:480px}
.pdp2 .pdp-title{font-size:clamp(22px,1.9vw,28px);line-height:1.22;letter-spacing:.3px;margin-top:10px}
.pdp2 .price{font-size:18px;line-height:26px;margin-top:12px}
.pdp2 .p2-tag{font-size:14px;line-height:23px;color:var(--slate-blue)}
.pdp2 .p2-buy{max-width:360px;margin-top:22px}
.pdp2 .p2-buy .btn{min-height:46px}
.pdp2 .p2-icons{margin-top:24px;gap:8px;font-size:11px}
.pdp2 .p2-icons li svg{width:22px;height:22px}
}
.pdp2 .g-main img{padding:0}

.press-marquee{background:#EFE9DF;padding:clamp(16px,1.8vw,24px) 0}
.press-marquee .pm-mq-track{--g:clamp(72px,9vw,144px);gap:var(--g)}
.press-marquee .pm-mq-track a{color:#6B5E52;opacity:1}
.press-marquee .pm-mq-track a:hover{opacity:1;color:var(--deep-walnut)}
.press-marquee .pl-a{font-size:clamp(20px,2vw,28px)}
.press-marquee .pl-b{font-size:clamp(15px,1.5vw,21px);letter-spacing:5px}
.press-marquee .pl-c{font-size:clamp(18px,1.8vw,25px)}
.press-marquee .pl-d{font-size:clamp(32px,3.1vw,44px)}
.press-marquee .pl-e{font-size:clamp(11px,1vw,14px);letter-spacing:2.6px}

.proofmix .pm-rv{order:-1;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='260'%20height='260'%3E%3Cfilter%20id='n'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='.85'%20numOctaves='3'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20values='0%200%200%200%20.38%20%200%200%200%200%20.3%20%200%200%200%200%20.22%20%200%200%200%20.2%200'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url%28%23n%29'/%3E%3C/svg%3E"),radial-gradient(90% 70% at 20% 10%,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 60%),color-mix(in srgb,var(--slate-blue) 11%,#F5F0E6);background-blend-mode:multiply,normal,normal;padding:clamp(40px,5vw,84px) clamp(28px,5vw,88px)}
.proofmix .pm-rv-head .hl{font-size:clamp(32px,3.3vw,52px);line-height:1.1}
.proofmix .pm-slide blockquote{font-size:clamp(18px,1.6vw,24px);line-height:1.7;max-width:46ch}
.proofmix .pm-score{font-size:clamp(15px,1.2vw,18px)}
.proofmix .pm-slide .rv-by{font-size:15px}
@media(min-width:1100px){.proofmix{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}
.press-marquee + .hsec.hrail{padding-top:clamp(48px,5.5vw,80px)}

.au3-ban{background:#F4F0E8;line-height:0}.au3-ban img{display:block;width:100%;height:auto;min-height:150px;object-fit:cover;object-position:50% 50%}
.au3-story{padding-block:clamp(16px,2vw,28px) clamp(40px,5vw,72px);background:linear-gradient(180deg,#F7F3EC,#F4EFE6)}
.au3-orn{display:flex;align-items:center;gap:20px;color:var(--champagne-brown,#A8876A)}.au3-orn span{flex:1;height:1px;background:currentColor;opacity:.45}
.au3-story-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,7fr);align-items:center;margin-top:clamp(28px,3.4vw,48px)}
.au3-story-l{padding-right:clamp(24px,5vw,80px)}
.au3-story-r{padding-left:clamp(24px,5vw,80px);border-left:1px solid rgba(120,95,70,.3)}
.au3-eb{margin:0 0 10px;font-family:var(--label);font-size:12px;letter-spacing:2.6px;text-transform:uppercase;color:var(--champagne-brown,#A8876A)}
.au3-story .hl{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:1.5px;font-size:clamp(28px,3.3vw,50px);line-height:1.1;margin:0;color:var(--ink-blue)}
.au3-story-r p{margin:0;font-size:clamp(15px,1.15vw,17px);line-height:1.75;max-width:62ch;color:var(--ink-blue)}.au3-story-r p+p{margin-top:20px}
.au3-tl{background:linear-gradient(180deg,#EDE2D3,#E8DCCB);padding-block:clamp(28px,3vw,44px) clamp(36px,4vw,60px)}
.au3-ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,3.4vw,52px);position:relative;--g:clamp(28px,3.4vw,52px)}
.au3-ol::before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:rgba(120,95,70,.4)}
.au3-ol li{position:relative;padding-top:clamp(28px,2.6vw,36px)}
.au3-ol li+li::after{content:"";position:absolute;left:calc(var(--g)/-2);top:clamp(28px,2.6vw,36px);bottom:0;width:1px;background:rgba(120,95,70,.25)}
.au3-dot{position:absolute;top:0;left:clamp(40px,12vw,180px);width:12px;height:12px;border-radius:50%;background:#F4EFE6;border:1px solid var(--champagne-brown,#A8876A);z-index:1}
.au3-ol li:last-child .au3-dot{background:var(--champagne-brown,#A8876A)}
.au3-img{display:block;width:100%;aspect-ratio:2.2/1;object-fit:cover}
.au3-year{margin:14px 0 0;font-family:var(--display);font-size:clamp(26px,2.6vw,36px);letter-spacing:.5px;color:#7A5A44;line-height:1.1}
.au3-t{margin:6px 0 0;font-family:var(--label);font-weight:400;font-size:13px;letter-spacing:2.4px;text-transform:uppercase;color:var(--ink-blue)}
.au3-t::after{content:"";display:block;width:28px;height:1px;background:#A8876A;margin-top:12px}
.au3-d{margin:12px 0 0;font-size:15px;line-height:23px;max-width:34ch;color:var(--ink-blue)}
@media(max-width:999px){.au3-ol{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}.au3-ol::before{display:none}.au3-ol li{padding-top:0}.au3-ol li:nth-child(odd)::after{display:none}.au3-ol li+li::after{top:0}.au3-dot{display:none}}
@media(max-width:599px){.au3-story-grid{grid-template-columns:minmax(0,1fr);gap:20px}.au3-story-l,.au3-story-r{padding:0;border:0}.au3-ol{grid-template-columns:minmax(0,1fr)}.au3-ol li::after{display:none!important}.au3-ban img{min-height:130px}}

.au2-vip{padding-block:clamp(40px,5vw,72px) clamp(40px,5vw,64px);background:radial-gradient(120% 90% at 0 0,#F1E9DD 0,rgba(255,255,255,0) 45%),radial-gradient(100% 80% at 100% 100%,#EFE6D8 0,rgba(255,255,255,0) 40%),#fff}
.au2-head{text-align:center;max-width:820px;margin:0 auto clamp(24px,3vw,40px)}
.au2-eb{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 0 10px;font-family:var(--label);font-size:12px;letter-spacing:2.6px;text-transform:uppercase;color:var(--ink-blue)}
.au2-eb::before,.au2-eb::after{content:"";flex:0 0 clamp(32px,6vw,72px);height:1px;background:var(--ink-blue);opacity:.35}
.au2-head .hl{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:2px;font-size:clamp(28px,3.6vw,52px);line-height:1.1;margin:0;color:var(--ink-blue)}
.au2-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.au2-card{background:rgba(255,255,255,.78);border:1px solid rgba(160,140,120,.25);padding:6px 6px clamp(20px,2vw,28px);display:flex;flex-direction:column}
.au2-img{display:block;width:100%;aspect-ratio:460/188;object-fit:cover}
.au2-card-b{display:grid;grid-template-columns:auto 1fr;gap:clamp(12px,1.6vw,22px);padding:clamp(18px,2vw,26px) clamp(14px,1.8vw,24px) 0;align-items:start}
.au2-card-b .au-ic{width:38px;height:38px;margin-top:2px;color:var(--slate-blue);fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.au2-h3{font-family:var(--display);font-weight:400;font-size:clamp(17px,1.5vw,21px);letter-spacing:2px;text-transform:uppercase;margin:0 0 10px;color:var(--ink-blue)}
.au2-p{margin:0 0 14px;font-size:15px;line-height:24px;color:var(--ink-blue)}
.au2-card .cta-link{font-size:12px;min-height:0;padding:0}
.au2-cta{text-align:center;margin-top:clamp(24px,3vw,40px)}
.au2-mis{padding-block:clamp(36px,4.5vw,64px) clamp(40px,5vw,72px);background:linear-gradient(180deg,#EEE5D8 0,#E8DCCB 100%);color:var(--ink-blue)}
.au2-q{font-family:var(--display);font-size:clamp(20px,2.4vw,32px);line-height:1.35;margin:0;letter-spacing:.3px;text-wrap:balance}
.au2-vals{--g:clamp(28px,3.4vw,52px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g)}
.au2-val{position:relative}.au2-val+.au2-val::before{content:"";position:absolute;left:calc(var(--g)/-2);top:0;bottom:0;width:1px;background:rgba(90,70,50,.2)}
.au2-vimg{display:block;width:100%;aspect-ratio:2.7/1;object-fit:cover}
.au2-num{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(90,70,50,.3);font-size:12px;letter-spacing:2px;color:var(--slate-blue)}
.au2-val .au2-h3{margin:4px 0 8px}.au2-val .au2-p{font-size:14px;line-height:22px;margin:0}
@media(max-width:999px){.au2-cards{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto}.au2-vals{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.au2-val:nth-child(odd)::before{display:none}}
@media(max-width:539px){.au2-vals{grid-template-columns:minmax(0,1fr)}.au2-val::before{display:none!important}.au2-cta .btn{width:100%;justify-content:center}}

.pt-sec{padding-block:clamp(24px,3vw,40px) clamp(56px,7vw,96px)}
.pt-grid{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:clamp(32px,6vw,96px);align-items:start}
.pt-fig{margin:0;position:sticky;top:96px;background:var(--cloud-grey);overflow:hidden}
.pt-fig img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:74% 50%}
.pt-list .hl{font-family:var(--display);font-weight:400;text-transform:none;letter-spacing:.4px;font-size:clamp(26px,3vw,40px);line-height:1.15;margin:10px 0 clamp(28px,3.4vw,44px);color:var(--ink-blue)}
.pt-item{display:grid;gap:6px;margin-bottom:clamp(32px,3.4vw,40px)}
.pt-name{display:flex;align-items:center;gap:14px}.pt-n{font-family:var(--label);font-size:14px;letter-spacing:2px;color:var(--slate-blue)}
.pt-name svg{width:36px;height:36px;flex:none}.pt-name h3{margin:0}
.pt-name h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,1.9vw,26px);letter-spacing:2px;text-transform:uppercase;margin:0}
.pt-name h3 a{color:var(--ink-blue);text-decoration:none}
.pt-tag{margin:2px 0 0;font-size:15px;letter-spacing:.6px;color:var(--slate-blue)}
.pt-meta{margin:6px 0 0;font-size:14px;line-height:22px;letter-spacing:.3px}
.pt-best{margin:0;font-size:14px;line-height:22px;max-width:44ch}
.pt-item .cta-link{margin-top:8px;width:fit-content}
.pt-cmp{margin-top:clamp(56px,7vw,104px)}
.pt-cmp .hl{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.6vw,34px);margin:0 0 clamp(20px,2.4vw,32px);color:var(--ink-blue)}
.pt-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,24px)}
.pt-col{padding:clamp(20px,2vw,28px);background:var(--mist-white);border-radius:6px}
.pt-col-h{font-family:var(--display);font-size:16px;letter-spacing:2px;text-transform:uppercase;margin:0 0 16px;color:var(--ink-blue)}
.pt-col dl{margin:0;display:grid;gap:2px}.pt-col dt{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--slate-blue);margin-top:12px}
.pt-col dd{margin:0;font-size:15px;line-height:22px}
.pt-cta{margin-top:clamp(40px,5vw,64px);padding:clamp(24px,3vw,36px);background:var(--mist-white);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.pt-cta p{margin:0;font-family:var(--display);font-size:clamp(20px,2vw,26px)}
.gd-hfig{display:none}
.gd-head.gd-has-fig{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(32px,6vw,96px);align-items:center}
.gd-has-fig>*{grid-column:1}.gd-has-fig>.gd-hfig{display:block;grid-column:2;grid-row:1/5;margin:0;overflow:hidden;border-radius:4px;max-height:340px}
.gd-hfig img{display:block;width:100%;height:100%;min-height:240px;max-height:340px;object-fit:cover;object-position:50% 62%}
.gd-has-fig>.gd-tabs,.gd-has-fig>.gd-menu{grid-column:1/-1}
@media(max-width:899px){.pt-grid{grid-template-columns:minmax(0,1fr)}.pt-fig{position:static}.pt-fig img{aspect-ratio:4/3}
.pt-cols{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);padding-bottom:8px}.pt-col{flex:0 0 72%;scroll-snap-align:start}
.gd-head.gd-has-fig{display:block}.gd-has-fig>.gd-hfig{margin-top:20px;max-height:220px}.gd-hfig img{min-height:0;max-height:220px}}

.cw-how,.cw-start{position:relative;overflow:hidden;isolation:isolate;color:var(--ink-blue)}
.cw-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.cw-how .cw-bg{object-position:center top}.cw-start .cw-bg{object-position:center 70%}
.cw-how{padding-block:clamp(32px,4vw,56px) clamp(40px,5vw,72px)}
.cw-head .hl{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:2px;font-size:clamp(30px,4vw,56px);line-height:1.05;margin:0}
.cw-head .kicker,.cw-start-copy .kicker{margin-top:12px;font-size:15px;letter-spacing:2.4px;color:inherit}
.cw-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);margin:clamp(24px,3vw,40px) 0 0;padding:0;list-style:none}
.cw-step{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2.2vw,32px);min-height:clamp(220px,20vw,290px);background:rgba(250,248,242,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.7);border-radius:10px;box-shadow:0 6px 24px rgba(80,66,50,.07)}
.cw-art{position:absolute;top:0;right:0;width:58%;aspect-ratio:4/3;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%),linear-gradient(0deg,transparent 0,#000 30%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 40%),linear-gradient(0deg,transparent 0,#000 30%);mask-composite:intersect;pointer-events:none}
.cw-n{position:relative;font-family:var(--display);font-size:clamp(40px,4vw,58px);line-height:1;color:var(--slate-blue);padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--cloud-grey);width:62%}
.cw-step h3{position:relative;font-family:var(--display);font-weight:400;font-size:clamp(20px,1.8vw,26px);letter-spacing:1.5px;text-transform:uppercase;margin:0;color:var(--ink-blue)}
.cw-step p{position:relative;font-size:15px;line-height:24px;margin:0;color:var(--ink-blue)}
.cw-start{color:#fff}
.cw-start::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(110,84,66,.4) 0,rgba(110,84,66,0) 50%)}
.cw-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:center;min-height:clamp(300px,31vw,440px);padding-block:clamp(40px,5vw,64px)}
.cw-start-copy .hl{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:2px;font-size:clamp(30px,3vw,46px);white-space:nowrap;line-height:1.05;margin:0;color:#fff}
.cw-start-copy .kicker{color:#fff;letter-spacing:2.4px;margin-top:14px}
.cw-btn{display:inline-flex;align-items:center;gap:14px;margin-top:clamp(20px,2.4vw,32px);padding:16px 30px;background:var(--pearl-white,#F7F4EA);color:var(--ink-blue);font-family:var(--label);font-size:14px;letter-spacing:2.4px;text-transform:uppercase;text-decoration:none;border-radius:3px;min-height:48px}
.cw-btn:hover{background:#fff}.cw-btn svg{width:18px;height:18px}
.cw-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:clamp(16px,2.4vw,36px);padding:clamp(24px,2.8vw,44px);background:rgba(250,248,242,.94);color:var(--ink-blue);border-radius:10px;box-shadow:0 10px 36px rgba(60,40,25,.18)}
.cw-card .eyebrow{font-family:var(--display);font-size:16px;letter-spacing:2.4px;text-transform:uppercase;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--cloud-grey)}
.cw-card .body{margin:0;max-width:46ch;font-size:15px;line-height:26px}
.cw-note{margin-top:14px;font-size:13px;line-height:20px;color:var(--slate-blue)}.cw-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.cw-card-side{display:flex;flex-direction:column;justify-content:center;gap:14px;padding-left:clamp(16px,2.4vw,36px);border-left:1px solid var(--cloud-grey);min-width:150px}
.cw-cal{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--cloud-grey);color:var(--slate-blue)}
.cw-side-t{margin:0;font-family:var(--label);font-size:13px;line-height:26px;letter-spacing:2.2px;text-transform:uppercase}
@media(max-width:999px){.cw-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-split{grid-template-columns:minmax(0,1fr);min-height:0}.cw-start .cw-bg{object-position:30% 75%}.cw-start::after{background:linear-gradient(0deg,rgba(110,84,66,0) 0,rgba(110,84,66,.3) 100%)}}
@media(max-width:599px){.cw-steps{grid-template-columns:minmax(0,1fr)}.cw-card{grid-template-columns:minmax(0,1fr)}.cw-card-side{border-left:0;border-top:1px solid var(--cloud-grey);padding:16px 0 0;display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:6px;align-items:center}.cw-cal{grid-row:1/3}.cw-side-t{text-align:left}.cw-step{min-height:0}.cw-btn{width:100%;justify-content:center}.cw-art{width:50%}}

@media(max-width:899px){
.cta-link{white-space:normal;max-width:100%;line-height:18px;padding-block:6px}
.foot a{display:inline-flex;align-items:center;min-height:40px}
.crumbs{align-items:center}.crumbs a{display:inline-flex;align-items:center;min-height:32px}
.hcar-dot{position:relative}.hcar-dot::after{content:"";position:absolute;inset:-18px -6px}
.pl-a,.pl-b,.pl-c,.pl-e{min-height:40px;display:inline-flex;align-items:center}
.check{min-height:44px}
input,select,textarea{font-size:16px}
img,video{max-width:100%}
}
.gd-head{margin-bottom:clamp(40px,5vw,72px)}

.gd-head{padding-top:clamp(8px,2vw,24px)}
.gd-eb{font-family:var(--body,'Noto Sans'),sans-serif;font-size:12px;line-height:18px;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-blue);margin:0}
.gd-head h1{font-family:var(--display);font-weight:400;font-size:clamp(32px,4.4vw,56px);line-height:1.1;letter-spacing:.4px;text-transform:none;color:var(--ink-blue);margin:14px 0 0}
.gd-intro{margin-top:16px;max-width:54ch;color:var(--slate-blue)}
.gd-tabs{display:flex;flex-wrap:wrap;gap:4px 30px;margin-top:clamp(24px,3vw,36px);border-bottom:1px solid var(--cloud-grey)}
.gd-tabs a{position:relative;padding:12px 0;font-size:14px;line-height:20px;color:var(--slate-blue);text-decoration:none}
.gd-tabs a:hover{color:var(--ink-blue)}
.gd-tabs a[aria-current="page"]{color:var(--ink-blue)}
.gd-tabs a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--slate-blue)}
.gd-menu{display:none}
.gd-choose{padding-block:clamp(28px,3.5vw,48px) clamp(40px,5vw,72px)}
.gd-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.gd-card{display:flex;flex-direction:column;gap:12px;min-width:0}
.gd-card-art{display:block;aspect-ratio:4/5;background:var(--shell-beige,#EFE8DA);overflow:hidden}
.gd-card-art img{display:block;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}
.gd-card h2{font-family:var(--display);font-weight:400;font-size:clamp(18px,1.7vw,22px);line-height:1.25;letter-spacing:.3px;text-transform:none;color:var(--ink-blue);margin:6px 0 0}
.gd-card p{margin:0;font-size:14px;line-height:22px;color:var(--slate-blue)}
.gd-card .cta-link{align-self:flex-start;margin-top:auto;padding-top:4px}
.gd-gift{display:flex;justify-content:center;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:clamp(32px,4vw,56px);padding:22px 20px;background:var(--mist-white);text-align:center;color:var(--ink-blue);text-decoration:none;font-size:15px}
.gd-gift b{font-weight:500;border-bottom:1px solid var(--slate-blue)}
@media(max-width:760px){
.gd-tabs{display:none}
.gd-menu{display:block;margin-top:24px;border:1px solid var(--cloud-grey)}
.gd-menu summary{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-size:14px;list-style:none;color:var(--slate-blue)}
.gd-menu summary::-webkit-details-marker{display:none}
.gd-menu summary b{font-weight:500;color:var(--ink-blue)}
.gd-menu div{display:flex;flex-direction:column;border-top:1px solid var(--cloud-grey)}
.gd-menu div a{padding:12px 16px;font-size:14px;color:var(--ink-blue);text-decoration:none}
.gd-menu div a[aria-current="page"]{background:var(--mist-white)}
.gd-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
.gd-card p{font-size:13px;line-height:20px}
}

.cu-hero,.has-hero #view > .hero.cu-hero:first-child{display:block;position:relative;overflow:hidden;min-height:0;aspect-ratio:auto;height:min(calc(100svh - 52px),135vw)}
.cu-hero-bg{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 30%}
.cu-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(236,236,236,.85) 0,rgba(236,236,236,.4) 35%,rgba(236,236,236,0) 55%)}
.cu-hero-copy{position:absolute;z-index:2;left:var(--gutter);right:var(--gutter);top:auto;bottom:64px;max-width:none;padding:0;background:none;color:var(--ink-blue)}
.cu-hero-copy{display:flex;flex-direction:column-reverse;align-items:flex-start}.cu-hero-copy .kicker{margin:0 0 12px}.cu-hero-copy .hl-hero{margin:0}
@media(min-width:900px){
.cu-hero::before{background:linear-gradient(90deg,rgba(236,236,236,.5) 0,rgba(236,236,236,.18) 30%,rgba(236,236,236,0) 46%)}
.cu-hero-copy{left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));right:auto;bottom:110px;max-width:min(36vw,520px)}
}

.pr-page{padding-bottom:clamp(48px,6vw,88px)}
.pr-head{padding-top:clamp(8px,2vw,24px)}
.pr-eb{font-family:var(--body,'Noto Sans'),sans-serif;font-size:12px;line-height:18px;letter-spacing:2.4px;text-transform:uppercase;color:var(--slate-blue);margin:0}
.pr-head .hl{margin-top:14px}
.pr-lede{margin-top:16px;max-width:46ch;color:var(--slate-blue)}
.pr-tabs{display:flex;gap:32px;margin-top:clamp(28px,3.5vw,44px);border-bottom:1px solid var(--cloud-grey)}
.pr-tab{appearance:none;background:none;border:0;padding:14px 0;font:inherit;font-size:14px;line-height:20px;color:var(--slate-blue);cursor:pointer;position:relative}
.pr-tab:hover{color:var(--ink-blue)}
.pr-tab[aria-selected="true"]{color:var(--ink-blue)}
.pr-tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--slate-blue)}
.pr-panel[hidden]{display:none}
.pr-feat{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);margin-top:clamp(24px,3vw,36px)}
.pr-feat-l{background:var(--mist-white);padding:clamp(24px,3.4vw,48px);display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:clamp(260px,26vw,340px)}
.pr-outlet{font-family:var(--display);font-size:clamp(34px,4.2vw,60px);line-height:1.04;letter-spacing:1px;color:var(--ink-blue);margin:0}
.pr-feat-r{background:var(--pearl-white);padding:clamp(24px,3.4vw,48px);display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.pr-date{font-size:14px;line-height:20px;color:var(--slate-blue);margin:0}
.pr-feat-h{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.5vw,34px);line-height:1.22;letter-spacing:.4px;color:var(--ink-blue);margin:0;max-width:24ch}
.pr-read{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-bottom:6px;font-size:14px;line-height:20px;color:var(--ink-blue);text-decoration:none;border-bottom:1px solid var(--slate-blue)}
.pr-read:hover{border-bottom-color:var(--ink-blue)}
.pr-label{display:flex;justify-content:space-between;gap:16px;margin-top:clamp(36px,4.5vw,60px);padding-bottom:14px;border-bottom:1px solid var(--cloud-grey)}
.pr-label-top{margin-top:clamp(24px,3vw,36px)}
.pr-list{list-style:none;margin:0;padding:0}
.pr-row{display:grid;grid-template-columns:minmax(150px,250px) minmax(0,1fr) 36px;gap:clamp(16px,3vw,40px);align-items:center;padding:24px 0;border-bottom:1px solid var(--cloud-grey)}
.pr-src b{display:block;font-weight:500;font-size:13px;line-height:20px;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink-blue)}
.pr-src span{display:block;font-size:13px;line-height:20px;color:var(--slate-blue);margin-top:2px}
.pr-title{font-family:var(--display);font-size:clamp(17px,1.6vw,21px);line-height:1.35;letter-spacing:.3px;color:var(--ink-blue);text-decoration:none}
.pr-title:hover{text-decoration:underline;text-underline-offset:4px}
.pr-alt{display:block;width:fit-content;margin-top:10px;font-size:13px}.pr-main{min-width:0}
.pr-go{display:inline-flex;justify-content:center;color:var(--slate-blue);text-decoration:none}
.pr-row:hover .pr-go,.pr-go:hover{color:var(--ink-blue)}
.pr-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px 24px;margin-top:clamp(28px,3.5vw,44px);padding-top:24px}
.pr-foot-t{margin:0;font-size:14px;line-height:22px;color:var(--slate-blue)}
.pr-foot-t a{color:var(--ink-blue)}
.pr-foot .pr-read{margin-top:0}
@media(max-width:760px){
.pr-feat{grid-template-columns:1fr}
.pr-row{grid-template-columns:minmax(0,1fr) 28px;gap:8px 12px;padding:20px 0}
.pr-src{grid-column:1;grid-row:1}.pr-main{grid-column:1;grid-row:2}.pr-go{grid-column:2;grid-row:1/3;align-self:center}
}

.hcs-2 .hcs-bg{object-position:center 58%}
@media(max-width:899px){.hcs-2 .hcs-bg{object-position:center 30%}}
@media(min-width:900px){.hcs-2::before{background:linear-gradient(90deg,rgba(15,15,15,.62) 0,rgba(15,15,15,.3) 40%,rgba(15,15,15,0) 70%)}}

@media(min-width:900px){
.hcs-1 .hcs-copy{top:38%;bottom:auto;transform:none;max-width:min(36vw,520px)}
.hcs-1::before{background:linear-gradient(90deg,rgba(15,15,15,.45) 0,rgba(15,15,15,.15) 28%,rgba(15,15,15,0) 44%)}
.hcs-1 .hcs-bg{inset:var(--hdr-over) 0 0 auto;width:auto;max-width:none;height:calc(100% - var(--hdr-over));object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%);mask-image:linear-gradient(90deg,transparent 0,#000 12%)} /* the whole photo at the full slide height below the header, against the right edge; its left edge fades into the black */
}

.feature-art.fit{background:var(--fbg,var(--ph-ground))}
.feature-art.fit img{object-fit:contain;object-position:center}

.hrail + .ctiles{padding-top:0}
.ctiles + .hsec.hrail{padding-top:clamp(64px,8vw,96px)}

/* ---------- AR dialog ---------- */
.ar-dlg .pe-box{max-width:720px}
.ar-body{display:grid;gap:14px}
.ar-fallback{font-size:17px;line-height:26px}
.ar-btn{position:absolute;left:50%;bottom:16px;transform:translateX(-50%)}
model-viewer{display:block;position:relative;--poster-color:transparent}

/* footer accordion on narrow screens / zoom */
.foot-col{min-width:0}
.foot-col>summary{list-style:none;cursor:default}
.foot-col>summary::-webkit-details-marker{display:none}
.foot-col>summary h3{margin:0}
@media(min-width:900px){.foot-col>summary{margin-bottom:14px}}
.foot-col>summary .fc-chev{display:none}
@media(max-width:899px){
html body .foot-grid{display:flex!important;flex-direction:column;gap:0!important}
html body .foot-grid>.foot-brand{padding-bottom:28px;border-bottom:1px solid color-mix(in srgb,var(--ink-blue) 14%,transparent)}
.foot-col{border-bottom:1px solid color-mix(in srgb,var(--ink-blue) 14%,transparent)}
.foot-col>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:4px 0}
.foot-col>summary h3{font-size:13px!important;letter-spacing:2.2px}
.foot-col>summary .fc-chev{display:block;width:16px;height:16px;transition:transform .25s}
.foot-col[open]>summary .fc-chev{transform:rotate(180deg)}
.foot-col>ul{padding-bottom:18px!important}
.foot-col>summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
}

/* promises: one vertical list on narrow screens / zoom */
@media(max-width:899px){
html body .hv-prom{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
html body .hv-prom li,html body .hv-prom li:nth-child(odd){padding:18px 0!important;border-left:0!important;border-top:1px solid color-mix(in srgb,var(--ink-blue) 12%,transparent)}
html body .hv-prom li:first-child{border-top:0}
}

html body .foot-bottom a{font:inherit!important;font-size:12px!important;line-height:18px!important;color:inherit!important;letter-spacing:inherit!important;text-transform:none!important}
html body .foot-bottom p,html body .foot-bottom li{font-size:12px;line-height:18px}

/* ===== reviews on photo ground ===== */
html body .hv-rv4{position:relative;isolation:isolate;overflow:hidden;min-height:600px;padding:0!important;background:#F4F0E8!important;border:0!important;display:block!important}
html body .hv-rv4::before,html body .hv-rv4::after{content:none!important}
html body .hv-rv4 .hv-rv-bg,html body .hv-rv4 .hv-rv-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-1;display:block}
html body .hv-rv-score{position:absolute;top:40px;right:44px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--ink-deep)}
html body .hv-rv-score b{font-family:'Belleza','Optima',sans-serif;font-weight:400;font-size:76px;line-height:.9;letter-spacing:-1px}
html body .hv-rv-score .hv-stars svg{width:24px;height:24px;fill:var(--ink-deep)}
html body .hv-rv-n{font:500 16px/1.3 'Noto Sans',system-ui,sans-serif;color:var(--ink-deep)}
html body .hv-rv-src{font:400 13px/1.3 'Noto Sans',system-ui,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--ed-b,#57524D)}
html body .hv-rv-card{position:absolute;left:36px;bottom:36px;width:min(400px,calc(100% - 72px));padding:28px 30px 22px;text-align:center;background:rgba(247,244,234,.74);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border:1px solid rgba(255,255,255,.7);border-radius:20px;box-shadow:0 18px 40px -24px rgba(48,53,56,.35)}
html body .hv-rv-card>.hv-stars{justify-content:center;margin-bottom:14px}
html body .hv-rv-card>.hv-stars svg{width:18px;height:18px;fill:var(--ink-deep)}
html body .hv-rv4 .hv-qs{display:grid;min-height:0}
html body .hv-rv4 .hv-q{grid-area:1/1;margin:0;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
html body .hv-rv4 .hv-q.on{opacity:1;visibility:visible}
html body .hv-rv4 .hv-q blockquote{margin:0;font:400 18px/1.55 'Noto Sans',system-ui,sans-serif;color:var(--ink-deep)}
html body .hv-rv4 .hv-q figcaption{margin-top:14px;display:flex;flex-direction:column;gap:2px;align-items:center}
html body .hv-rv4 .hv-q figcaption b{font:500 15px/1.4 'Noto Sans',system-ui,sans-serif}
html body .hv-rv4 .hv-q figcaption b::before{content:'– '}
html body .hv-rv4 .hv-q figcaption span{font-size:12px;color:var(--ed-m,#6F6861)}
html body .hv-rv4 .hv-qd{display:flex;justify-content:center;gap:6px;margin-top:16px}
html body .hv-rv4 .hv-qd button{width:18px;height:2px;padding:0;border:0;background:rgba(48,53,56,.22);cursor:pointer}
html body .hv-rv4 .hv-qd button[aria-current=true]{background:var(--ink-deep)}
html body .hv-rv-foot{position:absolute;right:44px;bottom:40px;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
html body .hv-rv-next{border:0;background:none;padding:0;cursor:pointer;font-family:'Belleza','Optima',sans-serif;font-size:26px;line-height:1;color:var(--ink-deep)}
html body .hv-rv-next span{font-size:24px;margin-left:4px}
html body .hv-rv-all{font:400 12px/1.4 'Noto Sans',system-ui,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-deep);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;display:inline-flex;align-items:center;gap:6px}
html body .hv-rv-all .hv-ar{width:11px;height:11px}
@media(max-width:699px){
html body .hv-rv4{min-height:720px}
html body .hv-rv4 .hv-rv-bg img{object-position:center top}
html body .hv-rv-score{top:24px;right:20px;align-items:flex-end}
html body .hv-rv-score b{font-size:56px}
html body .hv-rv-score .hv-stars svg{width:18px;height:18px}
html body .hv-rv-n{font-size:14px}
html body .hv-rv-card{left:16px;right:16px;bottom:84px;width:auto;padding:22px 20px 18px}
html body .hv-rv4 .hv-q blockquote{font-size:16px}
html body .hv-rv-foot{left:20px;right:20px;bottom:24px;flex-direction:row-reverse;justify-content:space-between;align-items:center}
html body .hv-rv-next{font-size:20px}
}
/* ===== footer subscribe: pill field ===== */
html body .foot-news{display:block;margin-top:22px;max-width:440px}
html body .foot-news>label{display:block;margin:0 0 14px;font:400 24px/1.2 'Belleza','Optima',sans-serif;letter-spacing:0;text-transform:none;color:var(--ink-deep)}
html body .foot-news-row{position:relative;display:flex!important;align-items:center;height:58px;padding:5px;background:#fff;border:1px solid var(--deep-sea);border-radius:var(--r-input);box-shadow:none}
html body .foot-news-row:focus-within{border-color:var(--ink-deep)}
html body .foot-news-row input{flex:1;min-width:0;height:100%;padding:0 18px 0 20px;border:0!important;outline:0;background:transparent!important;font:400 15px/1 'Noto Sans',system-ui,sans-serif;color:var(--ink-deep);box-shadow:none!important}
html body .foot-news-row input::placeholder{color:var(--ed-b,#57524D)}
html body .foot-news-row button{flex:none;height:100%;padding:0 20px;border:0;border-radius:var(--r-btn);background:var(--ink-blue);color:var(--pearl-white);font:400 13px/16px var(--label);letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s}
html body .foot-news-row button:hover{background:var(--brand);color:var(--on-brand)}
html body .foot-news-note{margin:12px 0 0 4px;font:400 12px/1.5 'Noto Sans',system-ui,sans-serif;color:var(--ed-b,#57524D)}
html body .foot-news-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* ===== home on white ===== */
html[data-route=home] body{background:#fff}
/* ===== legal pages ===== */
html body .lg-page{padding-bottom:88px}
html body .lg-head{padding:28px 0 36px;border-bottom:1px solid color-mix(in srgb,var(--ink-blue) 12%,transparent);margin-bottom:48px}
html body .lg-head .hl{margin:0 0 10px}
html body .lg-grid{display:grid;grid-template-columns:260px minmax(0,680px);gap:72px;align-items:start}
html body .lg-toc{position:sticky;top:120px;max-height:calc(100vh - 140px);overflow:auto}
html body .lg-toc-h{margin:0 0 14px;font:400 12px/1.4 'Noto Sans',system-ui,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--ed-m,#6F6861)}
html body .lg-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
html body .lg-toc a{display:block;padding:6px 0 6px 14px;border-left:1px solid color-mix(in srgb,var(--ink-blue) 12%,transparent);font:400 14px/1.4 'Noto Sans',system-ui,sans-serif;color:var(--ed-b,#57524D);text-decoration:none}
html body .lg-toc a:hover{color:var(--ink-deep);border-left-color:var(--ink-deep)}
html body .lg-body{font:400 16px/1.75 'Noto Sans',system-ui,sans-serif;color:var(--ink-blue)}
html body .lg-body p{margin:0 0 16px}
html body .lg-intro p{font-size:18px;line-height:1.7;color:var(--ink-deep)}
html body .lg-sec{padding-top:36px;margin-top:20px;border-top:1px solid color-mix(in srgb,var(--ink-blue) 10%,transparent);scroll-margin-top:120px}
html body .lg-sec h2{display:flex;align-items:baseline;gap:16px;margin:0 0 14px;font:400 26px/1.25 'Belleza','Optima',sans-serif;color:var(--ink-deep)}
html body .lg-n{font:400 12px/1 'Noto Sans',system-ui,sans-serif;letter-spacing:1.4px;color:var(--ed-m,#6F6861)}
html body .lg-sec ul{margin:0 0 16px;padding-left:20px}
html body .lg-sec li{margin:0 0 8px}
html body .lg-sec li::marker{color:var(--shell-beige)}
html body .lg-contact dl{display:grid;grid-template-columns:90px 1fr;gap:10px 20px;margin:8px 0 0}
html body .lg-contact dt{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--ed-m,#6F6861);padding-top:3px}
html body .lg-contact dd{margin:0}
html body .lg-contact a{color:var(--ink-deep)}
html body .lg-also{margin-top:40px!important}
@media(max-width:899px){
html body .lg-grid{grid-template-columns:minmax(0,1fr);gap:28px}
html body .lg-toc{position:static;max-height:none;padding:18px 20px;background:color-mix(in srgb,var(--pearl-white) 70%,#fff);border:1px solid color-mix(in srgb,var(--ink-blue) 10%,transparent)}
html body .lg-head{margin-bottom:28px;padding-bottom:24px}
html body .lg-sec h2{font-size:22px}
html body .lg-intro p{font-size:16px}
}
html body .hv-rv-n,html body .hv-rv-src{border:0!important;text-decoration:none!important;padding:0!important}
@media(max-width:699px){
html body .hv-rv4{display:flex!important;flex-direction:column;align-items:stretch;gap:18px;min-height:0;padding:236px 16px 22px!important}
html body .hv-rv-score{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 12px}
html body .hv-rv-score b{font-size:48px;flex-basis:100%;text-align:center}
html body .hv-rv-card{position:static;width:auto}
html body .hv-rv-foot{position:static;flex-direction:row-reverse;justify-content:space-between;align-items:center;padding:0 4px}
html body .hv-rv-next,html body .hv-rv-all{white-space:nowrap}
html body .hv-rv-next{font-size:20px}
}

/* ===== FAQ hero ===== */
html body .faq-hero{position:relative;overflow:hidden;background:#F4E9DE;aspect-ratio:2560/1068;max-height:640px;min-height:420px;width:100%}
html body .faq-hero picture,html body .faq-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;display:block}
html body .faq-hero-copy{position:absolute;inset:0;display:flex;align-items:center}
html body .faq-hero-copy .wrap{width:100%}
html body .faq-hero-tx{max-width:min(460px,38%)}
html body .faq-hero .hl{margin:0 0 14px;color:var(--ink-deep);font-size:clamp(34px,4vw,58px);line-height:1.08}
html body .faq-hero .kicker{margin:0;color:var(--ed-b,#57524D)}
html body .faq-head{padding-top:8px}
html body .faq-head .jump{margin-top:0}
@media(max-width:699px){
html body .faq-hero{aspect-ratio:auto;min-height:0;max-height:none;display:flex;flex-direction:column}
html body .faq-hero picture,html body .faq-hero img{position:static;height:auto;aspect-ratio:1473/1068;object-position:center}
html body .faq-hero-copy{position:static;padding:22px 0 6px;background:#fff}
html body .faq-hero-tx{max-width:none}
html body .faq-hero .hl{font-size:32px}
}
/* ===== footer subscribe: bottom right ===== */
html body .foot-sub{display:flex;justify-content:flex-end;margin-top:44px}
html body .foot-sub .foot-news{margin:0;width:100%;max-width:460px}
@media(max-width:899px){html body .foot-sub{justify-content:stretch;margin-top:28px}html body .foot-sub .foot-news{max-width:none}}
html body .foot-bottom ul a{display:inline!important;padding:0!important;min-height:0!important}
html body .foot-bottom ul li{min-height:0!important}
html body .foot-news-note{line-height:18px!important}
html body .foot-news-note a{display:inline!important;padding:0!important;min-height:0!important;line-height:inherit!important}

/* ===== Sage: original drawing inset ===== */
html body .sg-card figure{position:relative}
html body .sg-sketch{position:absolute;right:14px;bottom:14px;width:34%;max-width:170px;margin:0;padding:7px 7px 6px;background:#fff;box-shadow:0 10px 24px -12px rgba(48,53,56,.45),0 1px 2px rgba(48,53,56,.12);transform:rotate(-2.5deg);transform-origin:bottom right;transition:transform .3s ease}
html body .sg-card:hover .sg-sketch{transform:rotate(0) scale(1.04)}
html body .sg-sketch img{display:block;width:100%;height:auto;aspect-ratio:302/247;object-fit:cover}
html body .sg-sketch span{display:block;margin-top:5px;font:400 10px/1.2 'Noto Sans',system-ui,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--ed-m,#6F6861);text-align:center}
@media(max-width:699px){html body .sg-sketch{width:38%;right:10px;bottom:10px;padding:5px 5px 4px}html body .sg-sketch span{font-size:9px;letter-spacing:.8px}}
html body .sg-sketch{width:29%;max-width:150px}
@media(max-width:699px){html body .sg-sketch{width:32%}}
html body .sg-sketch span{white-space:nowrap;letter-spacing:.6px;font-size:9.5px}

html body .sg-sketch img{aspect-ratio:1/1!important}

html body .m-row2{font-family:var(--label)!important;font-size:15px!important;letter-spacing:2px!important;text-transform:uppercase!important;font-weight:400!important;padding:20px 0!important;min-height:56px!important;color:var(--ink-blue)!important}
html body #menu .m-hr{border:0;border-top:1px solid color-mix(in srgb,var(--ink-blue) 14%,transparent);margin:8px 0}

/* ===== reviews v2: hand + Tahitian strand ===== */
@media(min-width:900px){html body .hv-pf{grid-template-columns:minmax(0,5fr) minmax(0,7fr)!important}}
html body .hv-rv4{min-height:0!important;aspect-ratio:1122/1402;background:#F2ECE2!important}
html body .hv-rv4 .hv-rv-bg img{object-position:center center}
html body .hv-rv4 .hv-rv-score{top:5.5%;right:auto;left:54%;gap:4px}
html body .hv-rv4 .hv-rv-score b{font-size:clamp(46px,4.6vw,68px)}
html body .hv-rv4 .hv-rv-score .hv-stars svg{width:clamp(16px,1.5vw,22px);height:clamp(16px,1.5vw,22px)}
html body .hv-rv4 .hv-rv-card{left:4.5%;bottom:3%;top:auto;width:47%;min-height:35.5%;padding:20px 16px 14px;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
html body .hv-rv4 .hv-rv-card>.hv-stars{margin-bottom:10px}
html body .hv-rv4 .hv-rv-card>.hv-stars svg{width:15px;height:15px}
html body .hv-rv4 .hv-q blockquote{font-size:15px!important;line-height:1.5!important;max-width:none!important}
html body .hv-rv4 .hv-q figcaption{margin-top:10px}
html body .hv-rv4 .hv-qd{margin-top:12px}
html body .hv-rv4 .hv-rv-foot{right:4%;bottom:4%;left:auto;gap:10px}
html body .hv-rv4 .hv-rv-next{font-size:clamp(18px,1.7vw,24px)}
@media(max-width:899px){html body .hv-pf .hv-rv4{max-width:560px;width:100%;margin:0 auto}}
@media(max-width:699px){
html body .hv-rv4{display:block!important;aspect-ratio:auto;padding:0 0 18px!important;min-height:0!important}
html body .hv-rv4 .hv-rv-bg{position:relative;display:block;z-index:0}
html body .hv-rv4 .hv-rv-bg img{position:static;width:100%;height:auto;aspect-ratio:1122/1402}
html body .hv-rv4 .hv-rv-score{position:absolute;top:4.5%;left:54%;right:auto;flex-direction:column;align-items:flex-start;gap:3px}
html body .hv-rv4 .hv-rv-score b{font-size:44px;flex-basis:auto;text-align:left}
html body .hv-rv4 .hv-rv-card{position:relative;left:auto;bottom:auto;width:auto;min-height:0;margin:-14% 14px 0;z-index:1}
html body .hv-rv4 .hv-rv-foot{position:static;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;margin:16px 18px 0}
}
@media(max-width:699px){html body .hv-rv4 .hv-rv-bg{height:auto!important;inset:auto!important}}
@media(max-width:699px){html body .hv-rv4 .hv-rv-card{right:auto!important;left:auto!important}}

html body .hv-rv4 .hv-stars svg{fill:var(--rating)!important}
html body .hv-rv4 .hv-rv-next{text-decoration:none;color:var(--ink-deep);display:inline-flex;align-items:baseline;gap:6px}
html body .hv-rv4 .hv-rv-next:hover{color:var(--deep-sea)}
html body .hv-rv4 .hv-rv-all{display:none!important}

/* reviews v3: gift box flat lay */
@media(min-width:900px){html body .hv-pf{grid-template-columns:minmax(0,7fr) minmax(0,5fr)!important}}
html body .hv-rv4{aspect-ratio:1586/992!important;background:#EBC2AE!important}
html body .hv-rv4 .hv-rv-score{top:5%;left:3%!important;right:auto!important;padding:14px 18px 12px;background:rgba(247,244,234,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px}
html body .hv-rv4 .hv-rv-score b{font-size:clamp(38px,3.4vw,54px)!important}
html body .hv-rv4 .hv-rv-card{left:3%!important;bottom:4%!important;width:35%!important;min-height:0!important}
html body .hv-rv4 .hv-rv-foot{right:3%!important;bottom:2.5%!important}
html body .hv-rv4 .hv-rv-next{font-size:clamp(16px,1.4vw,20px)!important}
@media(max-width:699px){
html body .hv-rv4{aspect-ratio:auto!important}
html body .hv-rv4 .hv-rv-bg img{aspect-ratio:1586/992!important}
html body .hv-rv4 .hv-rv-score{top:10px;left:10px!important;padding:8px 12px;border-radius:12px}
html body .hv-rv4 .hv-rv-score b{font-size:30px!important}
html body .hv-rv4 .hv-rv-score .hv-rv-n{font-size:12px}html body .hv-rv4 .hv-rv-score .hv-rv-src{font-size:10px}
html body .hv-rv4 .hv-rv-card{width:auto!important;margin:-6% 14px 0!important;left:auto!important;bottom:auto!important}
}

html body .au-orca{background:#fff;padding:clamp(56px,7vw,112px) var(--gutter,24px)}
html body .au-orca picture,html body .au-orca img{display:block;width:100%;max-width:1320px;height:auto;margin:0 auto}
@media(max-width:699px){html body .au-orca{padding:44px 20px}html body .au-orca img{max-width:420px}}

/* services as cards */
html body .svc-grid-sec{padding-block:clamp(24px,3vw,48px) clamp(48px,6vw,88px)}
html body .svc-grid-sec .hl{text-transform:none;letter-spacing:.3px}
html body .svc-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
html body .svc-grid .svc-card{grid-column:span 2;scroll-margin-top:120px}
html body .svc-grid .svc-card:nth-child(n+4){grid-column:span 3}
html body .svc-card .au2-img{aspect-ratio:460/260}
html body .svc-card-b{padding:clamp(18px,2vw,26px) clamp(16px,1.8vw,24px) 0;display:flex;flex-direction:column;flex:1}
html body .svc-card-k{margin:0 0 6px;font:400 12px/1.4 'Noto Sans',system-ui,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-blue)}
html body .svc-card .au2-h3{text-transform:none;letter-spacing:.2px;font-size:clamp(20px,1.8vw,24px)}
html body .svc-card-p p{margin:0 0 10px}
html body .svc-card-links{margin-top:auto;padding-top:8px;display:flex;flex-wrap:wrap;gap:10px 22px}
@media(min-width:1000px){html body .svc-grid .svc-card:nth-child(n+4) .au2-img{aspect-ratio:700/260}}
@media(max-width:999px){html body .svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html body .svc-grid .svc-card,html body .svc-grid .svc-card:nth-child(n+4){grid-column:span 1}html body .svc-grid .svc-card:last-child{grid-column:1/-1}}
@media(max-width:639px){html body .svc-grid{grid-template-columns:minmax(0,1fr)}html body .svc-grid .svc-card:last-child{grid-column:auto}}

/* services hero: collage with built-in title */
html body .svc-hero:not(.bl-hero),html body .has-hero #view > .svc-hero:not(.bl-hero):first-child{min-height:0!important;aspect-ratio:1935/812!important;max-height:none!important}
html body .svc-hero:not(.bl-hero)::before{display:none!important}
html body .svc-hero:not(.bl-hero) .svc-hero-bg{object-fit:cover;object-position:center}

/* certificate: crop in on the Jewelry Images column */
html body .hv-pf-cf .hv-cf-fig{background:#fff}
html body .hv-pf-cf .hv-cf-fig img,html body .hv-pf-cf .hv-cf-fig:hover img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:0 62%;transform:none!important;box-shadow:none;transition:scale .5s ease;transform-origin:30% 40%}
html body .hv-pf-cf .hv-cf-fig:hover img{scale:1.03}

/* services: one grid in the VIP card style */
html body .svc-all .svc-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
html body .svc-all .au2-img{aspect-ratio:16/10}
html body .svc-all .au2-card-b{height:100%;box-sizing:border-box}
html body .svc-all .au2-card-b>div{display:flex;flex-direction:column;height:100%}
html body .svc-all .svc-card-links{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px 18px}
html body .svc-all .au2-card .au2-card-b{flex:1}
html body .svc-all [id^="g-"]{scroll-margin-top:120px}
@media(max-width:1199px){html body .svc-all .svc-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}
@media(max-width:639px){html body .svc-all .svc-cards{grid-template-columns:minmax(0,1fr)}}

/* category tiles 20% taller */

/* reviews: size from the column width, never overflow into the certificate */
html body .hv-pf{align-items:start}
html body .hv-pf .hv-rv4{align-self:start;width:100%;max-width:100%;min-width:0;height:auto!important;box-sizing:border-box}
html body .hv-pf>*{min-width:0}
html body .hv-pf .hv-pf-cf{align-self:stretch}

/* rating badge: two lines */
html body .hv-rv4 .hv-rv-score{display:grid!important;grid-template-columns:auto auto;align-items:center;column-gap:12px;row-gap:2px;padding:12px 18px!important}
html body .hv-rv4 .hv-rv-score b{line-height:1;font-size:clamp(32px,2.8vw,44px)!important}
html body .hv-rv4 .hv-rv-score .hv-rv-n{grid-column:1/-1;font-size:14px}
@media(max-width:699px){html body .hv-rv4 .hv-rv-score b{font-size:28px!important}html body .hv-rv4 .hv-rv-score .hv-rv-n{font-size:12px}}
/* review card: centred on the photo, 30% wider */
@media(min-width:700px){html body .hv-rv4 .hv-rv-card{left:50%!important;top:50%!important;bottom:auto!important;width:45.5%!important;transform:translate(-50%,-50%)}}
/* signatures: tall product tiles, tight gutters (bestseller-row reference) */
html body .hv-sig .hv-row{grid-auto-columns:calc((100% - 3 * var(--sp-grid))/4);gap:var(--sp-grid)}
html body .hv-sig .hv-pc-img{aspect-ratio:4/5}
html body .hv-sig .hv-pc-img img{object-fit:contain;padding:9%;box-sizing:border-box}
@media(max-width:899px){html body .hv-sig .hv-row{grid-auto-columns:46%;gap:var(--sp-grid)}}

html body .sg-sketch span{display:none!important}
html body .sg-sketch{padding:6px!important}
/* services: 5 cards — 3 then 2 */
@media(min-width:1200px){html body .svc-all .svc-cards{grid-template-columns:repeat(6,minmax(0,1fr))}html body .svc-all .svc-cards>.au2-card{grid-column:span 2}html body .svc-all .svc-cards>.au2-card:nth-child(n+4){grid-column:span 3}}
html body .svc-all .au2-img{object-position:center 40%}
@media(min-width:1200px){html body .svc-all .svc-cards>.au2-card:nth-child(n+4) .au2-img{aspect-ratio:24/10}}
html body .svc-all #g-bridal .au2-img{object-position:center 18%}

/* newsletter band at top of footer (centred, underline field) */
html body .foot .foot-sub{display:flex;justify-content:center;margin:0 0 clamp(36px,4vw,56px);padding:clamp(36px,4vw,56px) 0;border-bottom:1px solid color-mix(in srgb,var(--ink-blue) 14%,transparent)}
html body .foot .foot-sub .foot-news{max-width:560px;width:100%;margin:0;text-align:center}
html body .foot .foot-news>label{margin:0 0 22px;font:400 15px/1.3 var(--display,'Belleza'),sans-serif;letter-spacing:2.4px;text-transform:uppercase;color:var(--ink-deep)}
html body .foot .foot-news-row{height:auto;padding:0;background:transparent;border:0;border-radius:0;align-items:stretch;gap:0}
html body .foot .foot-news-row input{height:48px;padding:0 4px;border:0!important;border-bottom:1px solid var(--ink-deep)!important;border-radius:0;background:transparent!important;font-size:15px;text-align:left}
html body .foot .foot-news-row button{height:48px;padding:0 34px;border-radius:0;background:var(--ink-deep);font:500 12px/1 'Noto Sans',sans-serif;letter-spacing:1.8px;text-transform:uppercase}
html body .foot .foot-news-msg{text-align:center}
@media(max-width:899px){html body .foot .foot-sub{margin-top:0}}
@media(max-width:480px){html body .foot .foot-news-row button{padding:0 20px}}

/* blog hero: orca wordmark, centred at a size that sits with the page title */
html body .bl-orca{background:#fff;padding:clamp(24px,3vw,48px) var(--gutter,24px) 0}
html body .bl-orca picture,html body .bl-orca img{display:block;width:100%;max-width:min(880px,72vw);height:auto;margin:0 auto}
@media(max-width:699px){html body .bl-orca{padding:24px 20px 0}html body .bl-orca img{max-width:260px}}
html body .pr-orca-sub{margin:clamp(20px,2.5vw,36px) var(--gutter,24px) 0;text-align:center;font:400 15px/1.5 "Noto Sans",sans-serif;color:var(--ed-b,#57524D)}
html body .pr-orca-sub a{color:var(--ink-deep)}
/* pearl guide topics: VIP card grid */
html body .gd-all .gd-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important}
html body .gd-all .gd-cards>.au2-card{grid-column:auto!important}
html body .gd-cimg{display:block;aspect-ratio:16/10;overflow:hidden;background:#F5F3EE}
html body .gd-cimg .au2-img,html body .gd-cimg svg{width:100%;height:100%;aspect-ratio:auto!important;object-fit:cover;display:block}
html body .gd-cimg.contain .au2-img{object-fit:contain;padding:6%;box-sizing:border-box}
@media(max-width:1199px){html body .gd-all .gd-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:639px){html body .gd-all .gd-cards{grid-template-columns:minmax(0,1fr)!important}}
html body .gd-cimg{position:relative}
html body .gd-cimg svg.gd-cert{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;transform:none!important}
/* rating merged into the review card */
html body .hv-rv4 .hv-rv-head{display:flex;align-items:center;justify-content:center;gap:10px 12px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(48,53,56,.12)}
html body .hv-rv4 .hv-rv-head b{font:400 34px/1 var(--display,'Belleza'),serif;color:var(--ink-deep)}
html body .hv-rv4 .hv-rv-head .hv-stars svg{width:17px;height:17px;fill:var(--rating)!important}
html body .hv-rv4 .hv-rv-head .hv-rv-n{font:400 14px/1.3 'Noto Sans',sans-serif;color:var(--ink-blue)}
/* services: all cards the same size (3 + 2 centred) */
@media(min-width:1200px){html body .svc-all:not(.gd-all) .svc-cards{grid-template-columns:repeat(6,minmax(0,1fr))!important}
html body .svc-all:not(.gd-all) .svc-cards>.au2-card,html body .svc-all:not(.gd-all) .svc-cards>.au2-card:nth-child(n+4){grid-column:span 2!important}
html body .svc-all:not(.gd-all) .svc-cards>.au2-card:nth-child(4){grid-column:2/span 2!important}
html body .svc-all:not(.gd-all) .svc-cards>.au2-card:nth-child(n+4) .au2-img{aspect-ratio:16/10!important}}
@media(min-width:640px) and (max-width:1199px){html body .svc-all:not(.gd-all) .svc-cards>.au2-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 8px);justify-self:center}}
html body #view>.press-marquee:last-child{margin-top:clamp(40px,5vw,72px)}

/* card header on one line; each review keeps its own 5 stars */
html body .hv-rv4 .hv-rv-head{flex-wrap:nowrap!important;gap:10px!important}
html body .hv-rv4 .hv-rv-head b{font-size:30px!important}
html body .hv-rv4 .hv-rv-head .hv-rv-n{white-space:nowrap}
html body .hv-rv4 .hv-q figcaption{display:flex;flex-direction:column;align-items:center;gap:6px}
html body .hv-rv4 .hv-q-stars{display:inline-flex;gap:2px}
html body .hv-rv4 .hv-q-stars svg{width:13px!important;height:13px!important;fill:var(--rating)!important}
@media(max-width:420px){html body .hv-rv4 .hv-rv-head{flex-wrap:wrap!important}}

html body .pdp-mto{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-blue)}
html body .pdp-mto svg{width:15px;height:15px}

/* home: reviews only, certificate column removed */
@media(min-width:900px){html body .hv-pf{grid-template-columns:minmax(0,1fr)!important;border:0!important}}
html body .hv-pf .hv-rv4{aspect-ratio:1586/760!important}
/* PDP certificate add-on */
html body .li-cert{color:var(--slate-blue)!important}
html body .press-marquee+.hv-pf{margin-top:var(--sp-s)}

html body img[src*="svcimg-restring"]{object-position:40% 52%}
html body .hv-bq+.designer{margin-top:var(--sp-l)!important}
html body .hv-bq+.press-marquee{margin-top:clamp(48px,6vw,96px)}
html body .hv-pf+.designer{margin-top:var(--sp-m)!important}
html body .hv-bq+.hv-pf{margin-top:var(--sp-m)!important}
/* review card: narrower, taller, quote-led */
@media(min-width:700px){
html body .hv-rv4 .hv-rv-card{width:min(700px,60%)!important;min-height:290px!important;padding:40px 44px 26px!important;border-radius:18px!important;display:flex!important;flex-direction:column;box-sizing:border-box}
html body .hv-rv4 .hv-rv-head{padding-bottom:12px!important;margin-bottom:22px!important;gap:8px!important}
html body .hv-rv4 .hv-rv-head b{font-size:24px!important}
html body .hv-rv4 .hv-rv-head .hv-stars svg{width:14px!important;height:14px!important}
html body .hv-rv4 .hv-rv-head .hv-rv-n{font-size:13px!important;letter-spacing:.3px}
html body .hv-rv4 .hv-qs{flex:1}
html body .hv-rv4 .hv-q{display:flex;flex-direction:column;justify-content:space-between}
html body .hv-rv4 .hv-q blockquote{font-size:clamp(20px,1.5vw,22px)!important;line-height:1.55!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
html body .hv-rv4 .hv-q figcaption{margin-top:20px!important}
html body .hv-rv4 .hv-qd{margin-top:22px!important}
}
/* review quote: italic body, bold name (Open Sans-style reference) */
html body .hv-rv4 .hv-q blockquote{font-family:'Noto Sans',system-ui,sans-serif!important;font-style:italic!important;font-weight:400!important;color:#5E5A57!important;letter-spacing:0}
html body .hv-rv4 .hv-q figcaption b{font:600 16px/1.4 'Noto Sans',system-ui,sans-serif!important;color:#4A4744}
html body .hv-rv4 .hv-q figcaption b::before{content:none!important}
html body .hv-cat-i{aspect-ratio:4/5}
/* category labels on the image, white */
html body .hv-cat{position:relative;display:block}
html body .hv-cat-i{position:relative}
html body .hv-cat-i::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(20,22,24,.42),rgba(20,22,24,0));pointer-events:none}
html body .hv-cat-l{position:absolute;left:clamp(14px,1.6vw,22px);bottom:clamp(12px,1.4vw,20px);margin:0!important;color:#fff!important;font:400 clamp(15px,1.25vw,18px)/1.2 'Noto Sans',sans-serif;letter-spacing:.4px;text-shadow:0 1px 8px rgba(0,0,0,.25);z-index:1}
/* about: VIP treatment + hours */
html body .au-vip-k{margin:clamp(22px,2.4vw,32px) 0 10px;font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:var(--slate-blue)}
html body .au-vip{list-style:none;margin:0;padding:0;max-width:46ch;display:grid;gap:12px}
html body .au-vip li{display:grid;gap:2px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--ink-blue) 14%,transparent)}
html body .au-vip b{font:500 15px/1.4 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .au-vip span{font-size:14.5px;line-height:1.6;color:var(--ed-b,#57524D)}
html body .au-art-copy .hero-ctas{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
html body .au-hours{display:flex;flex-wrap:wrap;gap:10px 36px;margin:16px 0 0}
html body .au-hours div{display:grid;gap:2px}
html body .au-hours dt{font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--slate-blue)}
html body .au-hours dd{margin:0;font:400 15px/1.5 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .au-hours a{color:inherit}
html body .gal-cap{font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-blue)}
/* Zhang Eclipse editorial (Sage layout) */
html body .ec .ec-moon{color:var(--ink-blue)}
html body .ec .ec-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 18px}
@media(max-width:1099px){html body .ec .ec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){html body .ec .sg-mosaic{grid-template-rows:minmax(0,1fr) minmax(0,1fr);height:clamp(560px,50vw,760px)}html body .ec .sg-m1{aspect-ratio:auto}html body .ec .sg-m2,html body .ec .sg-m3{min-height:0}}
/* Eclipse: text on the image */
html body .ec .sg-mosaic{margin-top:clamp(8px,1vw,16px)}
html body .ec .ec-hero{position:relative}
html body .ec .ec-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,26,28,.62) 0%,rgba(24,26,28,.34) 42%,rgba(24,26,28,0) 70%),linear-gradient(0deg,rgba(24,26,28,.35),rgba(24,26,28,0) 45%);pointer-events:none}
html body .ec .ec-ov{position:absolute;left:clamp(22px,3.4vw,52px);bottom:clamp(22px,3.4vw,52px);max-width:min(440px,72%);z-index:1;color:#fff}
html body .ec .ec-eb{margin:0 0 12px;font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.88)}
html body .ec .ec-h{margin:0;font:400 clamp(38px,4.6vw,66px)/1.04 var(--display,'Belleza'),serif;letter-spacing:.3px;text-transform:none;color:#fff}
html body .ec .ec-sub{margin:14px 0 0;font:400 clamp(16px,1.4vw,20px)/1.4 'Noto Sans',sans-serif;letter-spacing:.6px;color:#fff}
html body .ec .ec-q{margin:clamp(16px,1.8vw,24px) 0 0;padding-left:16px;border-left:1px solid rgba(255,255,255,.6);font:italic 400 15px/1.6 'Noto Sans',sans-serif;color:rgba(255,255,255,.92)}
@media(max-width:899px){html body .ec .ec-hero{aspect-ratio:4/5!important}html body .ec .ec-ov{max-width:none;right:22px}html body .ec .ec-hero::after{background:linear-gradient(0deg,rgba(24,26,28,.7) 0%,rgba(24,26,28,.3) 50%,rgba(24,26,28,0) 75%)}}
/* mega layout: image takes the right 50%; columns on the left 50% (3 slots of 1/6, or 2 at 25%) */
html body .mega-in.four.with-feature.half{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:0}
html body .mega-in.half .mcol{grid-row:1}
html body .mega-in.half.n3 .mcol{grid-column:span 2}
html body .mega-in.half.n2 .mcol{grid-column:span 3}
html body .mega-in.half.n1 .mcol{grid-column:1/span 2}
html body .mega-in.half>.feature,html body .mega-in.half>:last-child:not(.mcol){grid-column:7/13;grid-row:1}
html body .mega-in.half .mcol{padding-right:20px}
html body .mega-in.half.n1>.mcol:last-child,html body .mega-in.half.n2>.mcol:last-child,html body .mega-in.half.n3>.mcol:last-child{grid-column:7/13;padding:0 0 0 0;border-left:0}
html body .mega-in.half>.mcol:last-child .feature{height:100%}

/* account */
.icon-btn.on::after{content:"";position:absolute;right:9px;bottom:10px;width:6px;height:6px;border-radius:50%;background:var(--slate-blue)}
.acct{padding-bottom:clamp(56px,7vw,80px)}
.acct-grid{display:grid;gap:32px;align-items:start}
@media (min-width:900px){.acct-grid{grid-template-columns:minmax(260px,1fr) 2fr;gap:48px}}
.acct-card{display:grid;gap:16px;justify-items:start;max-width:560px;padding:28px;border:1px solid var(--cloud-grey);border-radius:var(--r-sm);background:var(--pearl-white)}
.acct-h{font-family:var(--display);font-size:22px;line-height:28px;font-weight:400}
.acct-dl{display:grid;gap:4px 0;font-size:15px;line-height:22px}
.acct-dl dt{font-size:13px;font-weight:500;margin-top:8px}
.acct-dl dd{margin:0;overflow-wrap:anywhere}
.acct-orders{display:grid;gap:20px;justify-items:start;min-width:0}
.acct-order{display:grid;gap:16px;justify-items:start;width:100%;padding:20px 0;border-top:1px solid var(--cloud-grey)}
.acct-order-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;width:100%}
.acct-order-no{font-size:16px;line-height:22px;font-weight:500}
.acct-order-total{font-weight:500;font-variant-numeric:tabular-nums}
.acct-items{list-style:none;margin:0;padding:0;display:grid;gap:12px;width:100%}
.acct-items li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center}
.acct-items img,.acct-noimg{display:block;width:56px;height:56px;object-fit:cover;border-radius:var(--r-sm);background:var(--cloud-grey)}
.acct-items li>span:nth-child(2){display:grid;gap:2px;min-width:0}
.acct-item-t{font-size:15px;line-height:20px}
/* Sage: text on the image (same as Eclipse) */
html body .sgx .sg-mosaic{margin-top:clamp(8px,1vw,16px)}
html body .sgx .ec-hero{position:relative}
html body .sgx .ec-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,26,28,.62) 0%,rgba(24,26,28,.34) 42%,rgba(24,26,28,0) 70%),linear-gradient(0deg,rgba(24,26,28,.35),rgba(24,26,28,0) 45%);pointer-events:none}
html body .sgx .ec-ov{position:absolute;left:clamp(22px,3.4vw,52px);bottom:clamp(22px,3.4vw,52px);max-width:min(440px,72%);z-index:1;color:#fff}
html body .sgx .ec-eb{margin:0 0 12px;font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.88)}
html body .sgx .ec-h{margin:0;font:400 clamp(38px,4.6vw,66px)/1.04 var(--display,'Belleza'),serif;letter-spacing:.3px;text-transform:none;color:#fff}
html body .sgx .ec-sub{margin:14px 0 0;font:400 clamp(16px,1.4vw,20px)/1.4 'Noto Sans',sans-serif;letter-spacing:.6px;color:#fff}
html body .sgx .ec-q{margin:clamp(16px,1.8vw,24px) 0 0;padding-left:16px;border-left:1px solid rgba(255,255,255,.6);font:italic 400 15px/1.6 'Noto Sans',sans-serif;color:rgba(255,255,255,.92)}
@media(max-width:899px){html body .sgx .ec-hero{aspect-ratio:4/5!important}html body .sgx .ec-ov{max-width:none;right:22px}html body .sgx .ec-hero::after{background:linear-gradient(0deg,rgba(24,26,28,.7) 0%,rgba(24,26,28,.3) 50%,rgba(24,26,28,0) 75%)}}
@media(min-width:900px){html body .sgx .sg-mosaic{grid-template-rows:minmax(0,1fr) minmax(0,1fr);height:clamp(560px,50vw,760px)}html body .sgx .sg-m1{aspect-ratio:auto}}
html body .sgx .ec-ov{max-width:min(600px,80%)}
html body .gal-item figcaption a,html body .gal-item figcaption .gal-cap{white-space:normal}
/* blog landing title */
html body .bl-head{text-align:center;padding:clamp(40px,5vw,72px) 0 clamp(28px,3.4vw,48px)}
html body .bl-eb{margin:0 0 12px;font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--slate-blue)}
html body .bl-h1{margin:0;font:400 clamp(34px,3.6vw,52px)/1.1 var(--display,'Belleza'),serif;letter-spacing:.3px;text-transform:none;color:var(--ink-deep)}
html body .bl-sub{margin:14px auto 0;max-width:46ch;font:400 16px/1.6 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .bl-head+.bl-tiles{margin-top:0!important;padding-top:0!important}
html body .bl-orca:has(+.bl-head){padding-bottom:0!important;margin-bottom:0!important}html body .bl-head{padding-top:clamp(28px,3vw,44px)}
html body .hv-kf-s{display:block;margin:6px 0 2px;font:400 clamp(14px,1.1vw,16px)/1.45 'Noto Sans',sans-serif;letter-spacing:.2px;color:rgba(255,255,255,.88)}
html body .hv-kf-s{margin:0 0 8px;font-size:clamp(12px,.95vw,13.5px);letter-spacing:1.6px;text-transform:uppercase;color:rgba(255,255,255,.9)}
html body .hv-kf-t{display:block;margin-bottom:12px}
/* review stars 50% bigger; no dashes */
html body .hv-rv4 .hv-rv-head .hv-stars svg{width:21px!important;height:21px!important}
html body .hv-rv4 .hv-q-stars svg{width:20px!important;height:20px!important}
html body .hv-rv4 .hv-qd{display:none!important}
@media(max-width:699px){html body .hv-rv4 .hv-rv-head .hv-stars svg{width:18px!important;height:18px!important}}
/* VIP pop-up: image on top, offer headline, email */
html body .vip-card{width:min(520px,100%);background:#fff;box-shadow:0 24px 60px rgba(31,35,37,.22)}
html body .vip-x{top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:transparent;color:var(--ink-deep)}
html body .vip-x svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.6}
html body .vip-img{margin:0;aspect-ratio:1200/660;overflow:hidden;background:#F1EEE9}
html body .vip-img img{display:block;width:100%;height:100%;object-fit:cover}
html body .vip-body{padding:44px clamp(24px,5vw,44px) 24px;text-align:center}
html body .vip-body .vip-eyebrow{margin:0;font:400 11.5px/1.4 'Noto Sans',sans-serif;letter-spacing:2.6px;text-transform:uppercase;color:var(--slate-blue);opacity:1}
html body .vip-body .vip-h{margin:0;font:400 clamp(28px,4.4vw,36px)/1.1 var(--display,'Belleza'),serif;letter-spacing:.3px;text-transform:none;color:var(--ink-deep)}
html body .vip-body .vip-sub{margin:10px 0 0;text-wrap:balance;font:400 16px/1.5 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .vip-body .vip-input{margin-top:20px;height:50px;text-align:left;border:1px solid color-mix(in srgb,var(--ink-blue) 40%,transparent)}
html body .vip-body .vip-btn{height:50px;letter-spacing:2px}
html body .vip-body .vip-msg{min-height:0;margin-top:8px}
html body .vip-body .vip-no{margin-top:6px;font-size:14px;text-decoration:none;opacity:1}
html body .vip-body .vip-no:hover{text-decoration:underline}
html body .vip-body .vip-legal{margin-top:16px;font-size:11.5px;line-height:1.55;opacity:.7}
/* pearl guide: no hero image */
html body .gd-plain{text-align:center;padding:clamp(40px,5vw,72px) 0 clamp(24px,3vw,40px)}
html body .gd-plain-h{margin:0;font:400 clamp(36px,4vw,56px)/1.1 var(--display,'Belleza'),serif;letter-spacing:.3px;text-transform:none;color:var(--ink-deep)}
html body .gd-plain-k{margin:10px 0 0;font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:2.6px;text-transform:uppercase;color:var(--slate-blue)}
html body .gd-plain-l{margin:14px auto 0;max-width:52ch;font:400 16px/1.6 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
/* guide: choosing a necklace */
html body .cn-steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
html body .cn-step{display:grid;grid-template-columns:clamp(56px,7vw,110px) minmax(0,1fr);gap:clamp(16px,3vw,40px);padding:clamp(32px,4vw,52px) 0;border-top:1px solid var(--cloud-grey)}
html body .cn-n{margin:0;font:400 clamp(28px,3vw,40px)/1 var(--display,'Belleza'),serif;color:var(--slate-blue)}
html body .cn-h{margin:0;font:400 clamp(24px,2.4vw,32px)/1.15 var(--display,'Belleza'),serif;text-transform:none;letter-spacing:.2px;color:var(--ink-deep)}
html body .cn-p{margin:12px 0 0;max-width:62ch;font:400 16px/1.65 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .cn-step .cta-link{display:inline-block;margin-top:22px}
html body .cn-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 40px;margin:26px 0 0;max-width:860px}
html body .cn-types div{padding-top:14px;border-top:1px solid var(--cloud-grey)}
html body .cn-types dt{font:500 16px/1.4 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .cn-types dd{margin:6px 0 0;font:400 15px/1.6 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .cn-tbl{margin-top:24px;width:100%;min-width:0;max-width:620px;border-collapse:collapse;font:400 15px/1.5 'Noto Sans',sans-serif}
html body .cn-tbl th{text-align:left;font-weight:500;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-blue);padding:0 16px 10px 0;border-bottom:1px solid var(--cloud-grey)}
html body .cn-tbl td{padding:12px 16px 12px 0;border-bottom:1px solid var(--cloud-grey);color:var(--ink-deep)}
html body .cn-tbl td:first-child{width:38%;font-weight:500}
html body .cn-tbl3 td:first-child{width:28%}
html body .cn-step .lengths{margin-top:26px}
html body .cn-help{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 40px;padding:clamp(28px,3.4vw,44px);background:var(--mist-white,#F3F1EC);margin-top:8px}
html body .cn-hh{margin:0;font:400 clamp(24px,2.2vw,30px)/1.15 var(--display,'Belleza'),serif;text-transform:none;color:var(--ink-deep)}
html body .cn-help .cn-p{margin-top:8px;max-width:52ch}
html body .cn-ctas{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
@media(max-width:699px){html body .cn-step{grid-template-columns:minmax(0,1fr);gap:10px}html body .cn-types{grid-template-columns:minmax(0,1fr)}}
/* pearl sizes, drawn to scale */
html body .sz2{--mm:clamp(5px,.62vw,9px)}
html body .sz2-eb{margin:0 0 10px;font:500 12px/1.4 'Noto Sans',sans-serif;letter-spacing:2.4px;text-transform:uppercase;color:var(--slate-blue)}
html body .sz2-h{margin:0;font:400 clamp(36px,3.6vw,52px)/1.1 var(--display,'Belleza'),serif;text-transform:none;letter-spacing:.2px;color:var(--ink-deep)}
html body .sz2-lede{margin:14px 0 0;max-width:62ch;font:400 17px/1.65 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .sz2-row{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;margin-top:clamp(32px,4vw,52px);padding-bottom:18px;border-bottom:1px solid var(--cloud-grey);overflow-x:auto}
html body .sz2-p{display:flex;flex-direction:column;align-items:center;gap:10px;flex:none}
html body .sz2-ball{display:block;width:calc(var(--d)*var(--mm));height:calc(var(--d)*var(--mm));border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0 8%,#F6F2EE 18%,#E6DED8 48%,#CFC5BE 72%,#B9AEA7 100%);box-shadow:inset -3px -4px 8px rgba(120,100,95,.18),0 6px 8px -5px rgba(40,30,25,.35)}
html body .sz2-l{font:400 12px/1 'Noto Sans',sans-serif;color:var(--ink-deep);white-space:nowrap}
html body .sz2-bars{margin-top:26px;display:grid;gap:16px}
html body .sz2-bar{display:grid;grid-template-columns:clamp(100px,13vw,180px) minmax(0,1fr);align-items:center}
html body .sz2-bn{font:500 12.5px/1 'Noto Sans',sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:var(--ed-m,#6F6861)}
html body .sz2-track{position:relative;height:10px}
html body .sz2-track i{position:absolute;top:0;height:10px;border-radius:6px}
html body .sz2-all{opacity:.3}
html body .sz2-ak{background:#1F5B4C}html body .sz2-fw{background:#2E6F5E}html body .sz2-ta{background:#3E5A66}html body .sz2-ss{background:#6E6553}
html body .sz2-key{margin:6px 0 0;font:400 11.5px/1.5 'Noto Sans',sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--ed-m,#6F6861)}
html body .sz2-q{margin:clamp(32px,4vw,48px) 0 0;max-width:58ch;padding:4px 0 4px 18px;border-left:2px solid var(--slate-blue);font:400 17px/1.6 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .sz2-tbl{margin:clamp(32px,4vw,48px) 0 0}
html body .sz2-tbl>div{display:grid;grid-template-columns:clamp(100px,13vw,180px) clamp(140px,15vw,220px) minmax(0,1fr);gap:16px;align-items:baseline;padding:22px 0;border-top:1px solid var(--cloud-grey)}
html body .sz2-tbl dt{font:400 13px/1.4 'Noto Sans',sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:var(--ed-m,#6F6861)}
html body .sz2-tbl dd{margin:0;font:400 16px/1.6 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .sz2-tbl .sz2-mm{font:400 clamp(22px,2vw,28px)/1.2 var(--display,'Belleza'),serif}
html body .sz2-cta{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}
@media(max-width:699px){html body .sz2{--mm:5px}html body .sz2-row{justify-content:flex-start;gap:12px}html body .sz2-tbl>div{grid-template-columns:minmax(0,1fr);gap:4px}}
html body .sz2{--mm:clamp(4px,calc((100vw - 240px)/168),8px)}@media(max-width:699px){html body .sz2{--mm:5px}}

/* search: one quiet, centred line; nothing below it until something is typed */
.search-panel{padding-block:22px 26px}
.search-panel .wrap{max-width:860px}
.search-row{position:relative;gap:0}
.search-row svg.lead,.search-hint{display:none}
.search-row input{height:46px;font-size:17px;letter-spacing:.6px;padding:0 44px 0 2px;border-bottom:1px solid var(--ink-blue)}
.search-row input:focus{border-bottom-width:1px}
.search-row input::placeholder{color:var(--ink-blue);opacity:.62}
.search-row input::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.search-row #search-close{position:absolute;right:-6px;top:50%;transform:translateY(-50%)}
.search-results{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:22px}
.search-results:empty{display:none}
/* on phones the panel can be taller than the screen: fitSearch() caps its height, and it scrolls on its own without dragging the page */
.search-panel{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* sit above the shop's sticky sort bar (also z-index 40) while search is open */
.site:has(.search-panel:not([hidden])){z-index:45}
.sr-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
/* AI search (renderSearch in js/storefront.js): what was understood, then the picks with a reason under each */
.sr-ai-head,.sr-sep{grid-column:1/-1}
.sr-ai-head{display:grid;gap:4px}
.sr-ai-head .eyebrow,.sr-sep{margin:0}
.sr-sep{margin-top:10px}
.sr-ai{align-items:start}
.sr-why{display:block;margin-top:3px;font-size:13px;line-height:18px;color:var(--ink-blue);opacity:.78}
.sr-thinking{animation:sr-pulse 1.4s ease-in-out infinite}
@keyframes sr-pulse{50%{opacity:.45}}
@media (prefers-reduced-motion:reduce){.sr-thinking{animation:none}}

/* pearl guide: short tips as expandable rows (care, sustainability); .gd-tips, not .gd-acc (the topic accordion) */
.gd-tips{align-self:start}
.gd-tips summary{font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:1.2px;text-transform:uppercase}
.gd-tips .acc-body{color:var(--ink-blue)}

/* home: client reviews as a row of cards on a cream band */
html body .rv5{background:var(--pearl-white);border-radius:4px;padding:clamp(40px,5vw,72px) clamp(16px,3.4vw,56px) clamp(36px,4.4vw,64px);text-align:center}
html body .rv5-eb{margin:0;font:400 13px/1.4 var(--label);letter-spacing:2px;text-transform:uppercase;color:var(--ink-blue);opacity:.75}
html body .rv5-h{margin:14px 0 0;font:400 clamp(26px,2.6vw,34px)/1.2 var(--display);text-transform:none;letter-spacing:.2px;color:var(--ink-deep)}
html body .rv5-sum{display:inline-flex;align-items:center;gap:8px;margin:12px 0 0;font-size:14px;color:var(--ink-blue)}
html body .rv5-sum b{font-weight:500}
html body .rv5 .hv-stars svg{fill:var(--champagne-brown)}
html body .rv5-row{list-style:none;margin:var(--sp-title,28px) 0 0;padding:0 0 4px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--sp-grid,16px))/3);gap:var(--sp-grid,16px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;text-align:left}
html body .rv5-row::-webkit-scrollbar{display:none}
html body .rv5-card{scroll-snap-align:start;display:flex;flex-direction:column;gap:18px;min-height:240px;background:#fff;border-radius:4px;padding:clamp(24px,2.8vw,40px)}
html body .rv5-stars svg{width:20px;height:20px}
html body .rv5-q{margin:0;font-size:15px;line-height:1.6;color:var(--ink-blue)}
html body .rv5-by{margin:auto 0 0;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:14px}
html body .rv5-by b{font-weight:500}
html body .rv5-by span{color:var(--ink-blue);opacity:.7;font-size:13px}
html body .rv5-all{display:inline-block;margin-top:clamp(18px,2vw,24px)}
@media (max-width:899px){html body .rv5-row{grid-auto-columns:calc((100% - var(--sp-grid,16px))/1.6)}}
@media (max-width:599px){html body .rv5-row{grid-auto-columns:86%}}
html body .hv-pf:has(> .rv5){display:block;box-shadow:none}
/* pearl guide: topics as an accordion */
html body .gd-acc-head{padding:clamp(12px,1.6vw,24px) 0 clamp(24px,3vw,40px)}
html body .gd-acc-head .gd-eb{margin:0 0 10px}
html body .gd-acc-head .hl{text-transform:none;letter-spacing:.2px}
html body .gd-acc{border-top:1px solid var(--cloud-grey);margin-bottom:clamp(56px,7vw,96px)}
html body .gd-ac{border-bottom:1px solid var(--cloud-grey)}
html body .gd-ac>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:clamp(20px,2vw,28px) 0;cursor:pointer;font:400 clamp(14px,1.1vw,16px)/1.3 var(--display,'Belleza'),serif;letter-spacing:2.6px;text-transform:uppercase;color:var(--ink-deep)}
html body .gd-ac>summary::-webkit-details-marker{display:none}
html body .gd-ac>summary i{position:relative;width:18px;height:18px;flex:none}
html body .gd-ac>summary i::before,html body .gd-ac>summary i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.2px;background:currentColor;transform:translateY(-50%)}
html body .gd-ac>summary i::after{transform:translateY(-50%) rotate(90deg);transition:transform .25s}
html body .gd-ac[open]>summary i::after{transform:translateY(-50%) rotate(0)}
html body .gd-ac>summary:hover{color:var(--slate-blue)}
html body .gd-ac-b{padding:4px 0 clamp(36px,4vw,56px)}
html body .gd-ac-b>section:first-child{padding-top:0!important;margin-top:0!important}

/* pearl guide: full-width image band */
html body .gd-band{position:relative;width:100%;height:clamp(320px,38vw,560px);overflow:hidden;background:#C9B79F}
html body .gd-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
html body .gd-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,28,26,.5),rgba(30,28,26,.15) 55%,rgba(30,28,26,0))}
html body .gd-band-copy{position:absolute;left:max(var(--gutter,24px),calc((100vw - var(--maxw,1300px))/2));bottom:clamp(28px,4vw,64px);max-width:min(560px,80%);z-index:1;color:#fff}
html body .gd-band .gd-eb{margin:0 0 10px;color:rgba(255,255,255,.88)}
html body .gd-band-h{margin:0;font:400 clamp(36px,4.4vw,64px)/1.05 var(--display,'Belleza'),serif;letter-spacing:.3px;text-transform:none;color:#fff}
html body .gd-band-p{margin:12px 0 0;font:400 clamp(15px,1.3vw,18px)/1.5 'Noto Sans',sans-serif;color:rgba(255,255,255,.92)}
html body .gd-band+.gd-acc-page .crumbs{margin-bottom:clamp(16px,2vw,28px)}
html body .gd-band-copy{left:0!important;right:0;margin:0 auto;max-width:none!important}
html body .gd-band-copy>div{max-width:min(560px,85%)}
html body .gd-band .gd-band-copy{position:absolute;bottom:clamp(28px,4vw,64px);width:100%;box-sizing:border-box}
html body .gd-band .gd-band-copy{max-width:var(--maxw)!important;left:0;right:0}
/* guide: grading & care */
html body .gq-lede{max-width:70ch;font-size:17px;margin:0 0 clamp(20px,2.4vw,36px)}
html body .gq-f{max-width:none}
html body .gq-note{margin-top:20px;max-width:70ch;font-size:15px}
html body .gc-never{margin-top:24px;max-width:620px;padding:22px 26px;border:1px solid color-mix(in srgb,var(--ink-blue) 18%,transparent);border-radius:0}
html body .gc-never-h{margin:0 0 10px;font:500 12px/1.4 'Noto Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--ink-deep)}
html body .gc-never ul,html body .gc-list,html body .gc-four{margin:0;padding-left:18px;font:400 15.5px/1.65 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .gc-list{margin-top:6px}
html body .gc-four{margin-top:10px;color:var(--ink-deep);font-size:16px}
html body .gq .grade-table table{font:400 14.5px/1.5 'Noto Sans',sans-serif}
html body .gc-never ul,html body .gc-list,html body .gc-four{list-style:disc}
/* custom: start your piece, text left / photo right */
html body .cw-start2{background:#fff;padding:clamp(56px,7vw,110px) 0}
html body .cw2-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
html body .cw2-eb{margin:0 0 18px;font:400 12px/1.4 'Noto Sans',sans-serif;letter-spacing:2.8px;text-transform:uppercase;color:var(--slate-blue)}
html body .cw2-h{margin:0;font:400 clamp(38px,4.6vw,66px)/1.08 var(--display,'Belleza'),serif;letter-spacing:.2px;text-transform:none;color:var(--ink-deep);max-width:12ch}
html body .cw2-p{margin:clamp(20px,2.4vw,32px) 0 0;max-width:52ch;font:400 clamp(16px,1.25vw,18px)/1.65 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .cw2-stats{display:flex;flex-wrap:wrap;margin:clamp(28px,3vw,44px) 0 0}
html body .cw2-stats>div{padding:0 clamp(18px,2.2vw,36px) 0 0;margin-right:clamp(18px,2.2vw,36px);border-right:1px solid var(--cloud-grey)}
html body .cw2-stats>div:last-child{border-right:0;margin-right:0;padding-right:0}
html body .cw2-stats dt{font:400 clamp(22px,2vw,30px)/1.1 var(--display,'Belleza'),serif;color:var(--ink-deep)}
html body .cw2-stats dd{margin:8px 0 0;font:400 11.5px/1.4 'Noto Sans',sans-serif;letter-spacing:1.8px;text-transform:uppercase;color:var(--ed-m,#6F6861)}
html body .cw2-ctas{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:clamp(28px,3vw,44px)}
html body .cw2-img{margin:0;aspect-ratio:4/5;overflow:hidden}
html body .cw2-img img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;display:block}
@media(max-width:899px){html body .cw2-in{grid-template-columns:minmax(0,1fr)}html body .cw2-img{aspect-ratio:4/3;order:-1}html body .cw2-h{max-width:none}}
html body .cw2-h{max-width:16ch!important}
/* custom page: consultation layout */
html body .cw-top{padding-top:clamp(40px,5vw,80px)}
html body .cw-top .cw2-h{font-size:clamp(34px,3.9vw,58px);max-width:15ch!important}
html body .cw-what{background:var(--mist-white,#F3F1EC);padding:clamp(56px,7vw,100px) 0}
html body .cw-what-head{max-width:640px;margin-bottom:clamp(28px,3.5vw,52px)}
html body .cw-what .cw2-eb{color:var(--ink)} /* deep sea is 3.5:1 on salt mint; ink keeps small caps at AA */
html body .cw-what-h{margin:0;font:400 clamp(28px,3vw,42px)/1.12 var(--display,'Belleza'),serif;letter-spacing:.2px;text-transform:none;color:var(--ink-deep)}
html body .cw-what-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,36px) clamp(24px,3vw,48px)}
html body .cw-what-c{padding-top:18px;border-top:1px solid color-mix(in srgb,var(--ink-blue) 18%,transparent)}
html body .cw-what-c h3{margin:0 0 8px;font:500 16px/1.4 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .cw-what-c p{margin:0;font:400 15px/1.65 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .cw-who,html body .cw-holly{background:#fff;padding:clamp(56px,7vw,100px) 0}
html body .cw-who-in,html body .cw-holly-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
html body .cw-who-img,html body .cw-holly-img{margin:0;aspect-ratio:4/3;overflow:hidden}
html body .cw-who-img img,html body .cw-holly-img img{width:100%;height:100%;object-fit:cover;display:block}
html body .cw-who-list{margin:clamp(20px,2.4vw,32px) 0 0;padding:0;list-style:none;display:grid;gap:0}
html body .cw-who-list li{padding:14px 0;border-top:1px solid var(--cloud-grey);font:400 16px/1.5 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .cw-who-list li:last-child{border-bottom:1px solid var(--cloud-grey)}
html body .cw-holly .cw2-p{margin-top:16px}
html body .cw-holly .cta-link{display:inline-block;margin-top:22px}
@media(max-width:899px){html body .cw-what-grid{grid-template-columns:minmax(0,1fr)}html body .cw-who-in,html body .cw-holly-in{grid-template-columns:minmax(0,1fr)}html body .cw-holly-img{order:-1}}
/* gallery: lookbook spreads */
html body .lb-book{--lb-tan:#E6D9CC;padding:clamp(40px,5vw,80px) 0 clamp(64px,8vw,120px)}
html body .lb-spread{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:var(--maxw);margin:0 auto clamp(56px,7vw,110px);padding-inline:var(--gutter)}
html body .lb-spread::before{content:"";position:absolute;top:clamp(28px,4vw,56px);bottom:clamp(28px,4vw,56px);left:0;width:46%;background:var(--lb-tan);z-index:0}
html body .lb-spread.flip::before{left:auto;right:0}
html body .lb-spread>*{position:relative;z-index:1}
html body .lb-big{position:relative;aspect-ratio:4/5;background:#EEE9E2}
html body .lb-big .gal-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
html body .lb-big img{width:100%;height:100%;object-fit:cover;display:block}
html body .lb-panel{position:absolute;left:clamp(16px,2.6vw,40px);bottom:clamp(16px,2.6vw,40px);max-width:min(400px,78%);padding:clamp(18px,2vw,30px) clamp(18px,2.2vw,32px);background:rgba(250,248,244,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
html body .lb-num{margin:0 0 10px;font:400 11px/1.4 'Noto Sans',sans-serif;letter-spacing:2.6px;text-transform:uppercase;color:var(--slate-blue)}
html body .lb-h{margin:0;font:400 clamp(24px,2.4vw,34px)/1.12 var(--display,'Belleza'),serif;letter-spacing:.2px;text-transform:none;color:var(--ink-deep)}
html body .lb-p{margin:12px 0 0;font:400 14.5px/1.6 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
html body .lb-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,36px) clamp(18px,2.4vw,36px);align-content:center;padding:clamp(24px,3vw,48px) 0 clamp(24px,3vw,48px) clamp(24px,3.4vw,56px)}
html body .lb-spread.flip .lb-tiles{order:-1;padding:clamp(24px,3vw,48px) clamp(24px,3.4vw,56px) clamp(24px,3vw,48px) 0}
html body .lb-tile{margin:0}
html body .lb-tile .gal-open{display:block;width:100%;aspect-ratio:1/1;padding:0;border:0;background:#F1EEE9;cursor:zoom-in;overflow:hidden}
html body .lb-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
html body .lb-tile:hover img{transform:scale(1.03)}
html body .lb-tile.prod .gal-open{background:#fff}
html body .lb-tile.prod img{object-fit:contain;padding:6%;box-sizing:border-box}
html body .lb-tile figcaption{margin-top:10px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--ink-blue) 16%,transparent);display:flex;flex-direction:column;gap:2px}
html body .lb-tile figcaption a,html body .lb-tile figcaption span{font:400 13.5px/1.4 'Noto Sans',sans-serif;color:var(--ink-deep);text-decoration:none}
html body .lb-tile figcaption a:hover{text-decoration:underline;text-underline-offset:3px}
html body .lb-tile figcaption small{font:400 12px/1.4 'Noto Sans',sans-serif;color:var(--ed-m,#6F6861)}
@media(max-width:899px){html body .lb-spread{grid-template-columns:minmax(0,1fr);margin-bottom:clamp(40px,8vw,64px)}html body .lb-spread::before{width:100%;left:0;right:0;top:40%;bottom:0}html body .lb-tiles,html body .lb-spread.flip .lb-tiles{order:0;padding:20px 0 0}html body .lb-big{aspect-ratio:4/5}html body .lb-panel{max-width:none;left:12px;right:12px;bottom:12px}}
html body .lb-spread::before{left:auto;right:0;width:52%}
html body .lb-spread.flip::before{right:auto;left:0}
/* reviews: scrollable row with a peeking card and nav */
html body .rv5-wrap{position:relative}
html body .rv5-row{grid-auto-columns:calc((100% - 3 * var(--sp-grid,16px))/3.35)!important;scroll-snap-type:x mandatory;scroll-padding-inline:0}
@media (max-width:899px){html body .rv5-row{grid-auto-columns:calc((100% - var(--sp-grid,16px))/1.5)!important}}
@media (max-width:599px){html body .rv5-row{grid-auto-columns:82%!important}}
html body .rv5-nav{position:absolute;top:50%;z-index:2;width:44px;height:44px;margin-top:-22px;border:1px solid color-mix(in srgb,var(--ink-blue) 18%,transparent);border-radius:50%;background:#fff;color:var(--ink-deep);font:400 26px/1 'Belleza',serif;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 14px rgba(31,35,37,.08)}
html body .rv5-nav.prev{left:-22px}html body .rv5-nav.next{right:-22px}
html body .rv5-nav:hover{border-color:var(--ink-deep)}
@media (max-width:899px){html body .rv5-nav{display:none}}
/* custom page: headings in the site's own hero style */
html body .cw2-h1{margin:0;font-size:clamp(34px,4.2vw,56px);line-height:1.05;max-width:none}
html body .cw2-lede{margin:clamp(16px,2vw,26px) 0 0;font:400 clamp(18px,1.5vw,22px)/1.45 var(--display,'Belleza'),serif;letter-spacing:.4px;color:var(--ink-deep);max-width:30ch}
html body .cw-top .cw2-p{margin-top:16px}
html body .cw-h2{margin:0;font-size:clamp(26px,3vw,38px)}
/* consultation: three purposes, two ways */
html body .cw-three{grid-template-columns:repeat(3,minmax(0,1fr))}
html body .cw-what-c .cw-n{margin:0 0 10px;font:400 clamp(26px,2.6vw,34px)/1 var(--display,'Belleza'),serif;color:var(--slate-blue)}
html body .cw-what-c h3{font-size:17px}
html body .cw-ways{margin:clamp(20px,2.4vw,32px) 0 0}
html body .cw-ways>div{padding:18px 0;border-top:1px solid var(--cloud-grey)}
html body .cw-ways>div:last-child{border-bottom:1px solid var(--cloud-grey)}
html body .cw-ways dt{font:400 clamp(20px,1.8vw,24px)/1.2 var(--display,'Belleza'),serif;color:var(--ink-deep)}
html body .cw-ways dd{margin:8px 0 0;font:400 15px/1.65 'Noto Sans',sans-serif;color:var(--ed-b,#57524D)}
@media(max-width:899px){html body .cw-three{grid-template-columns:minmax(0,1fr)}}
html body .hv-cat,html body .hv-cat:hover,html body .hv-cat:hover .hv-cat-l,html body .hv-cat:focus-visible .hv-cat-l{text-decoration:none!important}
/* boutique tiles: underline draws in left to right on hover */
html body .hv-bq .hv-lk{position:relative;border-bottom:0!important;padding-bottom:4px}
html body .hv-bq .hv-lk::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
html body .hv-bq a:hover .hv-lk::after,html body .hv-bq a:focus-visible .hv-lk::after,html body .hv-bq .hv-lk:hover::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){html body .hv-bq .hv-lk::after{transition:none}}
/* you may also like: three wide white cards, square art, text inside the card */
html body .p2-rel{background:var(--mist-white,#F3F1EC);padding-top:clamp(40px,5vw,72px);margin-top:clamp(40px,5vw,72px)}
html body .p2-rel .p2-rel-h{text-align:left}
html body .p2-rel .grid.four{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(16px,2vw,28px)!important}
html body .p2-rel .card{background:#fff;padding:0}
html body .p2-rel .card-art{aspect-ratio:1;background:var(--product-ground);outline:0}
html body .p2-rel .card-body{padding:clamp(18px,1.8vw,26px) clamp(18px,1.8vw,26px) clamp(22px,2vw,30px)}
@media(max-width:899px){html body .p2-rel .grid.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:599px){html body .p2-rel .grid.four{grid-template-columns:minmax(0,1fr)!important}}
html body .p2-rel{margin-inline:calc(50% - 50vw);padding-inline:max(var(--gutter,24px),calc(50vw - 50%))}
/* category tiles: underline draws in left to right on hover */
html body .hv-cat-l{padding-bottom:5px}
html body .hv-cat-l::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
html body .hv-cat:hover .hv-cat-l::after,html body .hv-cat:focus-visible .hv-cat-l::after{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){html body .hv-cat-l::after{transition:none}}
/* ===== home page only: link underline draws in left to right on hover ===== */
:root{--ul-ease:.35s cubic-bezier(.2,.7,.2,1)}
html[data-route="home"] body .cta-link,html[data-route="home"] body .hv-more,html[data-route="home"] body .hv-lk,html[data-route="home"] body .hv-rv-next,html[data-route="home"] body .hv-rv-all,html[data-route="home"] body .kf-u{position:relative;text-decoration:none!important;border-bottom:0!important}
html[data-route="home"] body .cta-link::after,html[data-route="home"] body .hv-more::after,html[data-route="home"] body .hv-lk::after,html[data-route="home"] body .hv-rv-next::after,html[data-route="home"] body .hv-rv-all::after,html[data-route="home"] body .kf-u::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--ul-ease);pointer-events:none}
html[data-route="home"] body .cta-link:hover::after,html[data-route="home"] body .hv-more:hover::after,html[data-route="home"] body .hv-lk:hover::after,html[data-route="home"] body a:hover>.hv-lk::after,html[data-route="home"] body .hv-rv-next:hover::after,html[data-route="home"] body .hv-rv-all:hover::after,html[data-route="home"] body .kf-u:hover::after,html[data-route="home"] body a:hover>.kf-u::after,html[data-route="home"] body .tile:hover .cta-link::after,html[data-route="home"] body .hv-bq a:hover .hv-lk::after,html[data-route="home"] body .hv-kf:hover .kf-u::after{transform:scaleX(1)}
html[data-route="home"] body .cta-link{padding-bottom:2px}
@media(prefers-reduced-motion:reduce){html[data-route="home"] body [class]::after{transition:none!important}}
html body .cw-hours{margin-top:14px;gap:8px 28px}
html body .cw-hours dd{font-size:14px}
html body .cw-who{padding-bottom:clamp(64px,8vw,120px)}
html body .cw-ways .cw-hours{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin:16px 0 0}
html body .cw-ways .cw-hours>div:first-child{grid-column:1/-1}
html body .cw-ways .cw-hours dt{font:400 11px/1.4 'Noto Sans',sans-serif!important;letter-spacing:1.8px;text-transform:uppercase;color:var(--slate-blue)!important}
html body .cw-ways .cw-hours dd{margin:4px 0 0;font:400 14.5px/1.5 'Noto Sans',sans-serif;color:var(--ink-deep)}
@media(max-width:599px){html body .cw-ways .cw-hours{grid-template-columns:1fr}}
html body .hv-head:has(.hv-more){flex-direction:column;align-items:flex-start;gap:12px}
/* consultation: gallery details as a compact spec table */
html body .cw-spec{margin:18px 0 4px;border-collapse:collapse;width:100%;min-width:0;max-width:520px;font:400 15px/1.55 'Noto Sans',sans-serif}
html body .cw-spec th{width:88px;padding:10px 16px 10px 0;text-align:left;vertical-align:top;font:400 12px/1.6 'Noto Sans',sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-blue);border-top:1px solid var(--cloud-grey)}
html body .cw-spec td{padding:10px 0;vertical-align:top;color:var(--ink-deep);border-top:1px solid var(--cloud-grey)}
html body .cw-spec a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
html body .gd-band-p{max-width:46ch}
html body .cw-top .cw2-stats{flex-wrap:nowrap}
html body .cw-top .cw2-stats>div{white-space:nowrap}
@media(max-width:599px){html body .cw-top .cw2-stats{flex-wrap:wrap;gap:16px 0}}
/* about: visit the gallery as a two-column block */
html body .au-visit2{padding:clamp(56px,7vw,100px) 0 clamp(64px,8vw,120px)}
html body .au-visit2-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
html body .au-visit2-copy .hl{margin:0 0 6px;text-transform:none;letter-spacing:.2px;font-size:clamp(28px,3vw,42px)}
html body .au-visit2-copy .cw-spec{margin-top:22px}
html body .au-visit2-copy .cw2-ctas{margin-top:clamp(24px,2.6vw,36px)}
html body .au-visit2-img{margin:0;aspect-ratio:4/3;overflow:hidden}
html body .au-visit2-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:899px){html body .au-visit2-in{grid-template-columns:minmax(0,1fr)}html body .au-visit2-img{order:-1}}
/* About: redesign (hero + stats, designer, zigzag rows, quote) */
html body .ab-hero{padding:clamp(56px,7vw,104px) 0 clamp(40px,5vw,72px);text-align:center}
html body .ab-hero .eyebrow{margin:0 0 18px;color:var(--ink-mute,#6b6560)}
html body .ab-h1{margin:0 auto;max-width:24ch;font-size:clamp(30px,3.8vw,52px);letter-spacing:1.5px}
html body .ab-lede{margin:22px auto 0;max-width:52ch;text-wrap:balance}
html body .ab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:clamp(44px,5vw,72px) auto 0;max-width:1040px;border-top:1px solid rgba(28,26,25,.14);border-bottom:1px solid rgba(28,26,25,.14)}
html body .ab-stats>div{padding:clamp(22px,2.6vw,34px) 12px;border-left:1px solid rgba(28,26,25,.14)}
html body .ab-stats>div:first-child{border-left:0}
html body .ab-stats dt{font-family:var(--display);font-size:clamp(30px,3.4vw,46px);line-height:1;letter-spacing:.5px}
html body .ab-stats dd{margin:10px 0 0;font-size:13px;line-height:18px;letter-spacing:.3px;color:var(--ink-mute,#6b6560)}
@media(max-width:699px){html body .ab-stats{grid-template-columns:repeat(2,minmax(0,1fr))}html body .ab-stats>div:nth-child(3){border-left:0}html body .ab-stats>div:nth-child(n+3){border-top:1px solid rgba(28,26,25,.14)}}

html body .ab-who{padding:clamp(40px,5vw,80px) 0 clamp(56px,7vw,104px)}
html body .ab-who-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:center}
html body .ab-who-img{margin:0;aspect-ratio:4/5;overflow:hidden;background:#2a2f31}
html body .ab-who-img img{width:100%;height:100%;object-fit:cover;object-position:78% center;display:block}
html body .ab-who-copy .eyebrow{margin:0 0 10px;color:var(--ink-mute,#6b6560)}
html body .ab-sig{font-family:var(--script);font-weight:400;font-size:clamp(64px,7vw,110px);line-height:1;margin:0;transform:rotate(-6deg);transform-origin:left bottom;display:inline-block;padding-right:.15em;white-space:nowrap}
html body .ab-role{margin:14px 0 18px;font-family:var(--label);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-mute,#6b6560)}
html body .ab-who-copy .body{max-width:48ch}
html body .ab-who-copy .cw2-ctas{margin-top:clamp(24px,2.6vw,36px)}
@media(max-width:899px){html body .ab-who-in{grid-template-columns:minmax(0,1fr)}html body .ab-sig{font-size:clamp(52px,15vw,76px)}}

html body .ab-rows{display:grid;gap:0;margin-top:clamp(40px,5vw,80px)}
html body .ab-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
html body .ab-row-img{margin:0;aspect-ratio:3/2;overflow:hidden;background:#e9e4dc}
html body .ab-row-img img{width:100%;height:100%;object-fit:cover;display:block}
html body .ab-row-copy{padding:clamp(32px,5vw,72px) clamp(24px,7vw,120px)}
html body .ab-row.flip .ab-row-img{order:2}
html body .ab-num{margin:0 0 14px;font-family:var(--label);font-size:13px;letter-spacing:2px;color:var(--ink-mute,#6b6560)}
html body .ab-row-copy .hl{margin:0 0 16px;text-transform:none;letter-spacing:.2px;font-size:clamp(28px,3vw,42px)}
html body .ab-row-copy .body{max-width:44ch;margin:0}
@media(max-width:899px){html body .ab-row{grid-template-columns:minmax(0,1fr)}html body .ab-row.flip .ab-row-img{order:0}html body .ab-row-copy{padding:28px var(--gutter) 44px}}

html body .ab-quote{padding:clamp(56px,7vw,104px) 0;background:#EFE9DF}
html body .ab-quote-in{text-align:center;max-width:900px}
html body .ab-quote-stars{display:inline-flex;gap:4px;margin-bottom:22px}
html body .ab-quote-stars svg{width:18px;height:18px}
html body .ab-quote-q{margin:0;font-family:var(--display);font-size:clamp(22px,2.6vw,34px);line-height:1.35;letter-spacing:.2px;text-wrap:balance}
html body .ab-quote-by{margin:22px 0 0;font-size:14px;letter-spacing:.3px}
html body .ab-quote-by b{font-weight:600;margin-right:8px}
html body .ab-quote-by span{color:var(--ink-mute,#6b6560)}
html body .ab-quote-in .cta-link{display:inline-block;margin-top:18px}
/* Rotating single review (home + about) */
html body .qr{display:grid;max-width:760px;margin:0 auto}
html body .qr-item{grid-area:1/1;margin:0;opacity:0;transform:translateY(6px);transition:opacity .9s ease,transform .9s ease;pointer-events:none}
html body .qr-item.on{opacity:1;transform:none;pointer-events:auto}
html body .ab-quote-q{margin:0}
html body .qr .ab-quote-by{margin:22px 0 0}
@media(prefers-reduced-motion:reduce){html body .qr-item{transition:none}}
html body .hv-quote{margin-top:var(--sp-l)}
/* Press: in print tearsheets */
html body .pr-print{list-style:none;margin:clamp(20px,2.4vw,32px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px) clamp(16px,2vw,28px)}
html body .pr-print figure{margin:0}
html body .pr-print img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#EFE9DF}
html body .pr-print figcaption{margin-top:12px}
html body .pr-print figcaption b{display:block;font-weight:500;font-size:13px;line-height:20px;letter-spacing:1.8px;text-transform:uppercase;color:var(--ink-blue)}
html body .pr-print figcaption span{display:block;font-size:13px;line-height:20px;color:var(--slate-blue);margin-top:2px}
@media(max-width:699px){html body .pr-print{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- virtual try-on (Camweara, js/tryon.js): their button sits under "Add to bag", same width ---------- */
.pdp2 .cw-slot{max-width:300px;margin-top:12px}
/* js/tryon.js also passes these through Camweara's `styles` option; this backstop covers their own stylesheet, which
   targets the button by id, so the ids are repeated here to win on specificity */
.pdp2 .cw-slot :is(#tryonButton,#MB_tryonButton){display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;height:auto;margin:0;padding:0 20px;border:1px solid var(--ink-blue);border-radius:var(--r-pill);box-shadow:none;background:transparent;color:var(--ink-blue);font-family:var(--label);font-size:12px;font-weight:400;line-height:16px;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;transition:background-color .2s}
.pdp2 .cw-slot :is(#tryonButton,#MB_tryonButton):hover{background:var(--mist-white)}
.pdp2 .cw-slot :is(#tryonButton,#MB_tryonButton):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.pdp2 .cw-slot :is(#tryonButton,#MB_tryonButton) i:empty{display:none}
html body .pr3-cover-img{padding:0;position:relative;overflow:hidden}
html body .pr3-cover-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
html body .pr3-cover-img .pr3-cv-cap{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;background:linear-gradient(180deg,rgba(28,26,25,0),rgba(28,26,25,.72));color:#fff;display:flex;flex-direction:column}
html body .pr3-cover-img .pr3-cv-t{margin-top:0;font-size:clamp(16px,1.4vw,20px);color:#fff}
html body .pr3-cover-img .pr3-cv-d{margin-top:8px;color:rgba(255,255,255,.8)}
html body .pr-print{margin-top:clamp(24px,3vw,40px)}
html body .pr-print-a{display:block;color:inherit;text-decoration:none}
html body .pr-print-a:hover figcaption b{text-decoration:underline;text-underline-offset:4px}
html body .pr-print-a img{transition:opacity .25s}
html body .pr-print-a:hover img{opacity:.92}
html body .pr-print-d{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--slate-blue);margin-top:4px}

/* ================= blog post pages (copied from the old Shopify blogs) ================= */
.art{max-width:820px;padding-bottom:var(--s5)}
.art-head{margin-top:var(--s3);text-align:center}
.art-eb{font-size:13px;letter-spacing:1.2px;text-transform:uppercase;opacity:.8}
.art-eb a{color:inherit;text-decoration:none}
.art-eb a:hover{text-decoration:underline;text-underline-offset:3px}
.art-h1{margin-top:var(--s2);font-family:var(--display);font-weight:400;font-size:clamp(26px,3.6vw,40px);line-height:1.2;letter-spacing:.6px;color:var(--ink-blue);text-wrap:balance}
.art-tags{margin-top:var(--s1);font-size:13px;opacity:.7}
.art-cover{margin:clamp(24px,3vw,40px) auto 0}
.art-cover img{display:block;width:100%;height:auto;max-height:80vh;object-fit:contain}
.art-cover-flyer img{width:auto;max-width:100%;margin-inline:auto;box-shadow:0 1px 0 var(--soft-sand)}
.art-body{margin-top:clamp(24px,3vw,40px);font-size:16px;line-height:1.75;color:var(--ink-blue);overflow-wrap:anywhere}
.art-body>*+*{margin-top:1em}
.art-body h2,.art-body h3,.art-body h4{font-family:var(--display);font-weight:400;line-height:1.3;letter-spacing:.4px;margin-top:1.6em}
.art-body h2{font-size:26px}.art-body h3{font-size:21px}.art-body h4{font-size:18px}
.art-body ul,.art-body ol{padding-left:1.4em}
.art-body li+li{margin-top:.4em}
.art-body a{color:var(--slate-blue);text-underline-offset:3px}
.art-body img{display:block;max-width:100%;height:auto;margin:1.4em auto}
.art-body blockquote{border-left:2px solid var(--soft-sand);padding-left:var(--s2);font-style:italic}
.art-body table{border-collapse:collapse;width:100%;font-size:15px}
.art-body td,.art-body th{border:1px solid var(--soft-sand);padding:8px 10px;text-align:left;vertical-align:top}
/* a post or policy still on its way: the page loader's HZ monogram, filling with colour over and over (css: .pl-hz) */
/* Shopify admin's Preview of a post (js/storefront.js, PV): says so above the post */
.art-preview{margin:var(--s3) 0 0;padding:12px 16px;border:1px solid var(--soft-sand);background:var(--pearl-white);font-size:14px;line-height:22px;text-align:center}
.art-wait{display:grid;place-items:center;min-height:clamp(220px,32vh,360px);margin:0}
.art-wait .pl-hz{width:clamp(84px,10vw,116px)}
.art-wait .pl-hz i{animation:pl-fill 1.4s cubic-bezier(.35,.55,.4,1) infinite}
.art-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:clamp(40px,5vw,64px);padding-top:var(--s3);border-top:1px solid var(--soft-sand)}
.art-nb{display:flex;flex-direction:column;gap:4px;color:var(--ink-blue);text-decoration:none}
.art-nb+.art-nb,.art-nav span+.art-nb{text-align:right}
.art-nb-l{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;opacity:.82}
.art-nb-t{font-family:var(--display);font-size:17px;line-height:1.35}
.art-nb:hover .art-nb-t{text-decoration:underline;text-underline-offset:3px}
@media (max-width:599px){.art-nav{grid-template-columns:1fr}.art-nb+.art-nb,.art-nav span+.art-nb{text-align:left}}
html body .ab-quote-in .cta-link{font-size:15px;letter-spacing:2.4px;margin-top:28px;padding-bottom:6px}
/* Pearl guide accordion: the panel's own 56px bottom padding is enough; drop the section paddings stacked under it */
html body .gd-ac-b>section,html body .gd-ac-b .pt3-more{padding-bottom:0!important}
/* FAQ hero: on wide or zoomed-out screens the 640px cap cropped the ribbon; let it grow and keep the crop near the top */
html body .faq-hero{max-height:780px}
html body .faq-hero picture,html body .faq-hero img{object-position:62% 38%}
html body .strip-photo{max-width:none;background:none}
html body .strip-photo img{aspect-ratio:16/7;object-fit:cover;object-position:center 56%}
html body .sz2-fig{margin:clamp(20px,2.6vw,36px) 0 0;background:#F4F4F5}
html body .sz2-fig img{display:block;width:100%;height:auto}
html body .gd-card-art img{mix-blend-mode:normal}
/* Pearl guide steps (grading, care, choosing a necklace): larger reading sizes */
html body .cn-p,html body .gq-lede{font-size:18px;line-height:1.65}
html body .cn-types dt{font-size:18px}
html body .cn-types dd{font-size:17px;line-height:1.6}
html body .cn-tbl{font-size:16px}
html body .gc-never ul,html body .gc-list{font-size:17px}
html body .gc-four{font-size:17px}
html body .gq-note{font-size:16px}
/* Review card: white rounded card, stars left, Google mark right, left-aligned quote */
html body .ab-quote-in{max-width:760px}
html body .qr-card{background:#fff;border-radius:22px;padding:clamp(24px,3vw,36px) clamp(24px,3.4vw,44px) clamp(22px,2.8vw,32px);text-align:left;box-shadow:0 12px 40px -24px rgba(28,26,25,.35)}
html body .qr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
html body .qr-stars{display:inline-flex;gap:5px}
html body .qr-stars svg{width:22px;height:22px;fill:var(--rating)}
html body .qr-g{width:34px;height:34px}
html body .qr{max-width:none;margin:0}
html body .qr-q{margin:0;font:400 17px/1.65 'Noto Sans',sans-serif;color:var(--ink-deep,#1c1a19);text-wrap:pretty}
html body .qr-by{margin:18px 0 0;font:600 italic 16px/1.4 'Noto Sans',sans-serif;color:var(--ink-deep,#1c1a19)}
html body .ab-quote-in .cta-link{margin-top:24px}
html body .ab-quote-in{text-align:center}
@media(max-width:599px){html body .qr-card{border-radius:16px}html body .qr-q{font-size:16px}}
/* Category tiles: a row that shows 4 and scrolls to the 5th */
html body .hv-cats{--n:4;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--n) - 1)*var(--sp-grid))/var(--n));grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;-webkit-overflow-scrolling:touch}
html body .hv-cats::-webkit-scrollbar{display:none}
html body .hv-cats .hv-cat{scroll-snap-align:start}
@media(max-width:899px){html body .hv-cats{--n:3}}
@media(max-width:599px){html body .hv-cats{--n:2}}
/* phones: style tiles about 40% taller and wider than half the row, so the second tile peeks in by about 10% */
@media(max-width:599px){html body .hv-cats{grid-auto-columns:calc((100% - var(--sp-grid))/1.1)}html body .hv-cat-i{aspect-ratio:26/25}}
html body .qr-all{display:inline-flex;align-items:center;gap:10px;margin-top:26px;color:var(--ink-deep,#1c1a19);text-decoration:none;font:400 15px/1 'Noto Sans',sans-serif}
html body .qr-all b{font-weight:600;font-size:17px}
html body .qr-all span:last-child{color:var(--ed-b,#57524D)}
html body .qr-all:hover span:last-child{text-decoration:underline;text-underline-offset:4px}
html body .qr-all .qr-stars svg{width:18px;height:18px}
html body .hv-cats-wrap{position:relative}
html body .hv-quote{margin-bottom:var(--sp-l)}
html body .ct-info .ct-copy{position:static;left:auto;bottom:auto;display:block;gap:0;z-index:auto}
/* product photo frames: white behind the photo, so cut-out (transparent) images match the white-background ones */
html body .mprod-art,html body .card-art,html body .cts-art,html body .li-art,html body .hv-pc-img,html body .p2-rel .card-art{background:#fff}

/* AI concierge "Sage" (js/concierge.js): the orca button bottom right opens this chat panel.
   Web Style Guide ed. 2: square corners, white grounds, deep sea outlines, ink primary button, hover colour only. */
.cg{--cg-b:calc(20px + env(safe-area-inset-bottom,0px));--cg-r:calc(20px + env(safe-area-inset-right,0px));--cg-ease:cubic-bezier(.35,.55,.4,1)}
.cg-fab{position:fixed;right:var(--cg-r);bottom:var(--cg-b);z-index:55;display:inline-flex;align-items:center;border:0;background:none;padding:0;cursor:pointer}
.cg-fab:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.cg-panel{position:fixed;right:var(--cg-r);bottom:calc(var(--cg-b) + 76px);z-index:55;width:min(420px,calc(100vw - 32px));height:min(640px,calc(100vh - 150px));height:min(640px,calc(100dvh - 150px));display:flex;flex-direction:column;background:var(--shell-cream);color:var(--ink);border:1px solid var(--sea-green);border-radius:0;box-shadow:0 28px 60px -28px rgba(31,35,37,.35);overflow:hidden;animation:cg-in .3s var(--cg-ease)}
.cg-panel[hidden]{display:none}
@keyframes cg-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cg-head{display:flex;align-items:center;gap:14px;padding:20px 12px 18px 24px;background:var(--sea-green);color:var(--ink)}
.cg-mark{flex:none;width:40px;height:40px;background:var(--ink);-webkit-mask:url(../img/kit/hz-orca-logo.png) center/contain no-repeat;mask:url(../img/kit/hz-orca-logo.png) center/contain no-repeat}
.cg-id{flex:1;min-width:0}
.cg-h{margin:0;font-family:var(--display);font-weight:400;font-size:32px;line-height:36px;letter-spacing:.3px;color:var(--ink-strong)}
.cg-sub{margin:2px 0 0;font-size:12px;line-height:18px;color:var(--ink)}
.cg-x{flex:none;align-self:flex-start;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer;transition:background-color .2s}
.cg-x:hover{background:var(--salt-mint)}
.cg-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cg-log{position:relative;flex:1;overflow-y:auto;padding:24px 24px 12px;display:flex;flex-direction:column;gap:16px;overscroll-behavior:contain}
.cg-m{max-width:92%;font-size:14px;line-height:22px;overflow-wrap:anywhere}
.cg-m p{margin:0}.cg-m p+p,.cg-m p+ul,.cg-m ul+p{margin-top:8px}
.cg-m ul{margin:0;padding-left:18px}.cg-m li+li{margin-top:4px}
.cg-m b{font-weight:500}
.cg-m a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sea-green);text-decoration-thickness:2px;text-underline-offset:4px;transition:text-decoration-color .2s}
.cg-m a:hover{text-decoration-color:var(--deep-sea)}
.cg-assistant{align-self:flex-start}
.cg-user{align-self:flex-end;max-width:82%;background:var(--salt-mint);color:var(--ink);padding:10px 16px}
.cg-starters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.cg-starters .cg-eb{grid-column:1/-1}
.cg-eb{margin:0;font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;color:#6F6A64}
.cg-chip{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;min-height:84px;padding:14px 36px 14px 14px;border:0;border-top:2px solid var(--sea-green);border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:14px;line-height:22px;text-align:left;cursor:pointer;transition:background-color .2s,border-color .2s}
.cg-chip-t{font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;color:var(--deep-sea)}
.cg-chip-q{display:block}
.cg-chip svg{position:absolute;right:14px;bottom:14px;width:16px;height:16px;fill:none;stroke:var(--deep-sea);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.cg-chip:hover{background:var(--salt-mint);border-top-color:var(--deep-sea)}.cg-chip:hover svg{transform:translateX(2px)}
.cg-chip:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
/* pieces found by the AI search, shown under its answer: square photo on the product ground, name, spec, price */
.cg-picks{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.cg-m a.cg-pick{display:flex;gap:14px;align-items:flex-start;padding:10px;background:#fff;color:var(--ink);text-decoration:none;transition:background-color .2s}
.cg-m a.cg-pick:hover{background:var(--salt-mint)}
.cg-pick:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.cg-pick-img{flex:none;width:72px;height:72px;background:#F2F1ED;overflow:hidden}
.cg-pick-img img{display:block;width:100%;height:100%;object-fit:cover}
.cg-pick-txt{display:flex;flex-direction:column;min-width:0}
.cg-pick-n{font-family:var(--display);font-size:15px;line-height:21px;letter-spacing:.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cg-pick-s{font-size:12px;line-height:18px;color:#6F6A64}
.cg-pick-p{font-size:14px;line-height:22px;font-weight:500;color:#6D5849;font-variant-numeric:tabular-nums}
.cg-pick-r{margin-top:2px;font-size:12px;line-height:18px;color:var(--ink)}
.cg-m:has(.cg-picks){max-width:100%;width:100%}
.cg-dots{display:inline-flex;gap:6px;padding:8px 0}
.cg-dots i{width:6px;height:6px;border-radius:50%;background:var(--sea-glass);animation:cg-dot 1.2s infinite ease-in-out}
.cg-dots i:nth-child(2){animation-delay:.15s}.cg-dots i:nth-child(3){animation-delay:.3s}
@keyframes cg-dot{0%,80%,100%{opacity:.3}40%{opacity:1}}
.cg-form{padding:14px 24px 16px;border-top:1px solid var(--rule)}
.cg-field{display:flex;align-items:flex-end;gap:4px;padding:3px;border:1px solid var(--deep-sea);background:#fff}
.cg-field:focus-within{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.cg-field textarea{flex:1;min-width:0;resize:none;min-height:40px;max-height:120px;padding:9px 12px;border:0;border-radius:0;background:none;color:var(--ink);font:inherit;font-size:16px;line-height:22px}
.cg-field textarea:focus{outline:none}
.cg-field textarea::placeholder{color:#6F6A64;opacity:1}
.cg-send{flex:none;min-width:84px;height:40px;padding:0 20px;border:0;border-radius:0;background:var(--ink);color:var(--shell-cream);font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s}
.cg-send:hover{background:var(--sea-green);color:var(--ink)}
.cg-send:active{background:var(--sea-glass);color:var(--ink)}
.cg-send:disabled{opacity:.4;cursor:default;background:var(--ink);color:var(--shell-cream)}
.cg-foot{margin:10px 0 0;font-size:12px;line-height:18px;color:#6F6A64}
.cg-foot a{color:var(--ink);text-decoration:none;white-space:nowrap}
.cg-foot a:hover{text-decoration:underline;text-underline-offset:4px}
@media (max-width:599px){
  .cg-panel{inset:0;width:auto;height:auto;border:0;padding:0 0 env(safe-area-inset-bottom,0px)}
  .cg-head{padding:calc(14px + env(safe-area-inset-top,0px)) 8px 14px 16px}
  .cg-h{font-size:24px;line-height:30px}
  .cg-mark{width:36px;height:36px}
  .cg-log{padding:20px 16px 12px}
  .cg-form{padding:12px 16px 14px}
  .cg.on .cg-fab{display:none}
}
@media (prefers-reduced-motion:reduce){.cg-panel{animation:none}.cg-dots i{animation:none;opacity:.6}.cg-chip{transition:none}}
@media print{.cg{display:none}}
/* concierge button: the orca mark on its own, no circle. The mark is a mask, so the frosted glass (translucent ink
   with a backdrop blur) shows through its shape only; hover turns it solid ink strong. It turns once on click
   (.spin, set in js/concierge.js) */
html body .cg-fab{position:fixed;background:none;border:0;padding:0;min-height:0;width:auto;height:auto;border-radius:0;box-shadow:none;gap:0}
html body .cg-fab:hover{background:none}
html body .cg-fab .cg-orca{width:64px;height:64px;display:block;flex:none;background:rgba(48,53,56,.72);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);-webkit-mask:url(../img/kit/concierge-orca.png) center/contain no-repeat;mask:url(../img/kit/concierge-orca.png) center/contain no-repeat;transition:background-color .25s ease}
html body .cg-fab:hover .cg-orca,html body .cg-fab:focus-visible .cg-orca{background:var(--ink-strong)}
html body .cg-fab.spin .cg-orca{animation:cg-spin .6s cubic-bezier(.4,0,.2,1)}
@keyframes cg-spin{to{transform:rotate(360deg)}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){html body .cg-fab .cg-orca{background:rgba(48,53,56,.88)}}
@media(max-width:599px){html body .cg-fab .cg-orca{width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){html body .cg-fab.spin .cg-orca{animation:none}html body .cg-fab .cg-orca{transition:none}}
/* Words of love: horizontal row of review cards. Cards fit their text; the row stretches every card to the tallest one */
html body .wl{margin-top:var(--sp-l);margin-bottom:0}
html body .wl-head{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px 24px;text-align:left;margin-bottom:var(--sp-title)}
@media(max-width:599px){html body .wl-head{flex-direction:column;align-items:flex-start}}
html body .wl-head .hv-h2{margin:0}
html body .wl-head .qr-all{margin-top:0}
html body .wl-wrap{position:relative;padding:0 var(--gutter)}
html body .wl-row{list-style:none;margin:0;padding:0 0 6px;display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,22vw,340px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
html body .wl-row::-webkit-scrollbar{display:none}
html body .wl-card{position:relative;border-radius:0;overflow:hidden;scroll-snap-align:start;background:var(--ink-blue)}
html body .wl-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
html body .wl-rev .wl-bg{opacity:.28;filter:blur(2px) saturate(.8);transform:scale(1.06)}
html body .wl-rev::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,35,37,.25),rgba(31,35,37,.78))}
html body .wl-in{position:relative;z-index:1;height:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:24px;color:#fff}
html body .wl-stars{display:inline-flex;gap:4px;margin-bottom:12px}
html body .wl-stars svg{width:16px;height:16px;fill:var(--sea-glass)}
html body .wl-q{margin:0;font:400 17px/1.55 'Noto Sans',sans-serif;color:#fff;text-wrap:pretty}
html body .wl-by{margin:auto 0 0;padding-top:16px;font:400 14px/1.4 'Noto Sans',sans-serif}
html body .wl-by{display:flex;flex-wrap:wrap;gap:0 8px}
html body .wl-by b{font-weight:600;color:#fff}
html body .wl-by span::before{content:"·";content:"·" / "";margin-right:8px}
html body .wl-by span{color:rgba(255,255,255,.72)}
html body .wl-wrap .rv5-nav.prev{left:calc(var(--gutter) - 22px)}
html body .wl-wrap .rv5-nav.next{right:calc(var(--gutter) - 22px)}
@media(max-width:599px){html body .wl-row{grid-auto-columns:76vw}html body .wl-q{font-size:16px}html body .wl-in{padding:20px}}
/* laurel badges under the review row */
html body .wl-laurels{list-style:none;margin:clamp(36px,4vw,56px) auto 0;padding:0;display:flex;justify-content:center;gap:clamp(28px,5vw,72px);flex-wrap:wrap}
html body .laurel{display:inline-flex;align-items:center;gap:6px;color:var(--champagne-brown)}
html body .laurel .lf{width:34px;height:86px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;flex:none}
html body .laurel .lf.rt{transform:scaleX(-1)}
html body .laurel-t{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:120px;color:var(--ink-blue)}
html body .laurel-t b{font:400 18px/1.15 var(--display);letter-spacing:1px;text-transform:uppercase}
html body .laurel-t i{font:400 13px/1.4 'Noto Sans',sans-serif;font-style:normal;color:var(--ed-b,#57524D);margin-top:4px}
@media(max-width:599px){html body .wl-laurels{gap:18px}html body .laurel .lf{width:22px;height:70px}html body .laurel-t{min-width:96px}html body .laurel-t b{font-size:15px}}
html body .hv-cats-wrap .hv-arr,html body .wl-wrap .hv-arr{top:calc(50% - 20px)}
html body .wl-wrap .hv-prev{left:calc(var(--gutter) + 10px)}html body .wl-wrap .hv-next{right:calc(var(--gutter) + 10px)}
/* hero slide 3: portrait on the left, copy on the right in ink, no dark wash */
html body .hcs-2 .hcs-bg{object-position:22% center}
html body .hcs-2::before{background:none}
html body .hcs-2 .hcs-copy.hcs-right{left:auto;right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));top:50%;bottom:auto;transform:translateY(-50%);text-align:left;max-width:min(34vw,480px);color:var(--ink-deep)}
html body .hcs-2 .hcs-copy.hcs-right .hck,html body .hcs-2 .hcs-copy.hcs-right .hcs-h{color:var(--ink-deep)}
@media(max-width:899px){html body .hcs-2 .hcs-bg{object-position:30% center}html body .hcs-2::before{background:linear-gradient(0deg,rgba(240,238,234,.85) 0,rgba(240,238,234,0) 50%)}html body .hcs-2 .hcs-copy.hcs-right{left:var(--gutter);right:var(--gutter);top:auto;bottom:64px;transform:none;max-width:none}}
html body .hcs-2 .hcs-copy.hcs-right{max-width:min(44vw,600px);right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
html body .hcs-2 .hcs-copy.hcs-right .hcs-h{font-size:clamp(32px,3.9vw,56px)}
html body .hcs-2 .hcs-copy.hcs-right .nw{white-space:normal}
@media(max-width:899px){html body .hcs-2 .hcs-bg{object-position:38% 20%}html body .hcs-2::before{background:linear-gradient(0deg,rgba(240,238,234,.9) 0,rgba(240,238,234,.55) 38%,rgba(240,238,234,0) 62%)}}
@media(max-width:899px){html body .hcs-2 .hcs-bg{object-position:40% 0}html body .hcs-2 .hcs-copy.hcs-right .hcs-h{font-size:30px;line-height:1.08}html body .hcs-2 .hcs-copy.hcs-right .hck{font-size:11px}html body .hcs-2 .hcs-copy.hcs-right{bottom:56px}}
@media(max-width:899px){html body .hcs-2 .hcs-copy.hcs-right{max-width:calc(100% - 2*var(--gutter))!important;width:auto}html body .hcs-2 .hcs-bg{object-position:12% 0}}
@media(min-width:900px){html body .hcs-2 .hcs-copy.hcs-right{top:auto;bottom:16%;transform:none;right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}}
@media(min-width:900px){html body .hcs-2 .hcs-copy.hcs-right{width:max-content;max-width:min(44vw,600px)}}
@media(min-width:900px){html body .hcs-2 .hcs-copy.hcs-right{text-align:right}html body .hcs-2 .hcs-copy.hcs-right .hero-ctas{justify-content:flex-end}}

/* row arrows: a true 40px circle whatever the button's UA padding, zoom or container does */
html body .hv-arr{box-sizing:border-box;width:40px;height:40px;min-width:40px;max-width:40px;min-height:40px;max-height:40px;aspect-ratio:1/1;padding:0;margin:0;flex:none;border-radius:50%;line-height:0;overflow:hidden;appearance:none;-webkit-appearance:none}
html body .hv-arr svg{display:block;width:18px;height:18px}

/* laurels under Words of love: filled, veined leaves on a curving stem */
html body .laurel .lf{stroke-width:1}
html body .laurel .lf .st{stroke-width:1.2}
html body .laurel .lf .lv{fill:currentColor;fill-opacity:.14;stroke-width:.9}
html body .laurel .lf .rb{stroke-opacity:.55;stroke-width:.7}

/* home links: underline always shown; on hover it sweeps out to the right, then redraws from the left */
@keyframes ul-sweep{0%{transform:scaleX(1);transform-origin:right}48%{transform:scaleX(0);transform-origin:right}52%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
html[data-route="home"] body .hv-kf-u{position:relative;border-bottom:0;padding-bottom:2px}
html[data-route="home"] body .hv-kf-u::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;pointer-events:none}
html[data-route="home"] body .cta-link::after,html[data-route="home"] body .hv-more::after,html[data-route="home"] body .hv-lk::after,html[data-route="home"] body .hv-rv-next::after,html[data-route="home"] body .hv-rv-all::after,html[data-route="home"] body .kf-u::after,html[data-route="home"] body .hv-kf-u::after{transform:scaleX(1);transform-origin:left;transition:none}
html[data-route="home"] body .cta-link:hover::after,html[data-route="home"] body .hv-more:hover::after,html[data-route="home"] body .hv-lk:hover::after,html[data-route="home"] body a:hover>.hv-lk::after,html[data-route="home"] body .hv-rv-next:hover::after,html[data-route="home"] body .hv-rv-all:hover::after,html[data-route="home"] body .kf-u:hover::after,html[data-route="home"] body a:hover>.kf-u::after,html[data-route="home"] body .tile:hover .cta-link::after,html[data-route="home"] body .hv-bq a:hover .hv-lk::after,html[data-route="home"] body .hv-kf:hover .kf-u::after,html[data-route="home"] body .hv-kf:hover .hv-kf-u::after,html[data-route="home"] body a:hover>.hv-kf-u::after{animation:ul-sweep .8s cubic-bezier(.4,0,.2,1) both}
@media(prefers-reduced-motion:reduce){html[data-route="home"] body .cta-link:hover::after,html[data-route="home"] body .hv-kf:hover .hv-kf-u::after{animation:none}}

/* signature cards: second product photo fades in on hover */
html body .hv-pc-img{position:relative}
html body .hv-pc-img .m1,html body .hv-pc-img .m2{position:absolute;inset:0;display:block;transition:opacity .5s}
html body .hv-pc-img .m2{opacity:0}
@media(hover:hover){html body .hv-pc:hover .hv-pc-img .m2{opacity:1}}

/* "You may also like": quieter band (cloud grey) instead of the sage mist */
html body .p2-rel{background:var(--cloud-grey,#F0F6F1)}

/* primary buttons: hover turns sea green with ink text, no lift, no shadow (Web Style Guide 03) */
html body .btn-dark{transition:background-color .2s,color .2s}
html body .btn-dark:hover,html body .duo:hover .btn-dark{background:var(--brand);color:var(--on-brand);transform:none;box-shadow:none}
html body .btn-dark:active{background:var(--brand-hover);color:var(--on-brand)}
html body .hv-sig .hv-pc-img .m2{background:#fff}
html body .hv-sig .hv-pc-img .m2 img{object-fit:cover;padding:0}

/* header icon buttons: no filled disc on tap (touch screens keep :hover stuck after a tap); mouse hover keeps a quiet tint */
html body .icon-btn:hover{background:none}
@media(hover:hover){html body .icon-btn:hover{background:rgba(48,53,56,.06)}}
html body .icon-btn{-webkit-tap-highlight-color:transparent}
html body .icon-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px;background:none}

/* feature tiles (A gift that lasts / Zhang Eclipse): tighter stack between kicker, title and link */
html body .hv-kf-c{gap:0}
html body .hv-kf-s{margin:0 0 4px}
html body .hv-kf-t{margin-bottom:6px}

/* header and menu logo 10% smaller */
html body .brandmark .bm-img{height:43.2px}
html body .brandmark.sm .bm-img{height:28.8px}
@media (max-width:899px){html body .bar .brandmark .bm-img{height:30.6px}}

/* hero slide 2 (Custom made pearl jewelry): a quieter headline */
@media(min-width:900px){html body .hcar .hcs-1 .hcs-h,html body .hcar #hero-h{font-size:clamp(28px,3vw,44px);letter-spacing:2px;line-height:1.1}html body .hcs-1 .hcs-copy{max-width:min(32vw,460px)}}
@media(max-width:899px){html body .hcar .hcs-1 .hcs-h{font-size:clamp(24px,6vw,34px)}}
/* hero slide 2 photo (cowboy hat, white horse): one wide image for every screen; on phones the crop centres on the hat and face so the necklace and both hands stay in frame */
/* hero 2 shows the whole photo, uncropped. Phones: full width, centred in the space between the header and the copy */
@media(max-width:899px){html body .hcs-1 .hcs-bg{inset:max(var(--hdr-over),calc((100% + var(--hdr-over) - 300px - 74.6vw)/2)) 0 auto 0;height:auto;object-fit:contain}}

/* footer wordmark: the same logo image as the header, in ink */
html body .foot-brand .brandmark .bm-img{height:40px;color:var(--ink-blue)}

/* footer credit: 乐呱株式会社 mark as a mask so it takes the footer text colour */
html body .foot-credit{display:flex;align-items:center;flex-wrap:wrap;gap:3px 4px}
/* credit line: the smallest step in the type scale (micro, 11px), one step under the 12px legal row */
html body .foot-bottom .foot-credit,html body .foot-bottom .foot-credit a{font-size:11px;line-height:16px}
html body .foot-credit .lego{display:inline-flex;align-items:center;color:inherit;text-decoration:none}
html body .foot-credit .lego-mark{display:inline-block;width:50px;height:11px;background:currentColor;-webkit-mask:url(../img/kit/lego-mark.png) left center/contain no-repeat;mask:url(../img/kit/lego-mark.png) left center/contain no-repeat;vertical-align:middle}
/* built with LUMI: a quiet link beside the mark, a shade off the salt mint footer; it shows in ink on hover and keyboard focus */
html body .foot-bottom .foot-credit a.lumi-credit{display:inline!important;min-height:0!important;padding:0!important;color:color-mix(in srgb,var(--ink) 10%,var(--salt-mint))!important;text-decoration:none;transition:color .2s}
html body .foot-bottom .foot-credit a.lumi-credit:hover,html body .foot-bottom .foot-credit a.lumi-credit:focus-visible{color:var(--ink)!important}

/* ---------- editorial collection page (viewEditorial): framed hero, lookbook strip, collections row ---------- */
.ed{--ed-rule:color-mix(in srgb,var(--ink-blue) 70%,transparent);padding-bottom:clamp(56px,7vw,96px)}
.ed figure{margin:0;overflow:hidden;background:var(--ph-ground)}
.ed figure img{display:block;width:100%;height:100%;object-fit:cover}
.ed-hero{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.35fr) minmax(0,1.3fr);grid-template-rows:minmax(0,1fr) auto;border-block:1px solid var(--ed-rule);background:var(--cloud-grey);margin-top:4px}
.ed-name{grid-column:1;grid-row:1;align-self:center;justify-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-family:"Cormorant SC","Cormorant Garamond","Times New Roman",serif;font-weight:500;font-size:clamp(52px,6.2vw,104px);line-height:.95;letter-spacing:.04em;color:var(--ink-deep);margin:0;padding:clamp(24px,3vw,40px) 0;max-height:calc(100% - 16px);text-wrap:balance;text-align:center}
.ed-portrait{grid-column:2;grid-row:1;aspect-ratio:4/5;border-inline:1px solid var(--ed-rule)}
.ed-side{grid-column:3;grid-row:1;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,44px) 0 clamp(24px,3vw,40px)}
.ed-inset{position:relative;z-index:1;margin-left:clamp(-120px,-8vw,-48px)!important;aspect-ratio:3/2;box-shadow:0 0 0 1px var(--ed-rule)}
.ed-cap{align-self:flex-start;max-width:14em;margin:24px 0 0 clamp(28px,4vw,64px);font-style:italic;font-size:clamp(14px,1.1vw,16px);line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-blue)}
.ed-links{grid-column:1/3;grid-row:2;display:flex;justify-content:space-around;flex-wrap:wrap;gap:8px 24px;padding:16px clamp(12px,2vw,28px);border-top:1px solid var(--ed-rule);border-right:1px solid var(--ed-rule)}
.ed-links a,.ed-year{font-size:13px;line-height:20px;letter-spacing:.08em;text-decoration:none;color:var(--ink-blue)}
.ed-links a:hover{color:var(--slate-blue)}
.ed-year{grid-column:3;grid-row:2;margin:0;padding:16px clamp(12px,2vw,28px);border-top:1px solid var(--ed-rule);text-transform:uppercase;text-align:right}
.ed-h2{font-family:"Cormorant SC","Cormorant Garamond","Times New Roman",serif;font-weight:500;font-size:clamp(34px,3.6vw,54px);line-height:1;letter-spacing:.02em;margin:0;color:var(--ink-deep)}
.ed-look{position:relative;margin-top:clamp(48px,6vw,88px);padding:clamp(28px,3.4vw,48px) 0 clamp(32px,4vw,56px) clamp(20px,3vw,44px);background:var(--cloud-grey);border-block:1px solid var(--ed-rule);overflow:hidden}
.ed-look::before{content:"";position:absolute;top:0;bottom:0;left:56%;border-left:1px solid var(--ed-rule)}
.ed-look .ed-h2{position:relative}
.ed-rail{position:relative;display:grid;grid-template-columns:minmax(0,36%) minmax(0,28%) minmax(0,26%);gap:clamp(24px,4vw,64px);align-items:start;margin-top:clamp(20px,2.4vw,32px);margin-right:-12%}
.ed-l1 .ed-lf{aspect-ratio:7/10}
.ed-l2{aspect-ratio:3/4;margin-top:clamp(20px,2.4vw,36px)!important;box-shadow:0 0 0 1px var(--ed-rule)}
.ed-l3{aspect-ratio:4/5;margin-top:0!important}
.ed-q{margin:clamp(20px,2.4vw,32px) 0 0;padding:0;max-width:30em}
.ed-q p{margin:0;font-style:italic;font-size:15px;line-height:1.6;color:var(--ink-blue)}
.ed-q p::before{content:"“"}.ed-q p::after{content:"”"}
.ed-colls{margin-top:clamp(48px,6vw,88px)}
.ed-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,24px);margin-top:clamp(20px,2.4vw,32px)}
.ed-tile{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink-blue)}
.ed-tile-img{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--ph-ground)}
.ed-tile-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ed-tile:hover .ed-tile-img img{transform:scale(1.04)}
.ed-tile-l{font-family:"Cormorant SC","Cormorant Garamond",serif;font-weight:500;font-size:clamp(18px,1.5vw,22px);letter-spacing:.04em}
.ed-shop{margin-top:clamp(28px,3vw,40px);border-top:1px solid var(--ed-rule)}
@media (max-width:899px){
  .ed-hero{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
  .ed-name,.ed-portrait,.ed-side,.ed-links,.ed-year{grid-column:1;grid-row:auto}
  .ed-name{writing-mode:horizontal-tb;transform:none;justify-self:start;text-align:left;font-size:clamp(44px,13vw,72px);padding:20px 16px 18px;max-height:none}
  .ed-portrait{border-inline:0;border-top:1px solid var(--ed-rule);aspect-ratio:4/5}
  .ed-side{padding:0 16px 22px}
  .ed-inset{width:62%;align-self:flex-end;margin:-26% 0 0 0!important}
  .ed-cap{margin:16px 0 0}
  .ed-links{border-right:0;justify-content:flex-start;gap:6px 22px;padding:14px 16px}
  .ed-year{text-align:left;padding:12px 16px 14px}
  .ed-look{padding-left:16px}
  .ed-look::before{display:none}
  .ed-rail{display:flex;gap:14px;margin-right:0;padding-right:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .ed-rail::-webkit-scrollbar{display:none}
  .ed-rail>*{flex:0 0 76%;scroll-snap-align:start}
  .ed-l2{flex-basis:62%}.ed-l3{flex-basis:62%}
  .ed-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.ed-name.ed-long{font-size:clamp(40px,4.4vw,76px)}
@media (max-width:899px){.ed-name.ed-long{font-size:clamp(36px,10vw,56px)}}
/* images carry width/height (js/paths.js responsive()) so the browser reserves their space before they load;
   zero specificity, so any rule that sizes an image still wins */
:where(img[width][height]){max-width:100%;height:auto}

/* collection spreads: link to the matching collection under each panel */
html body .lb-panel .lb-cta{display:inline-flex;margin-top:14px}

/* The collection: split blocks (copy one side, image the other), a row of five pieces, and two collections side by side. */
html body .tf{padding-bottom:clamp(40px,5vw,80px)}
html body .tf-h,html body .tf-h2,html body .tf-h3{font-family:"Cormorant SC",serif;font-weight:500;color:var(--ink-deep);text-transform:none;letter-spacing:.4px;line-height:1.15;text-wrap:balance}
html body .tf-h{font-size:clamp(28px,2.6vw,38px)}
html body .tf-h2{font-size:clamp(28px,2.8vw,40px)}
html body .tf-h3{font-size:clamp(20px,1.6vw,24px);margin-top:18px}
html body .tf-eb{font-family:var(--display);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--slate-blue);margin-bottom:10px}
html body .tf-p{margin:14px auto 0;max-width:46ch;font-size:15px;line-height:1.7;color:var(--ink-blue)}
html body .tf-link{display:inline-block;margin-top:26px;font-family:var(--display);font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-deep);text-decoration:none;padding-bottom:6px;border-bottom:1.5px solid var(--misty-blue);transition:border-color .2s}
html body .tf-link:hover{border-color:var(--ink-deep)}
html body .tf-pic{display:block;overflow:hidden;background:var(--ph-ground)}
html body .tf-pic img{display:block;width:100%;height:100%;object-fit:cover}
html body .tf-pic.ar54{aspect-ratio:5/4}
html body .tf-pic.ar43{aspect-ratio:4/3}
html body .tf-pic.ar11{aspect-ratio:1}
html body .tf-pic.sq{aspect-ratio:1}
/* split: text 1/3, image 2/3 flush to the viewport edge */
html body .tf-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;margin-top:clamp(40px,5vw,72px)}
html body .tf-split.img-left{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
html body .tf-split.img-right .tf-pic{order:2}
html body .tf-split.img-right .tf-txt{order:1}
html body .tf-txt{display:flex;align-items:center;justify-content:center;text-align:center;padding:clamp(32px,4vw,64px) clamp(24px,4vw,64px)}
html body .tf-txt>div{max-width:420px}
html body .tf-split:first-child{margin-top:clamp(24px,3vw,48px)}
/* row of five pieces */
html body .tf-row{max-width:var(--maxw);margin:clamp(40px,5vw,72px) auto 0;padding:0 var(--gutter)}
html body .tf-row ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2.4vw,40px)}
html body .tf-row a{display:block;text-align:center;color:var(--ink-deep);text-decoration:none}
html body .tf-row-img{display:block;aspect-ratio:1;background:var(--ph-ground);overflow:hidden}
html body .tf-row-img img{display:block;width:100%;height:100%;object-fit:contain}
html body .tf-row-n{display:block;margin:6px auto 0;max-width:26ch;font-size:13px;line-height:1.5;color:var(--ink-blue)}
/* two collections side by side */
html body .tf-two{max-width:var(--maxw);margin:clamp(56px,7vw,104px) auto 0;padding:0 var(--gutter);text-align:center}
html body .tf-two>.tf-p{max-width:60ch}
html body .tf-two ul{list-style:none;margin:clamp(28px,3.4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,36px)}
html body .tf-two li .tf-link{margin-top:12px}
@media(max-width:899px){
  html body .tf-split,html body .tf-split.img-left{grid-template-columns:minmax(0,1fr);margin-top:40px}
  html body .tf-split.img-right .tf-pic,html body .tf-split.img-left .tf-pic{order:1}
  html body .tf-split .tf-txt{order:2;padding:28px var(--gutter) 8px}
  html body .tf-pic.ar54,html body .tf-pic.ar43,html body .tf-pic.ar11{aspect-ratio:4/5}
  html body .tf-row{margin-top:40px}
  html body .tf-row ul{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:8px;-webkit-overflow-scrolling:touch}
  html body .tf-row li{flex:0 0 46%;scroll-snap-align:start}
  html body .tf-two{margin-top:56px}
  html body .tf-two ul{grid-template-columns:minmax(0,1fr);gap:36px}
  html body .tf-pic.sq{aspect-ratio:4/5}
}

/* Mega menu feature: keep the link (and its underline) as wide as its text, not the column. */
html body .feature-copy .cta-link{align-self:flex-start;width:fit-content}

/* Store policies rendered from Shopify's rich text (viewLegal): Shopify's own headings and lists */
.lg-solo{grid-template-columns:minmax(0,760px)}
.lg-rich h2{margin:44px 0 14px;padding-top:32px;border-top:1px solid color-mix(in srgb,var(--ink-blue) 10%,transparent);font:400 26px/1.25 'Belleza','Optima',sans-serif;color:var(--ink-deep);scroll-margin-top:120px}
.lg-rich h3,.lg-rich h4{margin:28px 0 10px;font:500 17px/1.4 'Noto Sans',system-ui,sans-serif;color:var(--ink-deep)}
.lg-rich ul,.lg-rich ol{margin:0 0 16px;padding-left:20px}
.lg-rich li{margin:0 0 8px}
.lg-rich li::marker{color:var(--shell-beige)}
.lg-rich strong{font-weight:500;color:var(--ink-deep)}
.lg-rich a{color:var(--ink-deep);overflow-wrap:anywhere}
.lg-contact h2{display:block}
@media(max-width:899px){html body .lg-rich h2{font-size:22px;margin-top:32px;padding-top:24px}}

/* Collection pages (Shop the collection): larger pieces on white, the name in the display face over a small centred subtitle */
html body .ed-shop .shop #grid.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(48px,5vw,80px) clamp(20px,2.4vw,40px)}
@media(min-width:1700px){html body .ed-shop .shop #grid.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:899px){html body .ed-shop .shop #grid.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 14px}}
html body .ed-shop #grid .card,html body .ed-shop #grid .card-art{background:#fff!important}
html body .ed-shop #grid .card-art{aspect-ratio:1/1.08;outline:0}
html body .ed-shop #grid .card-art img{object-fit:contain;mix-blend-mode:multiply}
html body .ed-shop #grid .card-body{padding:clamp(18px,1.8vw,26px) 8px 0}

/* Journal cards: every title takes two lines and every summary three, so the "Read article" links line up across a row */
.ed-card .ed-t{-webkit-line-clamp:2;min-height:2.5em}
.ed-card .ed-x{-webkit-line-clamp:3;min-height:4.8em}
.ed-card .ed-x{margin-bottom:18px}
.ed-card .ed-more{margin-top:auto}

/* Home spacing tokens keyed to the home markup itself, not only to data-route="home", so a prerendered or
   mid-render page never shows the Signatures row collapsed to auto columns. */
html body #view:has(.hv-sig){--gutter:clamp(56px,4.6vw,80px);--maxw:calc(1360px + 2 * var(--gutter));--sp-s:112px;--sp-m:124px;--sp-l:144px;--sp-title:clamp(32px,2.6vw,40px);--sp-grid:24px}
@media (max-width:1199px){html body #view:has(.hv-sig){--gutter:40px;--sp-s:88px;--sp-m:92px;--sp-l:96px;--sp-title:28px;--sp-grid:20px}}
@media (max-width:899px){html body #view:has(.hv-sig){--gutter:32px;--sp-s:80px;--sp-m:84px;--sp-l:96px}}
@media (max-width:599px){html body #view:has(.hv-sig){--gutter:20px;--sp-s:64px;--sp-m:72px;--sp-l:80px;--sp-title:24px;--sp-grid:14px}}
html body .hv-sig .hv-row{grid-auto-columns:calc((100% - 3 * var(--sp-grid,24px))/4);gap:var(--sp-grid,24px)}
@media(max-width:899px){html body .hv-sig .hv-row{grid-auto-columns:46%;gap:var(--sp-grid,14px)}}

/* FAQ and policy bodies pulled from Shopify pages */
html body .faq-policy>*+*,html body .faq-prose>*+*{margin-top:.8em}
html body .faq-policy ul,html body .faq-policy ol,html body .faq-prose ul,html body .faq-prose ol{padding-left:1.2em}
html body .faq-policy h1,html body .faq-policy h2,html body .faq-policy h3{font-family:var(--display);font-weight:400;font-size:16px;letter-spacing:.4px;margin-top:1.2em}
html body .faq-prose{margin-top:0}

/* #status diagnostics */
html body .st-page{padding:clamp(32px,4vw,56px) var(--gutter) clamp(48px,6vw,80px)}
html body .st-page .caption{margin-top:8px}
html body .st-table{margin-top:24px;border-collapse:collapse;width:100%;max-width:900px;font-size:14px;line-height:1.5}
html body .st-table th,html body .st-table td{text-align:left;vertical-align:top;padding:10px 12px;border-top:1px solid rgba(48,53,56,.14)}
html body .st-table th{font-weight:500;white-space:nowrap;width:180px;color:var(--ink-blue)}
html body .st-page .hero-ctas{margin-top:24px}

/* Collection page new-arrivals row: the second product photo on hover */
html body .tf-row-img{position:relative}
html body .tf-row-img .m2{position:absolute;inset:0;background:var(--ph-ground);opacity:0;transition:opacity .3s cubic-bezier(.35,.55,.4,1)}
html body .tf-row-img .m2 img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
html body .tf-row a:hover .tf-row-img .m2{opacity:1}
html body .tf-row a:hover .tf-row-img .m2 img{transform:none}

/* Service cards: the photo is a link to the card's first action */
html body .au2-card .au2-img-link{display:block;overflow:hidden}
html body .au2-card .au2-img-link .au2-img{transition:transform .9s cubic-bezier(.2,.6,.2,1)}
html body .au2-card .au2-img-link:hover .au2-img{transform:scale(1.03)}
/* Pearl restringing page */
html body .rs-page{padding-bottom:clamp(48px,6vw,96px)}
html body .rs-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start;margin-top:clamp(16px,2vw,28px)}
html body .rs-img{margin:0;background:var(--cloud-grey);aspect-ratio:4/3;overflow:hidden}
html body .rs-img img{width:100%;height:100%;object-fit:cover;display:block}
html body .rs-copy .hl{margin-top:var(--s1)}
html body .rs-price{margin-top:10px;font-family:var(--display);font-size:20px;letter-spacing:.5px;color:var(--ink-deep)}
html body .rs-copy .body{margin-top:14px;max-width:52ch}
html body .rs-copy .hero-ctas{margin-top:22px;flex-wrap:wrap;gap:18px}
html body .rs-opt{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
html body .rs-lab{font-family:var(--display);font-size:12px;letter-spacing:2px;text-transform:uppercase}
html body .rs-sel{min-height:48px;padding:0 14px;border:1px solid var(--ink-blue);background:transparent;font:inherit;font-size:14px;color:var(--ink-deep)}
html body .rs-copy .rs-opt{margin-top:22px}
html body .rs-len{width:96px}
html body .rs-total{flex-basis:100%;margin:0;font-family:var(--display);font-size:16px;letter-spacing:.5px;color:var(--ink-deep);font-variant-numeric:tabular-nums}
html body .rs-note{margin-top:14px;max-width:52ch;font-size:13px;line-height:1.6;color:var(--slate-blue)}
html body .rs-desc{margin-top:28px;font-size:15px}
html body .rs-steps{margin-top:clamp(40px,5vw,72px);border-top:1px solid rgba(48,53,56,.14);padding-top:clamp(28px,3.4vw,44px)}
html body .rs-steps ol{list-style:none;counter-reset:rs;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
html body .rs-steps li{counter-increment:rs;display:grid;gap:8px;font-size:14px;line-height:1.6;color:var(--ink-blue)}
html body .rs-steps li::before{content:counter(rs,decimal-leading-zero);font-family:var(--display);font-size:12px;letter-spacing:3px;color:var(--slate-blue)}
html body .rs-steps li b{font-family:var(--display);font-weight:400;font-size:18px;letter-spacing:.5px;color:var(--ink-deep)}
@media(max-width:899px){html body .rs-top{grid-template-columns:minmax(0,1fr);gap:24px}html body .rs-steps ol{grid-template-columns:minmax(0,1fr)}}

/* Collection page links: the underline sweeps away and back from the left on hover, like the home page links. */
/* Hovering a split block's photo sweeps its link underline too */

/* Collection page on the Web Style Guide scale (ed. 2): the hero H1 is a page title (Belleza 40/30, uppercase); section
   titles are .h2 (32/24, sentence case); collection names are .h3 (20/18, sentence case); eyebrows Belleza 13px in ink
   (deep sea is for lines and graphics only, Color System v3). Photos fade, never zoom. */
html body .tf-h,html body .tf-h2,html body .tf-h3{font-family:var(--display);font-weight:400;color:var(--ink-blue)}
html body .tf-h{font-size:clamp(30px,3.4vw,40px);line-height:1.05;letter-spacing:1.5px;text-transform:uppercase}
html body .tf-split:not(.tf-hero) .tf-h,html body .tf-h2{font-size:clamp(24px,2.6vw,32px);line-height:1.2;letter-spacing:.3px;text-transform:none}
html body .tf-h3{font-size:clamp(18px,1.6vw,20px);line-height:26px;letter-spacing:.6px;text-transform:none}
html body .tf-eb{font-size:13px;line-height:16px;letter-spacing:2px;color:var(--ink-blue);margin-bottom:8px}
html body .tf-p{font-family:var(--body);font-size:15px;line-height:22px;color:var(--ink-blue)}
html body .tf-line{margin:6px auto 0;font-family:var(--body);font-size:14px;line-height:22px;color:var(--ink-blue)}
html body .tf-link{font-family:var(--display);font-size:13px;letter-spacing:2px;color:var(--ink-blue)}
/* text hero beside a photo sits on sea green with ink text (Color System v3, hero panels) */
html body .tf-hero .tf-txt{background:var(--sea-green);align-self:stretch}
/* new-piece row: the product tile anatomy (name Belleza 15/21, two lines; spec 12/18 caption grey; price Noto Sans 500 in price walnut) */
html body .tf-row-n{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:12px auto 0;max-width:26ch;font:400 15px/21px var(--label);letter-spacing:.2px;color:var(--ink-blue)}
html body .tf-row-s{display:block;margin-top:2px;font:400 12px/18px var(--body);color:var(--pc-spec-color)}
html body .tf-row-p{display:block;margin-top:6px;font:var(--pc-price-font);color:#6D5849}


/* Card price on the VI scale: the same size as the name, medium weight, in the deep walnut the product page price uses */

/* footer legal row: keep clear of the concierge orca and the accessibility button fixed in the bottom-right corner */
@media (min-width:900px){html body .foot-bottom ul{padding-right:calc(var(--cg-r,24px) + 150px)}}
@media (max-width:899px){html body .foot-bottom{padding-bottom:88px}}

/* a policy page without a table of contents: one reading column */
html body .lg-grid.lg-solo{grid-template-columns:minmax(0,760px)}

/* sitemap page: one plain list of links, numbered pages under it */
html body .sm-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-width:760px;font:400 16px/1.5 'Noto Sans',system-ui,sans-serif}
html body .sm-list a{display:inline-block;padding:6px 0;color:var(--ink-blue);text-decoration:none}
html body .sm-list a:hover{color:var(--ink-deep);text-decoration:underline;text-underline-offset:3px}
html body .sm-pages{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;padding-top:28px;border-top:1px solid color-mix(in srgb,var(--ink-blue) 12%,transparent)}
html body .sm-pages a,html body .sm-pages span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid color-mix(in srgb,var(--ink-blue) 18%,transparent);font:400 14px/1 'Noto Sans',system-ui,sans-serif;color:var(--ink-blue);text-decoration:none}
html body .sm-pages a:hover{border-color:var(--ink-deep);color:var(--ink-deep)}
html body .sm-pages span[aria-current]{background:var(--ink-deep);border-color:var(--ink-deep);color:#fff}

/* loading states, traced to paths so they cost no request. --hz is the HZ monogram of the favicon (icons/icon-512.png),
   used as a mask by the page loader; --orca-ph is the concierge orca (img/kit/concierge-orca.png), faint, for photos
   still loading. */
:root{--ph-ground:#F2F1ED;--hz:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='52 150 408 212'%3E%3Cpath fill-rule='evenodd' d='M57 355.2C57 352.5 57.2 352.4 65.5 350.8C84.5 347.2 84 350.1 84 254C84 161.5 84.6 164.8 65.7 161.3C57.2 159.8 57 159.7 57 156.9L57 154 99.5 154L142 154 142 157C142 158.7 141.7 160 141.2 160C117.3 160.2 115.6 163.5 115.2 210.8L114.9 247 161.5 247L208.1 247 207.8 210.2C207.4 163.4 207.7 164.1 188.2 160.9C181.2 159.7 181 159.6 181 156.8L181 154 223.8 154.2L266.5 154.5 266.5 157C266.5 159.3 265.9 159.6 258.3 161.2C238.8 165.2 240.5 156.1 240.5 255.5C240.5 355.2 238.9 346.8 258.2 350.8C265.9 352.4 266.5 352.7 266.5 355L266.5 357.5 223.8 357.8L181 358 181 355.1C181 352.3 181.2 352.2 188.5 351.1C207.5 348.3 207.4 348.5 207.8 299.2L208.1 261 161.5 261L114.9 261 115.2 299.2C115.6 347.6 115.6 347.7 135 351C141.8 352.1 142 352.3 142 355.1L142 358 99.5 358L57 358 57 355.2ZM275 355.4C275 353.6 279.3 346.8 288.3 334.1C295.7 323.9 325.6 282.1 354.8 241.3C384.1 200.6 408 166.9 408 166.6C408 165.1 329 166 321.3 167.6C303.8 171.2 294.6 180.9 290.7 200L289.4 206.5 285.5 206.5C281.7 206.5 281.5 206.4 281.8 203.5C282 201.8 283.3 190.2 284.8 177.5L287.5 154.5 368.3 154.2L449 154 449 156.6C449 158.4 442.5 168.3 428.7 187.8C363.1 280.3 318.3 343.7 317.6 344.8C316 347.5 408.8 345.9 418.3 343.1C432.1 338.9 441.1 328.3 446.5 309.8C448.1 304.2 448.3 304 451.6 304C455.8 304 455.8 301.9 451.5 332.7C449.6 346.3 448 357.6 448 357.8C448 357.9 409.1 358 361.5 358L275 358 275 355.4Z'/%3E%3C/svg%3E");--orca-ph:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='38 29 122 134'%3E%3Cpath fill='%231F2325' fill-opacity='.13' fill-rule='evenodd' d='M84.3 157.5C71.5 154 57.9 144 51.9 133.5C47 125.1 48.2 123.1 55.5 127.5C61.1 131 62.1 130.7 59.9 126.3C56.6 119.9 58.9 104 63.1 104C63.6 104 63.1 105.9 61.9 108.2C59.2 113.4 59 121.2 61.4 125.8C62.3 127.6 62.8 129.5 62.5 130C62.2 130.6 62.5 131 63.3 131C67.9 131 78.3 135.4 81.6 138.7C84.6 141.7 85.5 142.1 87.3 141.2C89.4 140.2 89.3 140.1 86.5 140C83.9 139.9 84.1 139.7 88.6 138.2C95.8 135.7 98.7 133.6 102.1 128.2C113 111.3 93.8 88.8 75.3 96.5C71.6 98 69.3 97.7 72 96C92.9 82.9 117.6 112.9 101.4 131.8C97.1 136.8 97.2 136.8 105.6 132.9C113.9 129 115.4 129.9 111.6 136.4C108.4 141.9 102.8 145.4 93.5 147.7C85.9 149.6 86.7 150.8 95.7 150.9C113 151.2 135 134.3 135 120.7C135 116.1 133.8 115.4 124.7 114.6C107.8 113.3 101 105.6 106.7 94.4C113.2 81.5 85.5 78.3 61.8 89.2C53.4 93 53.3 94 61 94C67.3 94 68.5 95.1 64.8 97.2C61.5 99 45.8 98.9 43.6 97C39.2 93.4 43.6 79.1 52.6 67.6C64.8 52.1 81.4 44.4 101.7 44.7C111.8 44.9 112 44.9 116.9 41.5C129.6 33 145.3 30.7 142.5 37.7C138.9 47.2 140.1 55.3 147.4 71C154.9 86.8 156.3 93 155.7 106C154.2 141.5 119 166.8 84.3 157.5ZM68 106.7C68 104.5 67.3 103.6 64.9 102.6L61.8 101.3 64.4 100.6C66.3 100.1 67.2 99.1 67.7 96.9L68.3 93.8 69.6 96.9C70.3 98.6 71.9 100.4 73.1 100.9L75.4 101.7 73.2 102.2C72 102.6 70.3 104.3 69.5 106.2L68.1 109.5 68 106.7ZM83.9 75.4C91.7 71.9 100.5 62.8 98.3 60.6C94.4 56.7 76.8 64.2 70.5 72.4C65 79.6 71.6 81.1 83.9 75.4Z'/%3E%3C/svg%3E")}
/* every <img> shows the faint orca on a light neutral ground (never the brown of a sand or beige frame) until the photo has arrived (index.html marks each
   loaded one with data-loaded; without that script nothing changes) */
html.orca-ph img:not([data-loaded]){background-color:var(--ph-ground);background-image:var(--orca-ph);background-position:center;background-repeat:no-repeat;background-size:clamp(28px,28%,112px) auto}
/* page loader: the HZ monogram centred on the page, filling with colour from left to right while the page loads (index.html) */
.pl{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:var(--shell-cream);transition:opacity .3s ease,visibility 0s linear .3s;animation:pl-out .35s 5s forwards}
.pl.out{opacity:0;visibility:hidden}
.pl-hz{position:relative;width:clamp(104px,13vw,152px);aspect-ratio:408/212;background:color-mix(in srgb,var(--deep-sea) 16%,transparent);-webkit-mask:var(--hz) center/contain no-repeat;mask:var(--hz) center/contain no-repeat}
.pl-hz i{position:absolute;inset:0;background:var(--ink-deep);clip-path:inset(0 100% 0 0);animation:pl-fill 2.4s cubic-bezier(.35,.55,.4,1) forwards}
@keyframes pl-fill{to{clip-path:inset(0 0 0 0)}}
@keyframes pl-out{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.pl-hz i,.art-wait .pl-hz i{animation:none;clip-path:none}}

/* Home hero slides on very wide screens. The slide copy used to sit at the edge of the centred content column, which
   on wide screens lands over the model while the photo keeps scaling with the window. Pin it near the window edge
   instead (5vw). Below about 1450px wide the column edge is already closer, so normal desktops are unchanged. */
@media (min-width:900px){
  html body .hcs-2 .hcs-copy.hcs-right{right:min(max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter))),5vw)}
  /* Slides 2 and 3 cover the hero's own top shade, so the white nav sat on bare sky or studio grey. Give each slide the same shade. */
  .hcar .hcs::after{content:"";position:absolute;left:0;right:0;top:0;height:calc(var(--hdr-over) + 200px);z-index:1;pointer-events:none;
    background:linear-gradient(180deg,rgba(31,35,37,.55) 0,rgba(31,35,37,.4) var(--hdr-over),rgba(31,35,37,.12) calc(var(--hdr-over) + 110px),rgba(31,35,37,0) 100%)}
}
/* About and Press: full-width photo across the top (pageBanner() in js/storefront.js); cropped to keep the face and the earring in frame */
html body .pg-banner{position:relative;overflow:hidden;background:#fff;height:clamp(300px,42vw,900px)}
html body .pg-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:30% 25%}
@media(max-width:699px){html body .pg-banner{height:360px}html body .pg-banner img{object-position:27% 30%}}
html body .p2-buy .btn:disabled{opacity:.45;cursor:not-allowed}

/* footer: no sign-up band, so the link grid opens the footer; tighter spacing on phones */
/* footer links: quieter than the spaced-caps column titles */
html body .foot .foot-col li a,html body .foot .foot-col .foot-addr{font-size:14px;line-height:22px;color:var(--ink-blue)}
html body .foot .foot-col li a{padding-block:4px;min-height:28px}
html body .foot .foot-col li a:hover{color:var(--ink-deep)}
html body .foot .foot-col .foot-addr{margin-bottom:4px}
html body .foot .foot-col h3{color:var(--ink-deep)}
html body .foot-act{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:20px}
html body .foot-act .socials{margin-top:0}
html body .foot .foot-signup{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:0;border-radius:var(--r-btn);background:var(--ink-blue);color:var(--pearl-white);font:400 13px/16px var(--label);letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s}
html body .foot .foot-signup:hover{background:var(--brand);color:var(--on-brand)}
html body .foot .foot-signup:active{background:var(--brand-hover);color:var(--on-brand)}
html body .foot .foot-signup:focus-visible{outline:2px solid var(--ink-blue);outline-offset:3px}
html body .foot{padding-top:clamp(36px,3.6vw,52px)}
@media(max-width:899px){
  html body .foot{padding-top:28px}
  html body .foot-grid>.foot-brand{padding-bottom:20px!important}
  html body .foot-brand p{margin-top:10px}
  html body .foot-col>summary{min-height:50px}
}
@media(max-width:899px){html body .foot-bottom{margin-top:16px;border-top:0}}
/* Product page purchase area: Add to bag is the one clear action, full width of the buy column and solid; the certificate
   is a quiet optional line under it; "chain sold separately" sits under the price with the chain add-on above the button */
html body .pdp2 .p2-buy{max-width:none;margin-top:20px;gap:12px}
html body .pdp2 .p2-buy .btn{flex:1;min-height:56px;padding-inline:28px;font-size:14px;letter-spacing:2.6px;background:var(--ink-deep);color:#fff;border-color:var(--ink-deep);box-shadow:0 6px 18px -10px rgba(20,24,26,.55);transition:background-color .2s,box-shadow .2s}
html body .pdp2 .p2-buy .btn:hover{background:#000;box-shadow:0 8px 22px -10px rgba(20,24,26,.65)}
html body .pdp2 .p2-buy .btn:focus-visible{outline:2px solid var(--ink-deep);outline-offset:3px}
html body .pdp2 .p2-buy .btn:disabled{background:color-mix(in srgb,var(--ink-deep) 35%,#fff);border-color:transparent;box-shadow:none;cursor:not-allowed}
html body .pdp2 .pdp-chain{margin-top:20px}
html body .pdp2 .pdp-chain-l{display:block;margin-bottom:8px;font:500 14px/1.3 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .pdp2 .pdp-chain-l span{font-weight:400;color:var(--ed-b,#6B655F)}
html body .pdp2 .pdp-chain-s{position:relative}
html body .pdp2 .pdp-chain-s::after{content:"";position:absolute;right:20px;top:50%;width:7px;height:7px;border:solid var(--ink-blue);border-width:0 1.4px 1.4px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
html body .pdp2 .pdp-chain select{appearance:none;-webkit-appearance:none;width:100%;min-height:48px;padding:0 44px 0 18px;border:1px solid color-mix(in srgb,var(--ink-blue) 28%,transparent);border-radius:12px;background:#fff;font:400 15px/1.3 'Noto Sans',sans-serif;color:var(--ink-deep);cursor:pointer;text-overflow:ellipsis}
html body .pdp2 .pdp-chain select:focus-visible{outline:2px solid var(--ink-deep);outline-offset:2px}
html body .pdp2 .pdp-stock+.pdp-chain{margin-top:12px}

/* Services (viewServices): one calm hero with the heading beside Holly at work, then each service as a quiet editorial
   row (photo, what it is, practical details, one booking button). No cards or icons. */
.sv-hero{background:var(--shell-cream);border-bottom:1px solid var(--rule)}
.sv-hero-in{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(32px,5vw,96px)}
.sv-hero-tx{padding:clamp(40px,6vw,96px) 0;max-width:460px;justify-self:end}
.sv-hero-tx .eyebrow{margin:0 0 18px;color:var(--deep-sea)}
.sv-hero-tx .hl{margin:0;font-size:clamp(34px,4vw,56px);letter-spacing:3px}
.sv-hero-tx .body{margin:24px 0 0;max-width:40ch;color:var(--ink)}
.sv-hero-img{margin:0;align-self:stretch;min-height:clamp(380px,38vw,620px);max-height:680px;overflow:hidden}
.sv-hero-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.sv-list{max-width:min(var(--maxw),1240px);margin:0 auto;padding:clamp(24px,4vw,64px) var(--gutter) 0}
.sv-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,88px);padding:clamp(40px,5vw,72px) 0;border-bottom:1px solid var(--rule);scroll-margin-top:120px}
.sv-row:nth-child(even) .sv-img{order:2}
.sv-img{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--foam-white)}
.sv-img img{display:block;width:100%;height:100%;object-fit:cover}
#g-bridal .sv-img img{object-position:50% 20%}
.sv-tx{max-width:480px}
.sv-n{margin:0 0 10px;font-family:var(--label);font-size:13px;letter-spacing:2px;color:var(--walnut)}
.sv-h{margin:0 0 14px;font-family:var(--display);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.15;letter-spacing:.3px;color:var(--ink)}
.sv-tx .body{margin:0}
.sv-dl{margin:24px 0 28px;padding:0;border-top:1px solid var(--rule)}
.sv-dl div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}
.sv-dl dt{font-family:var(--label);font-size:12px;line-height:22px;letter-spacing:1.8px;text-transform:uppercase;color:var(--deep-sea)}
.sv-dl dd{margin:0;font-size:15px;line-height:22px}
.sv-end{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,5vw,72px) var(--gutter) clamp(56px,7vw,104px);text-align:center}
.sv-end .body{margin:0}
.sv-end a{color:var(--ink);text-underline-offset:4px}
@media (max-width:899px){
  .sv-hero-in{grid-template-columns:minmax(0,1fr);gap:0;padding:0}
  .sv-hero-tx{justify-self:start;max-width:none;padding:36px var(--gutter) 32px}
  .sv-hero-img{order:-1;min-height:0;aspect-ratio:4/3;max-height:none}
  .sv-row{grid-template-columns:minmax(0,1fr);gap:24px}
  .sv-row:nth-child(even) .sv-img{order:0}
  .sv-tx{max-width:none}
}
@media (max-width:599px){.sv-hero-img{aspect-ratio:1/1}.sv-row .btn{width:100%}}

/* Product card text: one hierarchy for every product card (homepage Signatures rail, shop and collection grids,
   "You may also like", wishlist). Centered, the name in the display face, then pearl details, then the price.
   js/storefront.js cardBody() writes the same markup for all of them; change the type here and only here. */
:root{
  --pc-name-font:400 15px/1.4 var(--label);--pc-name-ls:.2px;--pc-name-color:rgb(48,53,56);
  --pc-spec-font:400 12px/18px var(--body);--pc-spec-color:#6F6A64;
  --pc-price-font:500 15px/22px var(--body);--pc-price-ls:.2px;--pc-price-color:color-mix(in srgb,var(--champagne-brown) 78%,#000);
  --pc-gap:2px;--pc-price-gap:6px
}
@media(max-width:600px){:root{--pc-price-font:500 14px/22px var(--body)}}
html body .card-body{display:grid;gap:var(--pc-gap);text-align:center;justify-items:center}
html body .card-name{font:var(--pc-name-font);letter-spacing:var(--pc-name-ls);color:var(--pc-name-color);text-transform:none;text-decoration:none;max-width:none;min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body .card-spec{font:var(--pc-spec-font);color:var(--pc-spec-color);opacity:1}
html body .card-price{font:var(--pc-price-font);letter-spacing:var(--pc-price-ls);color:var(--pc-price-color);margin-top:var(--pc-price-gap);font-variant-numeric:tabular-nums}
html body .card-meta{justify-content:center}
html body .hv-pc .card-body{padding:14px 6px 0}

/* collection page: on wide screens the picture column stops growing, so a split never fills the whole viewport */
@media (min-width:900px){
  html body .tf-split{max-width:1500px;margin-left:auto;margin-right:auto}
  html body .tf-split .tf-pic{max-height:min(78vh,720px)}
}

/* review cards: no stock photo behind the quote (only real pictures on the site); the translucent ink wash stays, now
   letting the page background through */
html body .wl-rev{background:rgba(31,35,37,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
html body .wl-rev::after{background:linear-gradient(180deg,rgba(156,203,201,.12),rgba(31,35,37,.35))}

/* footer: breathing room above the first row, whether or not the mailing-list band is there */
html body .foot{padding-top:clamp(32px,3.2vw,48px)}
html body .foot .foot-sub{padding-top:0}
html body .foot-grid{padding-top:4px}

/* collection hero: a wide studio portrait; on phones keep it landscape so the face and the earring both stay in frame */
@media (max-width:899px){html body .tf-pic.tf-wide{aspect-ratio:4/3}html body .tf-pic.tf-wide img{object-position:30% center!important}}

/* press: a publication's logo, shown whole on white rather than cropped like a photograph */
html body .pr-print img.pr-logo{object-fit:contain;background:#fff;padding:18%;box-sizing:border-box;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink-blue) 8%,transparent)}

/* review cards: glass hover. The card lifts a little, the dark wash clears to frosted glass with a fine light rim,
   and a soft sheen passes across it once. The row gets room above and below so the lift and shadow are not clipped
   by its horizontal scroller. */
html body .wl-row{padding:10px 0 24px;margin:-10px 0 -18px}
html body .wl-rev{transition:transform .5s cubic-bezier(.2,.7,.2,1),background-color .5s ease,box-shadow .5s ease,-webkit-backdrop-filter .5s ease,backdrop-filter .5s ease;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
html body .wl-rev::after{transition:opacity .5s ease}
html body .wl-rev::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.16) 46%,rgba(255,255,255,.05) 54%,transparent 70%) no-repeat;
  background-size:250% 100%;background-position:130% 0;opacity:0}
html body .wl-rev:hover{transform:translateY(-6px);background:linear-gradient(160deg,rgba(156,203,201,.16),rgba(156,203,201,0) 55%),rgba(31,35,37,.7);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 1px 0 rgba(255,255,255,.35),0 18px 40px -16px rgba(31,35,37,.45)}
html body .wl-rev:hover::after{opacity:.55}
html body .wl-rev:hover::before{opacity:1;animation:wl-sheen 1.1s cubic-bezier(.2,.7,.2,1) both}
@keyframes wl-sheen{from{background-position:130% 0}to{background-position:-30% 0}}
@media (hover:none){html body .wl-rev:hover{transform:none}}
@media (prefers-reduced-motion:reduce){html body .wl-rev,html body .wl-rev::after{transition:none}html body .wl-rev:hover{transform:none}html body .wl-rev:hover::before{animation:none;opacity:0}}

/* review cards, glass tilt (replaces the sheen): the card turns in 3D toward the pointer (js/chrome.js sets --rx/--ry
   and the glare position --mx/--my), the dark wash clears to frosted glass with a light rim, a soft glare follows the
   pointer, and a large faint quotation mark drifts behind the text. Pointer devices only. */
html body .wl-rev{--rx:0deg;--ry:0deg;--mx:50%;--my:30%;transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));will-change:transform}
html body .wl-rev.is-tilt{transition:transform .12s linear,background-color .5s ease,box-shadow .5s ease,-webkit-backdrop-filter .5s ease,backdrop-filter .5s ease}
html body .wl-rev::before{background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.24),rgba(255,255,255,.06) 32%,transparent 60%);background-size:auto;animation:none!important;transition:opacity .4s ease}
html body .wl-rev:hover{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-6px) scale(1.015)}
html body .wl-rev:hover::before{opacity:1}
html body .wl-rev .wl-in::before{content:"\201C";position:absolute;top:-.12em;right:.08em;z-index:-1;font-family:var(--display);font-size:120px;line-height:1;color:rgba(255,255,255,.05);pointer-events:none;transition:transform .5s cubic-bezier(.2,.7,.2,1),color .5s ease}
html body .wl-rev:hover .wl-in::before{color:rgba(255,255,255,.1);transform:translate(calc((var(--mx) - 50%) * -.08),calc((var(--my) - 50%) * -.08))}
@media (hover:none){html body .wl-rev,html body .wl-rev:hover{transform:none}}
@media (prefers-reduced-motion:reduce){html body .wl-rev,html body .wl-rev:hover{transform:none}html body .wl-rev:hover .wl-in::before{transform:none}}

/* review-row photos link to the piece they show */

/* The Signatures row: an add-to-bag control under each piece, aligned across the row */
html body .hv-sig .hv-pc{display:flex;flex-direction:column}
html body .hv-pc-a{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
html body .hv-add{align-self:center;margin-top:16px;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 26px;border:1px solid color-mix(in srgb,var(--ink-blue) 55%,transparent);border-radius:999px;background:transparent;color:var(--ink-blue);font-family:var(--label);font-size:12px;line-height:1;letter-spacing:2px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .25s ease,color .25s ease,border-color .25s ease}
html body .hv-add:hover,html body .hv-add:focus-visible{background:var(--ink-blue);border-color:var(--ink-blue);color:var(--pearl-white,#F7F4EA)}
html body .hv-add:focus-visible{outline:2px solid var(--slate-blue);outline-offset:3px}
/* phones keep the S size: 40px, 13px (Web Style Guide 03, touch targets) */
@media(max-width:599px){html body .hv-add{padding:0 16px}}

/* collection hero: show the whole portrait (its own 1916:821 shape) instead of a tight crop, so the head, the earring
   and the turtleneck are all in frame and the picture stays well inside the screen; phones keep the 4:3 crop */
@media (min-width:900px){
  html body .tf-pic.tf-wide{aspect-ratio:1916/821;max-height:none;background:#fff}
  html body .tf-pic.tf-wide img{object-position:center!important}
}

/* The Signatures row (home): name and price only, no spec line under the name */
html body .hv-sig .card-spec{display:none!important}

/* The Signatures row grows with the screen instead of stopping at the site's content width: four cards always fill the
   row, so on a wide monitor the pieces get larger rather than leaving empty space on the right */
@media (min-width:900px){
  html body .wrap.hv-sig{max-width:none;padding-inline:clamp(24px,5.2vw,160px)}
}
/* its buttons are S primary: ink, square, Belleza 13px; hover sea green with ink text */
html body .hv-add{min-height:40px;border-radius:var(--r-btn);font-size:13px;letter-spacing:2px;background:var(--ink-blue);border-color:var(--ink-blue);color:var(--pearl-white)}
html body .hv-add:hover,html body .hv-add:focus-visible{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
html body .hv-add:active{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--on-brand)}

/* Zhang Eclipse: one full-width hero instead of the three-picture mosaic */
html body .ec .ec-single{margin-top:clamp(8px,1vw,16px)}
html body .ec .ec-solo{margin:0;overflow:hidden;background:var(--cloud-grey);aspect-ratio:21/9;max-height:min(78vh,760px);width:100%}
html body .ec .ec-solo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:899px){html body .ec .ec-solo{max-height:none}}

/* Zhang Eclipse hero, cinematic: the photograph runs edge to edge in a wide frame with the necklace centred and nothing
   laid over it except a small brand mark in a thin circle at the bottom centre; the title and quote sit below it,
   centred. (Composition after a still, symmetrical landscape: one subject in the middle, quiet edges, a single mark.) */
html body .ec .ec-single{margin-top:clamp(8px,1vw,16px)}
html body .ec .ec-cine{position:relative;margin:0 calc(50% - 50vw);width:100vw;aspect-ratio:19/10;max-height:min(86vh,1000px);overflow:hidden;background:var(--cloud-grey)}
html body .ec .ec-cine img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 42%}
html body .ec .ec-mark{position:absolute;left:50%;bottom:clamp(18px,2.6vw,40px);transform:translateX(-50%);width:clamp(46px,3.6vw,64px);aspect-ratio:1;border:1.5px solid rgba(255,255,255,.92);border-radius:50%;display:grid;place-items:center;filter:drop-shadow(0 1px 6px rgba(0,0,0,.18))}
html body .ec .ec-mark i{width:62%;aspect-ratio:1;background:#fff;-webkit-mask:url(../img/kit/concierge-orca.png) center/contain no-repeat;mask:url(../img/kit/concierge-orca.png) center/contain no-repeat}
html body .ec .ec-intro{max-width:720px;margin:clamp(36px,4.4vw,64px) auto clamp(8px,1vw,16px);text-align:center}
html body .ec .ec-intro .ec-eb{margin:0 0 14px;font-family:var(--label);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--slate-blue)}
html body .ec .ec-intro .ec-h{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,48px);line-height:1.12;letter-spacing:.5px;color:var(--ink-deep)}
html body .ec .ec-intro .ec-q{margin:18px auto 0;max-width:560px;padding:0;border:0;font-style:italic;font-size:15px;line-height:1.7;color:var(--ink-blue)}
@media(max-width:899px){html body .ec .ec-cine{aspect-ratio:4/5;max-height:none}html body .ec .ec-cine img{object-position:center 30%}html body .ec .ec-intro{padding-inline:var(--gutter)}}
/* the photograph is square, so on wide screens it is not stretched to the full width (it would be cut to a strip and
   blown up): it stays whole in the centre at the frame's height, and the same picture, softly blurred, fills the sides,
   with the edges of the sharp picture fading into it */
@media(min-width:900px){
  html body .ec .ec-cine{aspect-ratio:auto;height:clamp(520px,min(78vh,52vw),900px);max-height:none;isolation:isolate}
  html body .ec .ec-cine::before{content:"";position:absolute;inset:-60px;z-index:-1;background:var(--ec-bg) center/cover no-repeat;filter:blur(48px) saturate(.9) brightness(1.04)}
  html body .ec .ec-cine img{width:auto;height:100%;max-width:none;margin:0 auto;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
}
/* lift the picture so the necklace's drop ends above the mark; its lower edge fades into the blurred surround too */
@media(min-width:900px){
  html body .ec .ec-cine img{transform:translateY(-9%);
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,#000 82%,transparent 100%);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%),linear-gradient(180deg,#000 82%,transparent 100%);mask-composite:intersect}
  html body .ec .ec-mark{width:clamp(42px,3vw,54px)}
}

/* Zhang Eclipse hero: the eclipse over Bellevue, a wide photograph, edge to edge and uncropped in feel (16:9 frame,
   the eclipse and its reflection on the centre line); it carries its own orca mark, so none is laid over it */
html body .ec .ec-cine.ec-wide{aspect-ratio:1672/941;height:auto;max-height:min(86vh,1000px);background:#1d2b44}
html body .ec .ec-cine.ec-wide::before{content:none}
html body .ec .ec-cine.ec-wide img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:none;-webkit-mask-image:none;mask-image:none}
@media(max-width:899px){html body .ec .ec-cine.ec-wide{aspect-ratio:4/5;max-height:none}html body .ec .ec-cine.ec-wide img{object-position:50% 50%}}

/* home page: every section grows with the screen, like The Signatures row, instead of stopping at the site's content
   width; the side margins scale too (about 5% of the screen), so a wide monitor shows larger pictures, not white bands */
@media (min-width:900px){
  html[data-route="home"] #view,html body #view:has(.hv-sig):has(.hv-sig){--maxw:100vw;--gutter:clamp(24px,5.2vw,160px)}
  /* the header bar lines up with the wider content (logo centred as before; icons reach the same right edge) */
  html[data-route="home"] .site .wrap.bar{max-width:none;padding-inline:clamp(24px,5.2vw,160px)}
}

/* Zhang Eclipse hero: orca mark, gallery name and tagline set on the photo, centred near the bottom */
html body .ec-full{position:relative}
html body .ec-full::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(to top,rgba(10,16,30,.5),rgba(10,16,30,.18) 50%,rgba(10,16,30,0));pointer-events:none}
html body .ec .ec-cap{position:absolute;z-index:1;left:50%;bottom:clamp(28px,7%,84px);transform:translateX(-50%);width:min(900px,92%);display:flex;flex-direction:column;align-items:center;text-align:center;color:#F7F4EA;margin:0}
html body .ec .ec-cine .ec-cap img.ec-mark2{width:clamp(64px,6vw,104px);height:auto;aspect-ratio:1;object-fit:contain;margin:0 0 clamp(16px,1.8vw,28px);filter:drop-shadow(0 2px 14px rgba(0,0,0,.3))}
html body .ec-cap .ec-h{font-family:"Cormorant SC",serif;font-weight:500;text-transform:uppercase;letter-spacing:.2em;font-size:clamp(17px,1.9vw,30px);line-height:1.25;margin:0 0 clamp(8px,.8vw,14px);padding-left:.2em;color:#F7F4EA;text-shadow:0 1px 14px rgba(0,0,0,.35)}
html body .ec-cap .ec-q{font-family:"Noto Sans",sans-serif;font-style:italic;font-weight:400;letter-spacing:.14em;font-size:clamp(12px,1vw,16px);line-height:1.6;margin:0;color:rgba(247,244,234,.9);text-shadow:0 1px 12px rgba(0,0,0,.35)}
@media (max-width:899px){html body .ec .ec-cap{bottom:28px}html body .ec-full::after{height:60%}html body .ec-cap .ec-h{letter-spacing:.14em;padding-left:.14em}html body .ec-cap .ec-q{letter-spacing:.06em}}

/* Zhang Eclipse: inspiration block at the foot of the page, text left, photo right */
html body .ec-insp{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s2,16px);align-items:center;margin:var(--s5,80px) 0}
@media (min-width:1200px){html body .ec-insp{column-gap:var(--s3,24px)}}
html body .ec-insp-t{grid-column:2 / span 5;max-width:60ch}
html body .ec-insp-h{font-family:Belleza,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(15px,1.15vw,18px);line-height:1.4;color:var(--ink-strong,#1F2325);margin:0 0 .9em}
html body .ec-insp-t p{font-family:"Noto Sans",sans-serif;font-size:clamp(14px,1vw,16px);line-height:1.8;color:var(--ink,#303538);margin:0}
html body .ec-insp-pic{grid-column:8 / span 4;margin:0;aspect-ratio:3/4;width:100%;overflow:hidden;background:#1d2b44}
html body .ec-insp-pic img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
@media (max-width:899px){html body .ec-insp{grid-template-columns:1fr;row-gap:var(--s3,24px);margin:56px 0}html body .ec-insp-t,html body .ec-insp-pic{grid-column:1}html body .ec-insp-pic{order:-1}}
@media (min-width:900px){html body .ec .ec-cine.ec-full{max-height:min(calc(100vh - 230px),1000px);min-height:560px}}
html body .ec .ec-cap .ec-q{border:0;padding:0;max-width:none}
html body .ec .ec-cap .ec-q::before,html body .ec .ec-cap .ec-q::after,html body .ec .ec-cap .ec-h::before,html body .ec .ec-cap .ec-h::after{content:none}
/* Zhang Eclipse hero, desktop: the whole photo at its own ratio (1672x941), mark and type scaled to its width, as in the reference */
@media (min-width:900px){
  html body .ec .ec-cine.ec-wide.ec-full{aspect-ratio:1672/941;max-height:none;min-height:0;height:auto}
  html body .ec .ec-cine.ec-full img:not(.ec-mark2){object-position:center center}
  html body .ec-full::after{height:40%;background:linear-gradient(to top,rgba(10,16,30,.28),rgba(10,16,30,0))}
  html body .ec .ec-cap{bottom:7.4%;width:auto}
  html body .ec .ec-cine .ec-cap img.ec-mark2{width:max(58px,4.6vw);margin:0 0 max(12px,1.2vw);filter:none}
  html body .ec-cap .ec-h{font-size:max(13px,1.1vw);letter-spacing:.16em;padding-left:.16em;margin:0 0 max(7px,.7vw);text-shadow:none}
  html body .ec-cap .ec-q{font-size:max(11px,.78vw);letter-spacing:.2em;text-shadow:none}
}

/* About us, editorial layout (after the designer page reference): quiet titled chapters, generous space, a signed close */
html body .ad{max-width:1240px;margin:0 auto;padding:0 var(--gutter,24px)}
html body .ad-intro{text-align:center;padding:clamp(56px,7vw,110px) 0 clamp(40px,5vw,80px)}
html body .ad-h1{font-family:Belleza,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.16em;font-size:clamp(17px,1.5vw,22px);line-height:1.4;color:var(--ink-strong,#1F2325);margin:0 0 .7em}
html body .ad-sub{font-family:"Noto Sans",sans-serif;font-size:clamp(14px,1vw,16px);line-height:1.8;color:var(--ink,#303538);margin:0}
html body .ad-ch{padding:clamp(40px,5.5vw,90px) 0}
html body .ad-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,7vw,130px);align-items:center}
html body .ad-flip .ad-copy{order:2}
html body .ad-copy{max-width:34rem}
html body .ad-narrow{margin:0 auto clamp(32px,4vw,56px);text-align:center;max-width:38rem}
html body .ad-h2{font-family:Belleza,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(15px,1.15vw,18px);line-height:1.4;color:var(--ink-strong,#1F2325);margin:0 0 1.1em}
html body .ad-copy p,html body .ad-studio p{font-family:"Noto Sans",sans-serif;font-size:clamp(14px,1vw,16px);line-height:1.85;color:var(--ink,#303538);margin:0 0 1em}
html body .ad-copy .ad-q{font-style:italic;color:var(--deep-sea,#477F7D);margin-top:1.6em}
html body .ad-pic{margin:0;overflow:hidden;background:#EFEAE0;aspect-ratio:4/3}
html body .ad-pic.ad-tall{aspect-ratio:4/5}
html body .ad-pic img{display:block;width:100%;height:100%;object-fit:cover}
html body .ad-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,24px)}
html body .ad-pair .ad-pic{aspect-ratio:4/5}
html body .ad-sign{text-align:center;padding:clamp(24px,3vw,48px) 0 clamp(64px,8vw,120px)}
html body .ad-script{font-family:"Mrs Saint Delafield",cursive;font-size:clamp(44px,4.4vw,68px);line-height:1;color:var(--ink-strong,#1F2325);margin:0 0 .25em}
html body .ad-by,html body .ad-eb{font-family:Belleza,sans-serif;text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--ink,#303538);margin:0}
html body .ad-shop{padding-bottom:clamp(64px,8vw,120px)}
html body .ad-shop-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:clamp(20px,2.4vw,32px)}
html body .ad-shop-head .ad-h2{margin:0}
html body .ad-link{font-family:Belleza,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--ink-strong,#1F2325);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
html body .ad-link:hover{color:var(--deep-sea,#477F7D)}
html body .ad-studio{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(32px,6vw,110px);align-items:center;background:var(--cloud-grey,#F0F6F1);padding:clamp(48px,6vw,100px) max(var(--gutter,24px),calc((100vw - 1240px)/2 + var(--gutter,24px)))}
html body .ad-studio .ad-eb{margin-bottom:1.1em}
html body .ad-studio .ad-copy p{margin-bottom:1.4em}
@media (max-width:899px){
  html body .ad-split,html body .ad-studio{grid-template-columns:1fr}
  html body .ad-split .ad-pic{order:-1}
  html body .ad-flip .ad-copy{order:2}
  html body .ad-narrow{text-align:left}
  html body .ad-studio{padding:56px var(--gutter,16px)}
}
html body .wrap.ad-shop{max-width:1240px;margin-inline:auto;padding-inline:var(--gutter,24px)}

/* Complete the set, desktop: heading, line and cards sit on one pearl-white panel so the text reads over the dimmed page */
html body .cts.on .cts-panel{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(1180px,100%);max-height:calc(100vh - 64px);overflow:auto;background:var(--pearl-white,#F7F4EA);padding:clamp(28px,3vw,44px) clamp(24px,3vw,44px) clamp(28px,3vw,40px);box-shadow:0 24px 60px rgba(20,24,26,.28)}
html body .cts.on .cts-panel .cts-h{color:var(--ink-strong,#1F2325);font-size:30px;margin:0}
html body .cts.on .cts-panel .cts-why{color:var(--ink,#303538);font-size:15px;margin:0 0 clamp(14px,1.6vw,22px)}
html body .cts.on .cts-panel .cts-row{width:100%}
html body .cts.on .cts-panel .cts-card{box-shadow:0 0 0 1px rgba(48,53,56,.08)}
html body .cts.on .cts-panel{width:auto;max-width:min(1180px,100%)}
html body .cts.on .cts-panel .cts-row{width:auto;max-width:100%;grid-template-columns:repeat(var(--n,3),minmax(200px,300px))}

/* Press page, after the reference: a short photo banner with the title and contact line on it; each feature in a
   thin-bordered card, publication name on top, the cover inset below, then the line and date */
html body .pr-hero{position:relative;height:clamp(240px,19.5vw,420px);overflow:hidden;background:#2a2f31;margin:0}
html body .pr-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}
html body .pr-hero::after{content:"";position:absolute;inset:0;background:rgba(20,24,26,.42)}
html body .pr-hero-c{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 var(--gutter,24px);color:#fff}
html body .pr-hero-h{font-family:Belleza,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(24px,2.3vw,38px);line-height:1.2;margin:0 0 clamp(12px,1.3vw,20px);color:#fff}
html body .pr-hero-p{font-family:"Noto Sans",sans-serif;font-size:clamp(14px,1vw,16px);letter-spacing:.04em;margin:0;color:rgba(255,255,255,.92)}
html body .pr-hero-p a{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
html body .pr-hero-p a:hover{color:var(--sea-green,#9CCBC9)}
html body .pr-print{max-width:1420px;margin-inline:auto;gap:clamp(20px,2.6vw,46px)}
html body .pr-print-it{border:1px solid rgba(139,112,93,.45);background:#fff;transition:border-color .25s,box-shadow .25s}
html body .pr-print-it:hover{border-color:var(--walnut,#8B705D);box-shadow:0 10px 30px rgba(31,35,37,.08)}
html body .pr-print-it figure{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(22px,2.4vw,36px) clamp(18px,3vw,56px) clamp(22px,2.2vw,32px);height:100%;box-sizing:border-box}
html body .pr-print-it figcaption{display:contents}
html body .pr-print-it figcaption b{order:-1;font-family:Belleza,sans-serif;font-weight:400;font-size:clamp(17px,1.35vw,22px);letter-spacing:.14em;line-height:1.3;color:var(--ink-strong,#1F2325);margin:0 0 clamp(16px,1.6vw,24px);min-height:2.6em;display:flex;align-items:center;justify-content:center}
html body .pr-print-it img{width:100%;aspect-ratio:3/4}
html body .pr-print-it figcaption span{margin-top:14px;color:var(--ink,#303538)}
html body .pr-print-it figcaption span+span{margin-top:4px}
html body .pr-print-it .pr-print-d{color:var(--deep-sea,#477F7D)}
html body .pr-print-a:hover figcaption b{text-decoration:none}
@media(max-width:699px){html body .pr-print{grid-template-columns:1fr;gap:20px}html body .pr-print-it figure{padding:22px 22px 24px}}
@media(max-width:699px){html body .pr-print-it img{width:78%}html body .pr-hero-p a{display:inline-block}}
html body .hv-rw.no-scroll .hv-arr{display:none!important}
/* The orca mark everywhere is the new orca-and-pearl logo (img/kit/hz-orca-logo.png): the page loader fills it with ink,
   photos show it faintly until they arrive, and the concierge button and Zhang Eclipse mark use it as their mask */
html body .pl-hz{width:clamp(72px,8vw,104px);aspect-ratio:1;-webkit-mask:url(../img/kit/hz-orca-logo.png) center/contain no-repeat;mask:url(../img/kit/hz-orca-logo.png) center/contain no-repeat}
html body .art-wait .pl-hz{width:clamp(64px,7vw,92px)}
html.orca-ph img:not([data-loaded]){background-image:url(../img/kit/hz-orca-faint.png)}
html body .cg-fab .cg-orca,html body .ec .ec-mark i{-webkit-mask:url(../img/kit/hz-orca-logo.png) center/contain no-repeat;mask:url(../img/kit/hz-orca-logo.png) center/contain no-repeat}
/* quantity stepper on the product page and in the bag: a clearly visible outline */
html body .li-row .qty{border:1px solid color-mix(in srgb,var(--ink-deep,#1F2325) 45%,transparent)}
html body .li-row .qty:hover,html body .li-row .qty:focus-within{border-color:var(--ink-deep,#1F2325)}
/* promises row at the foot of the product lists */
html body .shop-prom{margin-top:clamp(24px,3vw,48px);border-top:1px solid var(--cloud-grey,#E6EDE9)}
/* home: the press strip is now the last band, so keep white space between it and the footer */
html body #view>.press-marquee:last-child{margin-bottom:clamp(64px,7vw,112px)}
/* home: the press strip sits right under the designer band, with no white gap between them */
html body #view>.designer+.press-marquee{margin-top:0}
/* buying guide under the pearl-type shop pages (pearlGuide in js/storefront.js) */
html body .pg{display:grid;gap:clamp(32px,4vw,56px);padding-block:clamp(48px,6vw,88px) clamp(16px,2vw,24px);margin-top:clamp(32px,4vw,56px);border-top:1px solid var(--cloud-grey)}
html body .pg-head .hl{margin:8px 0 0}
html body .pg-lede{max-width:68ch;font-size:17px}
html body .pg-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 40px;margin:28px 0 0}
html body .pg-facts div{padding-top:12px;border-top:1px solid var(--cloud-grey)}
html body .pg-facts dt{font:500 12px/1.4 'Noto Sans',sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--slate-blue)}
html body .pg-facts dd{margin:6px 0 0;font:400 15px/1.55 'Noto Sans',sans-serif;color:var(--ink-deep)}
html body .pg-secs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3vw,44px) clamp(32px,4vw,64px)}
html body .pg-sec .cn-h{font-size:clamp(22px,2vw,26px)}
html body .pg-faq{max-width:860px}
html body .pg-faq .acc{margin-top:20px}
html body .pg-links{display:flex;flex-wrap:wrap;gap:12px 24px}
@media(max-width:899px){html body .pg-facts{grid-template-columns:repeat(2,minmax(0,1fr))}html body .pg-secs{grid-template-columns:minmax(0,1fr)}}
@media(max-width:499px){html body .pg-facts{grid-template-columns:minmax(0,1fr)}}
/* pearl guide overview: each topic's own page, linked at the end of its panel */
html body .gd-ac-more{margin:clamp(20px,2vw,28px) 0 0}

/* Product page buy area: options as expandable rows above Add to bag, the subtotal, and the PayPal Pay Later line */
.pdp-paylater{margin-top:12px;min-height:20px}
.pdp-opts{margin-top:26px;border-top:1px solid rgba(48,53,56,.22)}
.pdp-opt{border-bottom:1px solid rgba(48,53,56,.22)}
.pdp-opt>summary{list-style:none;display:flex;align-items:center;gap:14px;min-height:58px;padding:12px 0;cursor:pointer;color:var(--ink-blue)}
.pdp-opt>summary::-webkit-details-marker{display:none}
.pdp-opt-n{font-family:var(--label);font-size:13px;line-height:18px;letter-spacing:2px;text-transform:uppercase}
/* Option rows open like the rows below them: plus when closed, minus when open */
.pdp-pm{flex:none;margin-left:auto;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/12px 1.2px no-repeat,linear-gradient(currentColor,currentColor) center/1.2px 12px no-repeat}
.pdp-opt[open]>summary .pdp-pm{background:linear-gradient(currentColor,currentColor) center/12px 1.2px no-repeat}
.pdp-opt-p{padding:2px 0 20px}
.pdp-opt .opt .delta{color:var(--slate-blue);margin-left:2px}
.pdp-opt .opt[aria-checked="true"]{background:var(--sea-green);border-color:var(--ink-blue)}
/* the lab certificate row (certPick): joins the option rows above it; its panel explains the certificate, then the choice */
.pdp-opts+.pdp-opts-cert{margin-top:0;border-top:0}
.pdp-cert-d{max-width:52ch;margin:0 0 14px;font-size:14px;line-height:22px;color:var(--ink)}
/* Option cards (every option row on the product page, the chain and the certificate): a square picture, the name
   (Belleza 15/21, as on product tiles) and the price change; the chosen card carries an ink border */
.pdp-opts{grid-template-columns:minmax(0,1fr)}
.pdp-opts>*,.pdp-opt{min-width:0}
.opt-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:10px;max-width:640px}
.opt-cards-2{grid-template-columns:repeat(2,minmax(0,200px))}
.opt-card{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:44px;padding:10px 10px 14px;border:1px solid var(--deep-sea);border-radius:0;background:#fff;color:var(--ink);text-align:center;cursor:pointer;transition:border-color .2s}
.opt-card:hover{border-color:var(--ink)}
.opt-card[aria-checked="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.opt-card:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.opt-art{display:block;width:100%;aspect-ratio:1;margin-bottom:8px;background:var(--ph-ground)}
.opt-cards-2 .opt-art{aspect-ratio:16/15}
.opt-art svg,.opt-art img{display:block;width:100%;height:100%;object-fit:contain}
.opt-art img.opt-photo{object-fit:cover}
.opt-ph{display:block;width:100%;height:100%;background:var(--ph-ground) url(../img/kit/hz-orca-faint.png) center/34% auto no-repeat}
.opt-n{font-family:var(--label);font-size:15px;line-height:21px;letter-spacing:.3px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.opt-s{font-size:14px;line-height:20px;color:#6F6A64}
.opt-card.is-add .opt-s{font-weight:500;color:#6D5849}
.opt-card.is-sold{opacity:.55}
.opt-card.is-sold .opt-n{text-decoration:line-through}
/* Product page buy area, after the reference the owner chose: subtotal on the left; on the right the XL primary
   "Add to bag" with an "Add to wishlist" text link under it. No quantity stepper: the page always adds one piece,
   and the bag drawer is where quantity changes. Button per Web Style Guide 03: square, Belleza 13px, 2px tracking,
   ink ground with shell cream text, hover sea green with ink text, pressed sea glass. */
html body .pdp2 .p2-buy{display:grid;grid-template-columns:minmax(max-content,1fr) minmax(200px,300px);align-items:start;column-gap:24px;row-gap:4px;max-width:none;margin-top:28px;padding-top:28px;border-top:1px solid rgba(48,53,56,.22)}
/* after the option rows, their last bottom rule is the divider */
html body .pdp2 .pdp-opts+.p2-buy{border-top:0;padding-top:0}
.p2-buy .pdp-subrow{display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;white-space:nowrap;gap:4px 12px;min-height:52px;margin:0;font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;color:var(--ink-strong)}
.p2-buy .pdp-subrow span::after{content:":"}
.p2-buy .pdp-subrow b{font-family:var(--body);font-weight:500;font-size:27px;line-height:34px;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--walnut) 78%,#000)}
.p2-cta{display:flex;flex-direction:column;align-items:stretch;grid-column:2}
.p2-cta:only-child{grid-column:1/-1;max-width:360px}
html body .pdp2 .p2-buy #add-btn,html body .p2-buy #add-btn{width:100%;min-height:52px;padding:0 32px;border-radius:0;border:1px solid var(--ink);background:var(--ink);color:var(--shell-cream);box-shadow:none;font-family:var(--label);font-weight:400;font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;transition:background-color .2s,color .2s,border-color .2s}
html body .p2-buy #add-btn:hover{background:var(--sea-green);border-color:var(--sea-green);color:var(--ink);box-shadow:none}
html body .p2-buy #add-btn:active{background:var(--sea-glass);border-color:var(--sea-glass);color:var(--ink)}
html body .p2-buy #add-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
html body .p2-buy #add-btn:disabled{background:var(--ink);border-color:var(--ink);color:var(--shell-cream);opacity:.4;cursor:not-allowed}
.p2-wish{align-self:center;min-height:44px;margin:4px 0 0;padding:0 4px;border:0;background:none;color:var(--ink);font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;text-transform:uppercase;cursor:pointer}
.p2-wish span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.p2-wish:hover span{text-decoration-thickness:2px}
.p2-wish:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.p2-links{display:flex;justify-content:center;align-items:center;gap:8px 28px;flex-wrap:wrap;margin-top:4px}
.p2-links .p2-wish{margin:0}
/* Shop's "Buy with Shop" button: Shopify fixes its color and logo; only its shape and size are ours (square, as Add to bag) */
.p2-shop{margin-top:10px}
.p2-shop[hidden]{display:none}
.p2-shop shop-pay-button{display:block;--shop-pay-button-width:100%;--shop-pay-button-height:52px;--shop-pay-button-border-radius:0}
/* Shop Pay Installments line and its terms (spiText / spiDialog in js/storefront.js) */
.pdp-spi{margin-top:12px;font-size:14px;line-height:22px;color:var(--ink-blue);max-width:52ch}
.pdp-spi b{font-weight:600;font-variant-numeric:tabular-nums}
.spi-logo{font-weight:700;color:#5A31F4;letter-spacing:.1px;white-space:nowrap}
.pdp-pl-more{background:none;border:0;padding:0;font:inherit;color:var(--ink-blue);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.spi-plans{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:12px}
.spi-plans li{display:grid;gap:2px;padding-top:12px;border-top:1px solid var(--cloud-grey);font-size:15px;line-height:22px}
.spi-plans span{color:var(--slate-blue)}
.spi-legal{margin-top:18px;font-size:13px;line-height:20px;color:var(--slate-blue)}
/* product page availability (in stock / made to order / sold out): attribute badge, white with a 1px deep sea outline (Web Style Guide 04) */
html body #pdp-avail{display:inline-flex!important;align-items:center;gap:6px;width:fit-content!important;max-width:100%;min-height:24px;box-sizing:border-box;background:#fff;color:var(--ink);border:1px solid var(--deep-sea);padding:3px 8px;border-radius:0;font:500 11px/16px var(--body);letter-spacing:1.6px;text-transform:uppercase}
html body #pdp-avail svg{color:currentColor;stroke:currentColor;width:14px;height:14px;flex:none}
/* Shipping pill, info button beside an option row, the hand-graded note and the product FAQ */
.pdp-shipby{box-sizing:border-box;display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;margin:16px 0 0;padding:9px 16px;border:1px solid #1F2325;border-radius:0;font-size:14px;line-height:20px;letter-spacing:.06em;color:#1F2325}
.pdp-shipby[hidden]{display:none}
.pdp-shipby svg{flex:none;width:30px;height:22px}
.pdp-shipby span{flex:0 1 auto}
.pdp-opt-row.has-i{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;border-bottom:1px solid rgba(48,53,56,.22)}
.pdp-opt-row.has-i>.pdp-opt{border-bottom:0}
.pdp-opt-i{display:grid;place-items:center;width:44px;height:58px;padding:0;border:0;background:none;color:#1F2325;cursor:pointer}
.pdp-opt-i svg{width:24px;height:24px}
.pdp-opt-i:hover{color:#477F7D}
/* Availability and "Graded by hand" badges sit side by side */
.pdp-flagrow{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.pdp-flagrow:empty{display:none}
html body .pdp-flagrow #pdp-avail{margin:0}
/* Brand badge: sea green with ink text and a loupe icon (Web Style Guide 04) */
.pdp-graded{display:inline-flex;align-items:center;gap:6px;width:fit-content;max-width:100%;min-height:24px;box-sizing:border-box;margin:0;background:var(--sea-green);color:var(--ink);border:1px solid var(--sea-green);padding:3px 8px;border-radius:0;font:500 11px/16px var(--body);letter-spacing:1.6px;text-transform:uppercase}
.pdp-graded svg{width:14px;height:14px;flex:none}
/* Older cached scripts still render the retired centred note; hide it so it never shows unstyled */
.pdp-trust{display:none}
.p2-faq{max-width:820px;margin-inline:auto;padding-block:clamp(40px,5vw,72px)}
.p2-faq-h{font-family:var(--display);font-weight:400;font-size:clamp(24px,2.4vw,32px);letter-spacing:.3px;margin-bottom:clamp(16px,2vw,24px)}
.p2-faq-more{margin-top:20px}

/* Phones: one compact buy column modelled on the reference screenshots. Tighter header, boxed option rows,
   a centred subtotal, and sections below that scroll sideways instead of stacking full height. */
@media (max-width:699px){
  .pdp-flagrow{gap:6px}
  html body .pdp2 .pdp-title{font-size:25px!important;line-height:1.22;margin-top:14px}
  html body .pdp2 .pdp-pricerow{margin-top:10px;gap:16px}
  html body .pdp2 .pdp-pricerow #pdp-price{font-size:26px!important;line-height:32px!important;margin-top:0}
  html body .pdp2 .pdp-paylater{margin-top:10px;font-size:14px}
  html body .pdp2 .pdp-shipby{margin-top:14px;padding:8px 14px;font-size:13px}
  .pdp-opts{display:grid;gap:12px;margin-top:22px;border-top:0}
  .pdp-opts-chain,.pdp-opts+.pdp-opts-cert{margin-top:12px}
  .pdp-opt{border:1px solid #1F2325;background:#fff}
  .pdp-opts:has(.has-i) .pdp-opt-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;column-gap:6px;align-items:start;border-bottom:0}
  .pdp-opt-row.has-i{border-bottom:0}
  .pdp-opt-row.has-i>.pdp-opt{border-bottom:1px solid #1F2325}
  .pdp-opt-i{width:40px;height:52px}
  .pdp-opt>summary{min-height:52px;padding:10px 14px;gap:10px}
  .pdp-opt-n{font-size:13px;letter-spacing:2px}
  .pdp-opt-p{padding:4px 14px 16px}
  /* Phones: the buy area stacks, full-width Add to bag (Web Style Guide: button groups stack full width on phones) */
  html body .pdp2 .p2-buy{grid-template-columns:minmax(0,1fr);margin-top:22px}
  .p2-buy .pdp-subrow{min-height:0;margin-bottom:12px;font-size:13px;line-height:16px}
  .p2-buy .pdp-subrow b{font-size:24px;line-height:30px}
  html body .pdp2 .p2-buy{padding-top:22px}
  .p2-cta{grid-column:1}
  html body .pdp2 .len-ac{margin-top:18px}
  .p2-inc .inc-grid,html body .p2-rel .grid.four{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:78%;gap:14px!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:14px}
  .p2-inc .inc,html body .p2-rel .grid.four>*{scroll-snap-align:start}
  .p2-inc .inc:last-child:nth-child(odd){grid-column:auto;width:auto}
  .p2-inc-h,html body .p2-rel .p2-rel-h{text-align:center}
  .p2-faq{padding-top:36px}
}

/* About us header photo */
html body .ad-hero{margin:0;width:100%;aspect-ratio:3/1;overflow:hidden;background:#F0F6F1}
html body .ad-hero img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
@media (max-width:700px){html body .ad-hero{aspect-ratio:4/3}html body .ad-hero img{object-position:50% 40%}}

/* You may also like: smaller cards, centred block */
html body .p2-rel .p2-rel-h,html body .p2-rel .grid.four{max-width:820px;margin-inline:auto}
@media(min-width:900px){html body .p2-rel .grid.four{gap:clamp(16px,1.8vw,24px)!important}html body .p2-rel .card-body{padding:16px 16px 20px}html body .p2-rel .card-body .card-name,html body .p2-rel .card-body h3{font-size:15px}}

/* home hero slide 1: brand sea green on the copy panel, deepening at the seam into the photo's teal satin */
.hero.hcar{background:linear-gradient(90deg,#9CCBC9 0,#9CCBC9 28%,#6FB2AC 46.6%)}

/* product page: customer reviews (Judge.me) */
.p2-rev{padding-block:clamp(48px,6vw,88px);border-top:1px solid var(--soft-sand)}
.rev-wrap{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;max-width:1080px;margin-inline:auto}
.p2-rev-h{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,30px);letter-spacing:.3px;line-height:1.2}
.rev-sum{margin-top:20px}
.rev-avg{display:flex;align-items:center;gap:14px;margin:0}
.rev-avg b{font-family:var(--display);font-weight:400;font-size:44px;line-height:1;letter-spacing:.5px}
.rev-n{margin:8px 0 0;font-size:14px;line-height:22px;color:color-mix(in srgb,var(--ink-blue) 78%,transparent)}
.rev-none .rev-n{margin:0;font-family:var(--display);font-size:var(--fs-h3);line-height:26px;letter-spacing:.6px;color:var(--ink-blue)}
.rev-none .body{margin-top:6px;font-size:16px;line-height:26px}
.rev-stars{position:relative;display:inline-block;font-size:16px;letter-spacing:3px;line-height:1;color:#D8D2C8;white-space:nowrap}
.rev-stars::before{content:"★★★★★";position:absolute;inset:0;width:var(--r);overflow:hidden;color:var(--champagne-gold,#B49B7C)}
.rev-stars.lg{font-size:22px;letter-spacing:4px}
.rev-dist{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px;font-size:13px;line-height:18px;font-variant-numeric:tabular-nums}
.rev-dist li{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:10px}
.rev-dist li span:last-child{text-align:right;color:color-mix(in srgb,var(--ink-blue) 70%,transparent)}
.rev-dist i{position:relative;height:6px;border-radius:3px;background:var(--soft-sand);overflow:hidden}
.rev-dist i::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--champagne-gold,#B49B7C);border-radius:inherit}
.rev-write{margin-top:24px;width:100%}
.rev-list{list-style:none;margin:0;padding:0}
.rev{padding-block:24px;border-bottom:1px solid var(--soft-sand)}
.rev:first-child{padding-top:0}
.rev-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rev-date{font-size:13px;line-height:18px;color:color-mix(in srgb,var(--ink-blue) 70%,transparent)}
.rev-t{margin:12px 0 0;font-family:var(--body);font-weight:600;font-size:16px;line-height:24px;letter-spacing:0;text-transform:none}
.rev-b{margin:8px 0 0;font-size:15px;line-height:25px;max-width:68ch}
.rev-t+.rev-b{margin-top:4px}
.rev-img{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.rev-img img{width:96px;height:96px;object-fit:cover;border-radius:var(--r-sm);background:var(--mist-white)}
.rev-by{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:14px 0 0;font-size:14px;line-height:20px}
.rev-by b{font-weight:500}
.rev-v{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--deep-sea)}
.rev-v svg{width:14px;height:14px}
.rev-more{margin-top:24px}
.rev-form{margin-bottom:36px;padding:clamp(20px,3vw,32px);background:var(--mist-white);border-radius:6px}
.rev-form[hidden]{display:none}
.rev-rate{border:0;margin:0;padding:0}
.rev-rate legend{padding:0;font-size:13px;line-height:18px;font-weight:500}
.rev-pick{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;margin-top:6px}
.rev-pick input{position:absolute;opacity:0;width:1px;height:1px}
.rev-pick label{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:30px;line-height:1;color:#D8D2C8;cursor:pointer;transition:color .15s}
.rev-pick label:hover,.rev-pick label:hover~label,.rev-pick input:checked~label{color:var(--champagne-gold,#B49B7C)}
.rev-pick input:focus-visible+label{outline:2px solid var(--deep-sea);outline-offset:2px;border-radius:var(--r-sm)}
.rev-send{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.rev-send .form-msg{flex-basis:auto;flex:1 1 240px}
@media (max-width:899px){.rev-wrap{grid-template-columns:minmax(0,1fr);gap:28px}.rev-write{width:auto}}
@media (max-width:599px){.rev-write{width:100%}.rev-avg b{font-size:38px}}
.rev-empty{padding-block:clamp(40px,5vw,64px)}
.rev-empty .rev-wrap{grid-template-columns:minmax(0,1fr);gap:24px;max-width:720px;text-align:center}
.rev-empty .rev-sum{margin-top:12px}
.rev-empty .rev-write{width:auto;min-width:240px}
.rev-empty .rev-form{text-align:left;margin-bottom:0}
.p2-rev{scroll-margin-top:clamp(80px,10vw,140px)}

/* Product photo zoom (js/zoom.js).
   Desktop: the photo shows the magnifier-plus cursor; a click zooms it in place (.g-lens follows the mouse) and the
   cursor turns to magnifier-minus. Phone: a tap opens the photo full screen (.zm) for pinch, double-tap and swipe.
   White panel over the dialog scrim, square corners, no shadow; controls are 44px round icon buttons (Web Style Guide 03). */
.pdp .g-main[data-zoom="1"]{cursor:zoom-in}
.pdp .g-main.is-zoomed{cursor:zoom-out}
.g-lens{position:absolute;inset:0;z-index:1;background-color:var(--ph-ground,#F2F1ED);background-repeat:no-repeat;pointer-events:none}
.g-zoom{position:absolute;right:16px;bottom:16px;z-index:2;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);cursor:pointer;transition:background-color .3s cubic-bezier(.35,.55,.4,1),opacity .3s}
.g-zoom svg{width:22px;height:22px}
.g-zoom:hover{background:var(--salt-mint)}
.g-zoom[hidden]{display:none}
/* with a mouse the cursor already says "zoom": the round button only appears for keyboard users */
@media (hover:hover) and (pointer:fine){.g-zoom{opacity:0;pointer-events:none}.g-zoom:focus-visible{opacity:1;pointer-events:auto}}
.zm{position:fixed;inset:24px;width:auto;height:auto;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:var(--ph-ground,#F2F1ED);color:var(--ink);overflow:hidden}
.zm::backdrop{background:var(--scrim)}
.zm[open]{animation:zm-in .3s cubic-bezier(.35,.55,.4,1)}
@keyframes zm-in{from{opacity:0}to{opacity:1}}
.zm-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:72px 80px 56px;overflow:hidden;touch-action:none;cursor:zoom-in;user-select:none;-webkit-user-select:none}
.zm.is-zoomed .zm-stage{cursor:zoom-out}
.zm.is-dragging .zm-stage{cursor:grabbing}
.zm-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;transform-origin:50% 50%;transition:transform .3s cubic-bezier(.35,.55,.4,1);will-change:transform;-webkit-user-drag:none;pointer-events:none}
.zm.no-ease .zm-stage img{transition:none}
.zm-btn{position:absolute;z-index:2;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);cursor:pointer;transition:background-color .3s cubic-bezier(.35,.55,.4,1)}
.zm-btn svg{width:22px;height:22px}
.zm-btn:hover{background:var(--salt-mint)}
.zm-btn[hidden]{display:none}
.zm-x{top:12px;right:12px}
.zm-nav{top:50%;transform:translateY(-50%)}
.zm-prev{left:16px}.zm-next{right:16px}
.zm-hint{display:none;position:absolute;left:0;right:0;bottom:20px;z-index:1;margin:0;text-align:center;font:400 13px/20px var(--body);color:#6F6A64;pointer-events:none;transition:opacity .3s}
.zm.is-zoomed .zm-hint{opacity:0}
@media (hover:none),(pointer:coarse){.zm-hint{display:block}}
.zm-count{position:absolute;left:0;right:0;bottom:16px;z-index:1;margin:0;text-align:center;font:400 13px/20px var(--body);letter-spacing:1px;color:#6F6A64;pointer-events:none}
@media (max-width:899px){
  .zm{inset:0}
  .zm-stage{padding:56px 0}
  .zm-x{top:6px;right:6px}
  .zm-nav{display:none}
  .zm-count{top:18px;bottom:auto;left:16px;right:auto;text-align:left}
}
@media (prefers-reduced-motion:reduce){.zm[open]{animation:none}.zm-stage img,.zm-btn,.g-zoom{transition:none}}

/* ==== Web Style Guide ed. 2 + Color System ed. 3 alignment (site audit, Oct 24 2026) ====
   One place for the rules that bring older components in line with the guides: square corners, one badge set,
   one input, unified stars, body links, the type scale for page and section titles. */

/* 03 · square corners on every remaining pill (icon buttons, the heart and count badges stay round) */
.art-cap,.qty,.qty button,.toast,.tag,.opt,.thumb .tl,.mega .tip,.ship-pill,.pdp-ship,.hv-btn,
.pdp2 .cw-slot :is(#tryonButton,#MB_tryonButton){border-radius:var(--r-btn)}
html body .rv5,html body .rv5-card,.gd-has-fig>.gd-hfig{border-radius:0}
/* the home hero button: a standard L primary (Belleza 13px, 48px), hover sea green with ink text */
.hv-btn{min-height:var(--btn-h);background:var(--ink-blue);color:var(--pearl-white);font-family:var(--label);font-size:13px;line-height:16px;letter-spacing:2px;transition:background-color .2s,color .2s}
.hv-btn:hover{background:var(--brand);color:var(--on-brand)}
/* buttons inside rich text keep their own colors (the 404 page's ink button had ink text on ink) */
.lg-rich a.btn-dark{color:var(--pearl-white)}
.lg-rich a.btn-dark:hover{color:var(--on-brand)}
.lg-rich a.btn-line{color:var(--ink-blue)}

/* 01 · Belleza has one weight: drawer and dialog titles are h2 and must not be faux-bolded */
.drawer-head h2,h2.eyebrow{font-weight:400}

/* 04 · badges, one set: Noto Sans 500 11/16, 1.6px, uppercase, 24px, square.
   Collection badge (default): white, ink text, no outline. Brand badge (New): sea green. Attribute badge (Made to order, Sold out): white + deep sea outline. */
.card-badge,html body .shop #grid .card-badge,.hrail .card-badge.is-sold{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:0;border-radius:0;background:#fff;color:var(--ink-blue);font:500 11px/16px var(--body);letter-spacing:1.6px;text-transform:uppercase}
.card-badge.is-brand,html body .shop #grid .card-badge.is-brand{background:var(--brand);color:var(--on-brand)}
.card-badge.is-attr,html body .shop #grid .card-badge.is-attr,.card-badge.is-sold,html body .shop #grid .card-badge.is-sold{border:1px solid var(--brand-line);padding:3px 7px}

/* 05 · one input: 48px, 16px text, 1px deep sea outline, square, white */
html body .vip-body .vip-input,.vip-input{height:48px;border:1px solid var(--brand-line);border-radius:var(--r-input);background:#fff;font-size:16px}
html body .rs-sel{border-color:var(--brand-line);border-radius:var(--r-input);background:#fff;font-size:16px}
.input::placeholder,.vip-input::placeholder{color:var(--text-meta)}
.input:focus-visible,.vip-input:focus-visible,html body .rs-sel:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
html body .foot-news-row input{font-size:16px}

/* 04 · body links in articles, FAQ and policy pages: ink text, 2px sea green underline, deep sea on hover */
.faq :is(p,li) a:not(.btn):not(.cta-link),.art-body :is(p,li) a:not(.btn):not(.cta-link),.lg-rich :is(p,li) a:not(.btn):not(.cta-link){color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:4px;transition:text-decoration-color .2s}
.faq :is(p,li) a:not(.btn):not(.cta-link):hover,.art-body :is(p,li) a:not(.btn):not(.cta-link):hover,.lg-rich :is(p,li) a:not(.btn):not(.cta-link):hover{text-decoration-color:var(--brand-line)}

/* 06 · content cards 4:3, category cards 4:5 */
.bl-tile-img{aspect-ratio:4/3}

/* 01 · type scale: two H1 levels (hero 64/34, page title 40/30) and one section title (32/24, sentence case) */
html body .gd-band-h,html body .cw2-h1,html body #sv-h,html body #faq-h,html body .bl-h1{font-size:var(--fs-hero);line-height:1}
html body .ad-h1,html body .pr-hero-h{font-size:var(--fs-h1);line-height:1.05;letter-spacing:1.5px;text-transform:uppercase}
html body .hv-h2,html body .sg-h2,html body .sz2-h,html body .cw-h2,html body .sv-h,html body .p2-rel .p2-rel-h,html body .p2-inc-h,html body .p2-rev-h,html body .p2-faq-h,html body .cn-h,html body .vip-body .vip-h{font-size:var(--fs-h2);line-height:1.2;letter-spacing:.3px}
html body .ad-h2,html body .ec-insp-h,html body .hl.cw-h2{font-size:var(--fs-h2);line-height:1.2;letter-spacing:.3px;text-transform:none}
html body .pt3-name{font-size:var(--fs-h2)}
/* VIP dialog: L primary button (48px, Belleza 13px), hover sea green with ink text */
html body .vip-body .vip-btn{height:48px;font-size:13px;line-height:16px;transition:background-color .2s,color .2s}
html body .vip-body .vip-btn:hover{background:var(--brand);color:var(--on-brand)}

/* ===== Text links, one style site-wide (Web Style Guide 03, "Text link") =====
   Belleza 13/16, 2px tracking, uppercase by CSS, ink, 1px underline 6px below the text; hover thickens it to 2px.
   No colour change and no draw-in animation. Replaces the per-section variants (Noto Sans 11.5–15px, deep sea text,
   border-bottom underlines, sweep animations) that made the same kind of link look different from page to page. */
html:root body :is(.cta-link,.tf-link,.ad-link,.pdp-pe,.pr-read,.kf-u,.p2-wish span){font-family:var(--label);font-size:13px;line-height:16px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--ink);text-decoration-line:underline;text-decoration-style:solid;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:currentColor;border-bottom:0;transition:text-decoration-thickness .2s}
html:root body :is(.cta-link,.tf-link,.ad-link,.pdp-pe,.pr-read,.kf-u)::after{content:none}
html:root body :is(.cta-link,.tf-link,.ad-link,.pdp-pe,.pr-read,.kf-u):hover,
html:root body a:hover>:is(.kf-u),html:root body .p2-wish:hover span,
html:root body :is(.tile,.tf-card,.tf-two li,.gd-card):hover :is(.cta-link,.tf-link){text-decoration-thickness:2px;color:var(--ink)}
/* on dark photos and bands the same link is shell cream (white) */
html:root body :is(.designer-copy,.hv-bq-main,.hv-bq-s) :is(.cta-link,.hv-lk),html:root body :is(.hv-bq-main,.hv-bq-s) a:hover>.hv-lk{color:#fff}
html:root body .pdp-pe{min-height:32px;padding:0}

/* ===== Product page: product tiles' wishlist heart is the same on every grid (no cream disc) ===== */
html body .p2-rel .heart{background:transparent}
html body .p2-rel .heart:hover{background:var(--salt-mint)}
html body .pdp-shipby{letter-spacing:0}

/* ===== Body links inside running text: ink (or the text colour on dark bands), 2px sea green underline 4px below,
   hover turns the underline deep sea (Web Style Guide 04). One rule instead of five underline offsets. ===== */
html:root body main :is(p,li,dd) a:not([class]){color:inherit;text-decoration-line:underline;text-decoration-color:var(--sea-green);text-decoration-thickness:2px;text-underline-offset:4px;border-bottom:0;transition:text-decoration-color .2s}
html:root body main :is(p,li,dd) a:not([class]):hover{text-decoration-color:var(--deep-sea)}
/* Meet the designer: inside the page container, as it was earlier on Oct 25 */
html body .hv-dz{margin-block:var(--sp-l)}
html body .hv-dz .designer-wide{min-height:0}
html body .hv-dz .designer-wide .designer-copy{padding-left:clamp(28px,5vw,80px);max-width:min(56%,700px)}
@media (max-width:899px){html body .hv-dz .designer-wide .designer-copy{max-width:none;padding-inline:24px}}
/* Press strip: flush under the Meet the designer card, at the card's width */
html body .hv-dz .press-marquee{margin:0}
/* Bridal edit and Tahitian pearls: alternating rows, photo on one side and words with an outlined button on the other (square, no shadow) */
html body .hv-alt{display:flex;flex-direction:column;gap:var(--sp-l)}
html body .hv-alt-r{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:center}
html body .hv-alt-r.is-flip{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
html body .hv-alt-r.is-flip .hv-alt-i{order:2}
html body .hv-alt-i{display:block;aspect-ratio:4/3;overflow:hidden;background:#F2F1ED}
html body .hv-alt-i img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
html body .hv-alt-i:hover img{transform:scale(1.03)}
html body .hv-alt-tx{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
html body .hv-alt-h{margin:0;font:400 var(--fs-h2)/1.2 var(--display);letter-spacing:.3px;color:var(--ink)}
html body .hv-alt-p{margin:0;max-width:44ch;font:400 16px/26px 'Noto Sans',sans-serif;color:var(--text-2)}
html body .hv-alt-tx .btn{margin-top:8px}
@media (max-width:699px){html body .hv-alt-r,html body .hv-alt-r.is-flip{grid-template-columns:minmax(0,1fr);gap:20px}html body .hv-alt-r.is-flip .hv-alt-i{order:0}html body .hv-alt-tx{align-items:flex-start;text-align:left}}

/* pearl guide: films from the farms (YouTube embeds), square corners, no shadow */
html body .gd-watch{margin:0 0 clamp(56px,7vw,96px)}
html body .gd-watch-head{max-width:62ch;margin:0 0 clamp(24px,3vw,40px)}
html body .gd-watch-head .gd-eb{margin:0 0 10px}
html body .gd-watch-h{margin:0;font:400 var(--fs-h2)/1.15 var(--display);letter-spacing:.2px;color:var(--ink-strong)}
html body .gd-watch-l{margin:12px 0 0;color:var(--ink)}
html body .gd-vids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,40px)}
html body .gd-vid{margin:0}
html body .gd-vid-f{position:relative;aspect-ratio:16/9;background:var(--product-ground);border-radius:0;overflow:hidden}
html body .gd-vid-f iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
html body .gd-vid-h{margin:16px 0 0;font:400 var(--fs-h3)/1.3 var(--display);letter-spacing:.2px;color:var(--ink-strong)}
html body .gd-vid-p{margin:6px 0 0;color:var(--ink);max-width:56ch}
html body .gd-vid-c{margin:8px 0 0;color:var(--text-meta)}
@media(max-width:719px){html body .gd-vids{grid-template-columns:minmax(0,1fr)}}

/* Home hero slide 1 on phones: the copy sits on a sea-green band below the photo, not over it, so the necklace stays clear. */
@media (max-width:899px){
  .has-hero #view > .hero.hcar:first-child,.hero.hcar{display:flex;flex-direction:column;height:auto;background:var(--sea-green)}
  .has-hero #view > .hero.hcar:first-child > .hero-art,.hcar > .hero-art{order:-1;position:relative;inset:auto;height:auto;aspect-ratio:4/5}
  .has-hero #view > .hero.hcar:first-child > .hero-copy,.hcar > .hero-copy{position:relative;inset:auto;padding:28px var(--gutter) 64px;background:var(--sea-green)}
}
@media (min-width:600px) and (max-width:899px){.has-hero #view > .hero.hcar:first-child > .hero-art,.hcar > .hero-art{aspect-ratio:4/3}}

/* Zhang Eclipse hero with the beret photo (same as home hero 2): the whole photo, never cropped, on its own studio black.
   Desktop: photo at the full hero height against the right edge, its left edge fading into the black.
   The tagline sits on the photo, centred along the bottom, on desktop and phones. */
html body .ec .ec-cine.ec-wide.ec-full.ec-beret{background:#0C0E0C;isolation:auto}
html body .ec .ec-cine.ec-beret::before,html body .ec .ec-cine.ec-beret::after{content:none}
html body .ec .ec-cine.ec-beret::after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:0;height:35%;background:linear-gradient(0deg,rgba(12,14,12,.8) 0,rgba(12,14,12,0) 100%);pointer-events:none} /* a soft dark band at the foot of the photo so the tagline reads on it */
@media (min-width:900px){
  html body .ec .ec-cine.ec-wide.ec-full.ec-beret{aspect-ratio:auto;height:clamp(560px,calc(100vh - 230px),1000px);max-height:none;min-height:0}
  html body .ec .ec-cine.ec-beret>img{position:absolute;top:0;right:0;width:auto;height:100%;max-width:none;object-fit:contain;transform:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%);mask-image:linear-gradient(90deg,transparent 0,#000 12%)}
  html body .ec .ec-beret .ec-cap{left:50%;top:auto;bottom:7.4%;transform:translateX(-50%);width:auto;align-items:center;text-align:center}
  html body .ec .ec-beret .ec-cap .ec-h{font-size:max(15px,1.4vw)}
  html body .ec .ec-beret .ec-cap .ec-q{font-size:max(12px,.9vw);letter-spacing:.14em}
}
@media (max-width:899px){
  html body .ec .ec-cine.ec-wide.ec-full.ec-beret{aspect-ratio:auto;height:auto}
  html body .ec .ec-cine.ec-beret>img{position:static;width:100%;height:auto;object-fit:contain}
  html body .ec .ec-cine.ec-beret{position:relative}
  html body .ec .ec-beret .ec-cap{position:absolute;z-index:1;left:50%;bottom:24px;transform:translateX(-50%);width:calc(100% - 2*var(--gutter,24px));padding:0;align-items:center;text-align:center}
}

/* Home hero on phones: the text and button sit on the photo (both slides), not on a band below it.
   The photo fills the whole slide; a soft scrim at the bottom keeps the type readable. */
@media (max-width:899px){
  html.has-hero body #view > .hero.hcar:first-child{height:calc(100svh - 96px);min-height:600px;justify-content:flex-end;background:#0C0E0C}
  html.has-hero body #view > .hero.hcar:first-child > .hero-art{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;max-height:none;min-height:0}
  html.has-hero body #view > .hero.hcar:first-child > .hero-art img{width:100%;height:100%;object-fit:cover;object-position:62% 0}
  html.has-hero body #view > .hero.hcar:first-child > .hero-copy{position:relative;z-index:1;background:linear-gradient(0deg,rgba(247,244,234,.94) 0,rgba(247,244,234,.85) 60%,rgba(247,244,234,0) 100%);padding-top:96px;min-height:0}
  html body .hcs-1 .hcs-bg{inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:68% center}
  html body .hcs-1::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(12,14,12,.92) 0,rgba(12,14,12,.75) 30%,rgba(12,14,12,0) 55%)}
  html body .hcs-1 .hcs-copy{z-index:2}
}
/* Home hero slide 2 (Eclipse), desktop: words and button sit a little further right and lower */
@media (min-width:900px){html body .hcar .hcs-1 .hcs-copy{left:calc(max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter))) + 5vw);top:48%}}

/* Home hero slide 2 (Eclipse) on the night blue beret photo: the slide ground and shades take the photo's own blue
   (#04132F), so the faded left edge and the scrims meet the photo without a seam. */
html body .hcar .hcs-1{background:#04132F}
@media (min-width:900px){html body .hcar .hcs-1::before{background:linear-gradient(90deg,rgba(4,19,47,.45) 0,rgba(4,19,47,.15) 28%,rgba(4,19,47,0) 44%)}}
@media (max-width:899px){
  html.has-hero body #view > .hero.hcar:first-child{background:#04132F}
  html body .hcar .hcs-1::before{background:linear-gradient(0deg,rgba(4,19,47,.92) 0,rgba(4,19,47,.75) 30%,rgba(4,19,47,0) 55%)}
}
