/** Shopify CDN: Minification failed

Line 178:0 All "@import" rules must come first

**/
/* ============================================================================
   ps-header.css

   This file is ps-custom-header.css followed by ps-theme.css, concatenated on
   2026-08-09.

   Why: they were loaded as two adjacent render-blocking <link> tags in the body
   from sections/custom-header.liquid, costing ~650ms each on Slow 4G. Merging
   them into a single request removes one of those round trips outright.

   IMPORTANT: assets/ps-custom-header.css and assets/ps-theme.css are NO LONGER
   LOADED by the theme. They are still present in the theme, but editing them has
   NO EFFECT on the storefront. Edit THIS file instead.

   Order is significant and must be preserved: ps-theme.css overrides
   ps-custom-header.css in places, so ps-theme.css has to come second.
   ============================================================================ */

/* ----------------------------------------------------------------------------
   BEGIN ps-custom-header.css (verbatim)
   ---------------------------------------------------------------------------- */
/* Pruden & Smith custom header — scoped under .ps-nav */
.ps-nav{
  --chalk:#F5F2EC; --chalk-2:#ECE7DD; --ink:#212121; --ink-soft:#6F6A62;
  --hair:#E5E0D6; --sea:#AB8C52; --paper:#FCFBF9;
  --serif:"gill-sans-nova","Gill Sans Nova",Cabin,"Helvetica Neue",Arial,sans-serif;
  --sans:"gill-sans-nova","Gill Sans Nova",Cabin,"Helvetica Neue",Arial,sans-serif;
  font-family:var(--sans); color:var(--ink);
}
.ps-nav *{box-sizing:border-box}
.ps-nav a{color:inherit;text-decoration:none}
.ps-nav button{font-family:inherit}
.ps-nav .metal{display:inline-block;width:11px;height:11px;border-radius:50%;flex:none}

/* ============ DESKTOP ============ */
.ps-nav .dk{display:none}
.ps-nav .ps-mobile{display:block}
@media(min-width:1080px){
  .ps-nav .dk{display:block}
  .ps-nav .ps-mobile{display:none}
}
.ps-nav .dk-utility{background:var(--ink);color:#FCFAF6;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.ps-nav .dk-utility-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:8px clamp(24px,3vw,64px)}
.ps-nav .dk-utility-in .u-center{justify-self:center;text-align:center}
.ps-nav .dk-ulink{justify-self:start;color:#FCFAF6;cursor:pointer;background:none;border:none;font:inherit;letter-spacing:inherit;text-transform:inherit;opacity:.92}
.ps-nav .dk-ulink.u-right{justify-self:end}
.ps-nav .dk-utility-in .u-curr{justify-self:end}
.ps-nav .dk-ulink:hover{opacity:1}
@media(max-width:1180px){.ps-nav .dk-utility-in .dk-ulink{display:none}.ps-nav .dk-utility-in .u-curr{display:none}.ps-nav .dk-utility-in{grid-template-columns:1fr;gap:0}}

.ps-nav .dk{position:relative;z-index:50;background:var(--chalk);border-bottom:1px solid var(--hair);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}
.ps-nav.over-hero:not(.solid) .dk{background:transparent;border-bottom-color:transparent;box-shadow:none}
.ps-nav.over-hero.solid .dk{background:var(--chalk);border-bottom-color:var(--hair);box-shadow:0 2px 22px rgba(20,18,16,.07)}
.ps-nav.over-hero:not(.solid) .dk-logo{filter:brightness(0) invert(1)}
.ps-nav.over-hero:not(.solid) .dk-top{color:#fff}
.ps-nav.over-hero:not(.solid) .dk-top:after{background:#fff}
.ps-nav.over-hero:not(.solid) .dk-icons button,.ps-nav.over-hero:not(.solid) .dk-icons a{color:#fff}
.ps-nav.over-hero:not(.solid) .dk-icons svg{stroke:#fff}
.ps-nav .dk-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;padding:14px clamp(24px,3vw,64px)}
.ps-nav .dk-word{display:flex;align-items:center}
.ps-nav .dk-logo{height:46px;width:auto;display:block;transition:filter .3s ease}
.ps-nav .dk-nav{display:flex;justify-content:center;flex-wrap:nowrap;gap:26px}
.ps-nav .dk-top{white-space:nowrap;background:none;border:none;cursor:pointer;padding:16px 0;font-size:13px;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--ink);position:relative}
.ps-nav .dk-top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sea);transform:scaleX(0);transition:transform .25s ease}
.ps-nav .dk-top:hover:after,.ps-nav .dk-top.is-open:after{transform:scaleX(1)}
@media(min-width:1080px) and (max-width:1260px){
  .ps-nav .dk-bar{gap:18px}
  .ps-nav .dk-nav{gap:16px}
  .ps-nav .dk-top{font-size:11px;letter-spacing:.08em}
}
.ps-nav .dk-icons{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.ps-nav .dk-icons a,.ps-nav .dk-icons button{background:none;border:none;cursor:pointer;color:var(--ink);display:flex;align-items:center;position:relative}
.ps-nav .dk-icons svg{width:19px;height:19px;stroke:var(--ink);stroke-width:1.3;fill:none}
.ps-nav .ps-cartcount{position:absolute;top:-7px;right:-9px;min-width:15px;height:15px;border-radius:8px;background:var(--sea);color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}

.ps-nav .dk-mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--hair);box-shadow:0 26px 50px rgba(20,18,16,.10);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
.ps-nav .dk-mega.show{opacity:1;visibility:visible;transform:translateY(0)}
.ps-nav .dk-mega.mini{left:auto;right:auto;width:max-content;max-width:92vw;border:1px solid var(--hair);box-shadow:0 18px 40px rgba(20,18,16,.12)}
.ps-nav .dk-mega.mini .dk-panel{max-width:none;margin:0;grid-template-columns:auto;padding:16px 30px 20px;gap:0}
.ps-nav .dk-mega.mini .dk-cols{display:block}
.ps-nav .dk-mega.mini .dk-colblock{min-width:206px}
.ps-nav .dk-mega.mini .dk-leaf{padding:8px 0}
.ps-nav .dk-panel{display:none;max-width:1280px;margin:0 auto;padding:36px clamp(24px,3vw,56px) 42px;gap:44px;grid-template-columns:260px 1fr}
.ps-nav .dk-panel.active{display:grid}
.ps-nav .dk-panel.no-feature{grid-template-columns:1fr}
.ps-nav .dk-panel.wide{max-width:1460px}
.ps-nav .dk-panel.wide .dk-cols{gap:24px}
.ps-nav .dk-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:30px}
.ps-nav .dk-col-h{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:14px}
.ps-nav .dk-leaf{display:flex;align-items:center;gap:11px;padding:8px 0;font-size:15px;font-weight:300;color:var(--ink)}
.ps-nav .dk-leaf:hover{color:var(--sea)}
.ps-nav .dk-leaf .glyph{width:22px;height:22px;flex:none;display:flex;align-items:center;justify-content:center}
.ps-nav .dk-leaf .glyph svg{width:20px;height:20px;stroke:var(--sea);stroke-width:1.1;fill:none}
.ps-nav .dk-shopall{display:inline-block;margin-top:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--sea);border-bottom:1px solid var(--hair);padding-bottom:4px}
.ps-nav .dk-feature{background:var(--sea);color:var(--chalk);padding:26px 24px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;min-height:240px}
.ps-nav .dk-feature .fe{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;opacity:.95;margin-bottom:12px}
.ps-nav .dk-feature h3{font-family:var(--serif);font-weight:300;font-size:25px;line-height:1.18;margin-bottom:8px}
.ps-nav .dk-feature p{font-size:13px;opacity:.92;font-weight:300;margin-bottom:16px}
.ps-nav .dk-feature .go{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;border-bottom:1px solid rgba(241,240,235,.5);padding-bottom:5px;align-self:flex-start}
.ps-nav .dk-feature .gem{position:absolute;right:-14px;top:-14px;width:120px;height:120px;opacity:.16}
.ps-nav .dk-feature .gem svg{width:100%;height:100%;stroke:var(--chalk);stroke-width:.8;fill:none}
.ps-nav .dk-feature.has-img{background-color:#2a2622;background-size:cover;background-position:center}
.ps-nav .dk-feature.has-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,16,.78),rgba(20,18,16,.12) 62%);z-index:0}
.ps-nav .dk-feature.has-img > *{position:relative;z-index:1}
.ps-nav .dk-feature.has-img .gem{display:none}

/* localization (currency) */
.ps-nav .ps-loc{display:inline-block}
.ps-nav .ps-loc select{font:inherit;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:inherit;background:transparent;border:none;cursor:pointer;padding:2px 4px}
.ps-nav .ps-loc select option{color:#212121}

/* ============ MOBILE ============ */
.ps-nav .m-bar{position:relative;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px 14px;background:var(--chalk);border-bottom:1px solid var(--hair);transition:background .3s ease,border-color .3s ease}
.ps-nav .m-bar > .icon-btn{justify-self:start}
.ps-nav .m-bar .m-icons{justify-self:end}
.ps-nav.over-hero:not(.solid) .m-bar{background:transparent;border-bottom-color:transparent}
.ps-nav.over-hero:not(.solid) .m-bar .icon-btn svg,.ps-nav.over-hero:not(.solid) .m-icons svg{stroke:#fff}
.ps-nav.over-hero:not(.solid) .m-logo{filter:brightness(0) invert(1)}
.ps-nav .icon-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--ink);cursor:pointer}
.ps-nav .icon-btn svg{width:22px;height:22px;stroke:var(--ink);stroke-width:1.3;fill:none}
.ps-nav .m-logo-link{display:flex;justify-content:center;align-items:center}
.ps-nav .m-logo{height:42px;width:auto;display:block}
.ps-nav .m-icons{display:flex;align-items:center;gap:4px}
.ps-nav .m-icons a{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.ps-nav .m-icons svg{width:22px;height:22px;stroke:var(--ink);stroke-width:1.3;fill:none}

.ps-nav .ps-overlay{position:fixed;inset:0;background:rgba(20,18,16,.42);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:90}
.ps-nav .ps-overlay.show{opacity:1;visibility:visible}
.ps-nav .drawer{position:fixed;top:0;left:0;bottom:0;width:90%;max-width:380px;background:var(--paper);z-index:95;transform:translateX(-101%);transition:transform .34s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 60px rgba(0,0,0,.18)}
.ps-nav .drawer.open{transform:translateX(0)}
.ps-nav .d-head{flex:none;display:flex;align-items:center;justify-content:space-between;padding:16px 14px 14px 20px}
.ps-nav .d-head .mk{font-family:var(--serif);font-size:14px;letter-spacing:.22em;text-transform:uppercase}
.ps-nav .panels{position:relative;flex:1;overflow:hidden}
.ps-nav .panel{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--paper);overflow-y:auto;-webkit-overflow-scrolling:touch;transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .32s ease}
.ps-nav .panel.root{transform:translateX(0)}
.ps-nav .panel.root.pushed{transform:translateX(-24%);opacity:.35}
.ps-nav .panel.sub{transform:translateX(100%);overflow:hidden}
.ps-nav .panel.sub.open{transform:translateX(0)}
.ps-nav .search-row{flex:none;padding:4px 18px 14px}
.ps-nav .search-row a{display:flex;align-items:center;gap:10px;border:1px solid var(--hair);background:var(--chalk);border-radius:2px;padding:12px 14px;font-size:14px;color:var(--ink-soft)}
.ps-nav .search-row svg{width:18px;height:18px;stroke:var(--ink-soft);stroke-width:1.3;fill:none}
.ps-nav .nav-list{padding:0}
.ps-nav .nav-row{width:100%;background:none;border:none;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;height:56px;border-bottom:1px solid var(--hair);font-size:14px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.ps-nav .nav-row:first-child{border-top:1px solid var(--hair)}
.ps-nav .nav-row .chev{width:16px;height:16px;stroke:var(--ink-soft);stroke-width:1.4;fill:none;flex:none}
.ps-nav .sub-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.ps-nav .scroll-fade{position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(to top,var(--paper) 32%,rgba(252,251,249,0));pointer-events:none;opacity:0;transition:opacity .25s ease;z-index:3;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px}
.ps-nav .scroll-fade svg{width:22px;height:22px;stroke:var(--ink-soft);stroke-width:1.5;fill:none;animation:psnudge 1.6s ease-in-out infinite}
.ps-nav .scroll-fade.show{opacity:1}
@keyframes psnudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.ps-nav .back{flex:none;display:flex;align-items:center;gap:10px;width:100%;background:var(--chalk);border:none;border-bottom:1px solid var(--hair);cursor:pointer;padding:18px 20px;color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;position:sticky;top:0;z-index:2}
.ps-nav .back svg{width:18px;height:18px;stroke:var(--ink);stroke-width:1.4;fill:none}
.ps-nav .group-label{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);padding:20px 20px 8px;font-weight:500}
.ps-nav .leaf{width:100%;background:none;border:none;text-align:left;display:flex;align-items:center;gap:14px;padding:0 20px;height:52px;border-bottom:1px solid var(--hair);font-size:15px;color:var(--ink);font-weight:300}
.ps-nav .leaf .glyph{width:24px;height:24px;flex:none;display:flex;align-items:center;justify-content:center}
.ps-nav .leaf .glyph svg{width:22px;height:22px;stroke:var(--sea);stroke-width:1.1;fill:none}
.ps-nav .sub-pad{height:24px}
.ps-nav .d-foot{flex:none;border-top:1px solid var(--hair);padding:14px 20px 20px;margin-top:auto;display:flex;flex-direction:column;gap:2px}
.ps-nav .foot-row{display:flex;align-items:center;gap:13px;width:100%;background:none;border:none;border-bottom:1px solid var(--hair);cursor:pointer;padding:13px 2px;color:var(--ink);font-size:14px;font-weight:300;text-align:left}
.ps-nav .foot-row:last-child{border-bottom:none}
.ps-nav .foot-row svg{width:18px;height:18px;stroke:var(--ink-soft);stroke-width:1.3;fill:none;flex:none}
.ps-nav .foot-loc{padding-top:8px}
.ps-nav .foot-loc .ps-loc select{font-size:13px;letter-spacing:.04em;text-transform:none;color:var(--ink)}

/* ----------------------------------------------------------------------------
   END ps-custom-header.css
   BEGIN ps-theme.css (verbatim) — loaded second so its rules win where the two
   files overlap.
   ---------------------------------------------------------------------------- */
/* Pruden & Smith — brand base layer (BRAND-SYSTEM.md).
   Loaded sitewide via the custom-header section, AFTER the theme's own CSS,
   so these win the cascade. Adobe Fonts kit: lyr5nqg. */
@import url("https://use.typekit.net/lyr5nqg.css");

:root{
  --ink:#232220; --graphite:#52504B; --stone:#6E6B64;
  --cream:#F4F1EA; --bone:#FBFAF6; --white:#FFFFFF;
  --gold:#AB8C52; --gold-text:#7C6128; --gold-large:#94762F; --line:#E2DDD1;
  --ff:"gill-sans-nova","Gill Sans Nova","Gill Sans","Gill Sans MT",Calibri,system-ui,sans-serif;

  /* Type — remap the Broadcast theme's own variables to Gill Sans Nova */
  --FONT-STACK-HEADING:var(--ff); --FONT-STACK-BODY:var(--ff);
  --FONT-STACK-SUBHEADING:var(--ff); --BTN-FONT-STACK:var(--ff);
  --FONT-WEIGHT-BODY:400; --FONT-WEIGHT-HEADING:300; --FONT-WEIGHT-SUBHEADING:500;

  /* Colour — snap the theme's own tokens to the exact brand hexes (BRAND-SYSTEM.md §2) */
  --COLOR-BG:#FBFAF6; --COLOR-BG-GRADIENT:#FBFAF6; --COLOR-BG-ACCENT:#F4F1EA;
  --COLOR-BG-ACCENT-LIGHTEN:#FFFFFF;
  --COLOR-TEXT:#232220; --COLOR-TEXT-LIGHT:#6E6B64;
  --COLOR-LINK:#232220; --COLOR-BORDER-LIGHT:#E2DDD1;
  --COLOR-ACCENT:#AB8C52;
}

/* Base type — body Book/Regular 400 (BRAND-SYSTEM.md §1, §5) */
body{font-family:var(--ff);font-weight:400;font-size:16px;line-height:1.6;color:var(--ink);-webkit-font-smoothing:antialiased;}

/* Headings — Light 300 display, tight line-height per the scale (§5) */
h1,h2,.h1,.h2,.heading--large,.heading--x-large,.heading-medium,.hero__title,.banner__heading,.editorial__title{font-family:var(--ff);font-weight:300;letter-spacing:-.008em;line-height:1.08;}
h1,.h1,.heading--x-large,.hero__title{line-height:1.04;}
h3,.h3,.accordion__title,.product-item__title{font-family:var(--ff);font-weight:400;letter-spacing:0;line-height:1.25;}
/* Collection-grid block titles carry the .h3 class (weight 400) but are 36px display headings —
   slim them to Light 300 like the brick/hero section headings. (Must come after the .h3 rule.) */
.collection-block__title{font-weight:300;letter-spacing:-.008em;line-height:1.08;}

/* Eyebrows / small labels are Medium 500, not Light */
h1.ps-hero-eyebrow,.ps-hero-eyebrow,.eyebrow,.subheading{font-weight:500;letter-spacing:.16em;line-height:1.4;}

/* Functional layer = Medium 500 (buttons, prices) */
.btn,.button,.shopify-payment-button__button{font-family:var(--ff);font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-radius:0;}
/* Prices: regular weight (Book 400), Boodles-style understated — NOT bold */
.price,.price__regular,.price-item,.product__price,.new-price,.was-price,.product-item__price{font-family:var(--ff);font-weight:400;}

/* The gold rule (BRAND-SYSTEM.md §4): gold WRITES only for inline content links;
   structural/title/card links stay Ink. Hover = ink + gold underline. */
.rte a,.prose a,.product__description a,.article__content a,.metafield a,p a{color:var(--gold-text);text-underline-offset:3px;}
.rte a:hover,.prose a:hover,.product__description a:hover,.article__content a:hover,p a:hover{color:var(--ink);text-decoration-color:var(--gold);}
/* …but links inside an image banner/hero keep the banner's light text colour */
/* inline content links in banners inherit the banner text colour — but NOT buttons (their label must keep the button's own colour, or it vanishes) */
.hero__content a:not(.btn):not(.button),.hero__content__wrapper a:not(.btn):not(.button),.banner__content a:not(.btn):not(.button),.banner__text a:not(.btn):not(.button){color:inherit;}

/* Banner / hero copy was bleeding to the viewport edge — restore the page-gutter inset.
   Use the theme's own --outer gutter (same as .wrapper--full-padded) so hero copy lines up
   flush with the product grid, sub-category links, and the rest of the page at every width. */
.hero__content__wrapper{padding-left:var(--outer,clamp(24px,3vw,64px));padding-right:var(--outer,clamp(24px,3vw,64px));}
/* Bottom-aligned heroes only: lift copy/CTA off the bottom edge.
   Centre/middle-aligned heroes must NOT get this padding or their vertical centring breaks.
   Bottom gutter matches the left/right gutter so the inset is even on all sides. */
.hero__content__wrapper[class*="bottom"]{padding-bottom:var(--outer,clamp(24px,3vw,64px));}
/* The theme gives each .hero__button a 9px margin (for spacing between buttons) but
   doesn't cancel it on the group, so the first CTA sits 9px right of the copy above.
   Pull the group left by 9px so the CTA's left edge lines up with the heading/body. */
.hero__content__wrapper .hero__button-group{margin-left:-9px;}

/* AA fixes — brand-gold TEXT on light → Deep Gold */
.product-upsell__btn,.product-upsell__btn .btn__text{color:#7C6128;}
/* Cart upsell "+" add button (.btn__plus): it's a gold square whose plus uses currentColor
   (gold, from the rule above) and the theme's plus mask doesn't render — so the + was invisible
   (gold on gold). Keep the gold square and draw a crisp WHITE plus on it. */
.product-upsell__btn .btn__plus{background:#7C6128;}
.product-upsell__btn .btn__plus::before,.product-upsell__btn .btn__plus::after{content:"";position:absolute;top:50%;left:50%;background:#fff;border-radius:1px;}
.product-upsell__btn .btn__plus::before{width:11px;height:1.6px;transform:translate(-50%,-50%);}
.product-upsell__btn .btn__plus::after{width:1.6px;height:11px;transform:translate(-50%,-50%);}

/* ---- Custom header (.ps-nav) → brand spec (BRAND-SYSTEM.md §6) ---- */
.ps-nav{--chalk:#F4F1EA;--ink:#232220;--paper:#FBFAF6;--hair:#E2DDD1;}
/* Mega menu — use more of the screen width so long links don't wrap/stack */
.ps-nav .dk-panel{max-width:1640px;}
.ps-nav .dk-cols{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));column-gap:32px;}
/* Mega-menu feature image: give it more presence (wider column + taller min-height so short
   menus still show a generous image) and tidy the text to the brand (.12em caps, 14px body).
   :not(.no-feature) so menus without an image keep their full-width single column. */
.ps-nav .dk-panel:not(.no-feature){grid-template-columns:300px 1fr;}
.ps-nav .dk-feature{min-height:340px;padding:30px 26px;}
.ps-nav .dk-feature .fe{letter-spacing:.12em;font-size:10.5px;margin-bottom:14px;}
.ps-nav .dk-feature h3{font-size:24px;line-height:1.16;letter-spacing:-.008em;margin-bottom:10px;}
.ps-nav .dk-feature p{font-size:14px;line-height:1.55;opacity:.9;margin-bottom:18px;}
.ps-nav .dk-feature .go{letter-spacing:.12em;font-size:10.5px;}
.ps-nav .dk-top{font-weight:500;}
.ps-nav .nav-row{font-weight:500;}
.ps-nav .dk-utility{font-weight:500;}
/* Promo/utility bar — ALL text white (Emil 30 Jun); the centre tagline was Brand Gold */
.ps-nav .dk-utility,.ps-nav .dk-utility .dk-ulink,.ps-nav .dk-utility .u-center,.ps-nav .dk-utility .ps-cur-trigger{color:#fff;}
.ps-nav .dk-leaf{color:#52504B;font-weight:400;}
.ps-nav .dk-leaf:hover{color:#232220;}
.ps-nav .leaf{font-weight:400;}
.ps-nav .dk-shopall{color:#7C6128;}

/* Footer column titles → eyebrow treatment: tracked caps, Medium 500, Stone (Boodles-style) */
.footer__block__title{font-weight:500;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);}

/* ---- Type-scale alignment: pull the body layer up to the nav's standard ---- */
/* Body copy was running 17/18/20px across three theme classes — unify down.
   .body-medium=18→16, .body-large(lead)=20→18, custom section text=17→16. */
/* Body copy unified to the heritage-section size everywhere (16px / 1.6) — incl. banner lead copy */
.body-medium,.body-medium p{font-size:16px;line-height:1.6;}
.body-large,.body-large p{font-size:16px;line-height:1.6;}
.ps-process__text,.ps-process__text p{font-size:16px;}

/* Category tiles (Rings, Earrings…) were Light 300 at 20px — too thin under 24px. Book 400. */
.column__heading{font-weight:400;}

/* Product-card titles 18px → 16px so they sit in the nav's family */
/* Product cards: title + price at a refined 15px, regular weight (calmer, Boodles-like) */
.product-item__title{font-size:15px;}
.product-item__price,.product-item__price .price,.product-item__price .new-price{font-size:15px;}

/* Functional labels/pills/toggles: drop the old 600 weight to Medium 500, lift tiny 10px caps.
   These set size/weight on a child span or at higher specificity, so override directly. */
.popout__toggle .popout__toggleable-text{font-size:10.5px;font-weight:500;letter-spacing:.12em;}
/* Product-card text flush with the photo (remove the theme's left indent) */
.product-item__info{padding-left:0;}

/* ---- Sub-category internal links — overlay onto the hero image (all widths) ----
   Visual styling (white text links, fade, scrim, white divider) lives in
   sections/collection-related-links.liquid. Pull the ~59px band fully onto the bottom of
   the banner (image shows behind) with NO leftover flow space, so the filters bar meets the
   image edge; and add bottom room in the hero so the band never collides with the copy. */
.section-overlay-header{position:relative;z-index:2;}
.shopify-section:has(.ps-related-collections){position:relative;z-index:3;margin-top:-59px;}
.shopify-section:has(+ .shopify-section .ps-related-collections) .hero__content__wrapper{padding-bottom:78px;}

/* ---- Unified caps system — promo-bar styling everywhere (Medium 500, .12em); nav just bigger ----
   Emil approved the top promo-bar caps (10.5px / .12em). Apply to EVERY caps label; only the nav
   stays larger (13px, from ps-custom-header) — same weight/tracking, just a touch bigger. */
.ps-nav .dk-top,.ps-nav .nav-row,.ps-nav .dk-utility,
.btn,.button,.shopify-payment-button__button,
.ps-hero-eyebrow,.eyebrow,.subheading,.hero__subheading,.footer__block__title,
.caps--link,.sharing-button__text,.badge-box,.popout__toggle__text,.ps-csc-eyebrow,
.tabs .tab-link,.tabs .tab-link span{
  font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-family:var(--ff);}
/* size = 10.5px everywhere (the approved promo-bar size); the nav keeps its bigger 13px */
.btn,.button,.shopify-payment-button__button,.product-upsell__btn,.product-upsell__btn .btn__text,
.ps-hero-eyebrow,.eyebrow,.subheading,.hero__subheading,.footer__block__title,
.caps--link,.sharing-button__text,.badge-box,.popout__toggle__text,.ps-csc-eyebrow,
.tabs .tab-link,.tabs .tab-link span,
.ps-nav .dk-utility,.ps-nav .dk-ulink,.ps-nav .dk-utility .u-center{font-size:10.5px;}
/* PDP reviews caps ("25,000+ HAPPY CUSTOMERS") — scoped so generic .anchor-link text links are untouched */
.product__custom-code .anchor-link{font-size:10.5px;font-weight:500;letter-spacing:.12em;}

/* Editorial / press-logo eyebrows sit on light backgrounds — make them Stone like the others
   (NOT .hero__subheading, which can sit over photos and must stay light). */
.editorial__subheading,.logos__title{color:var(--stone);}

/* ---- Nav fine-tuning + promo CTA buttons ---- */
.ps-nav .dk-icons svg{width:21px;height:21px;}      /* right-hand icons a touch larger */
/* Diamond-shape glyphs: each shape uses a per-icon viewBox (in the header JS) so they all render
   at the same visual size; non-scaling-stroke keeps the line weight identical despite the
   different viewBox scales. */
.ps-nav .glyph svg *{vector-effect:non-scaling-stroke;}
/* Mobile cart-count bubble was anchored to the 44px tap target (top:-7/right:-9),
   which floats it off the icon, up near the announcement bar. Re-seat it on the
   cart glyph's top-right corner (svg is 22px centred in the 44px button). */
.ps-nav .m-icons a .ps-cartcount{top:5px;right:5px;}
.ps-nav .dk-top{font-size:12.5px;}                   /* main nav text ever so slightly smaller */
.btn,.button{justify-content:center;text-align:center;}  /* keep button labels centred */
/* Promo-section CTAs (brick / editorial two-column sections) → plain black UNDERLINED text, no button box (Emil 30 Jun) */
[class*="brick"] .btn,[class*="brick"] .button,[class*="editorial"] .btn,[class*="editorial"] .button{background:none;border:0;color:var(--ink);padding-left:0;padding-right:0;min-height:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;}
[class*="brick"] .btn:hover,[class*="brick"] .button:hover,[class*="editorial"] .btn:hover,[class*="editorial"] .button:hover{background:none;border:0;color:var(--ink);text-decoration-color:var(--gold);}

/* ---- Brick (text + image) sections — tidy landscape band so copy is spaced nicely ----
   These sections sit in a height-locked slideshow (flickity); when the image is square the
   band becomes very tall (~790px) and the centred copy is stranded in ~290px of dead space.
   Give the image frame a sensible landscape height on desktop (image cover-crops) so the text
   sits comfortably. Declared in the stylesheet (not injected) so flickity measures the shorter
   frames at init and locks its viewport to this height — no leftover gap below the band.
   Scoped to .brick__section so full-bleed image sections are untouched; mobile (stacked,
   <750px) keeps the image's own aspect. */
@media screen and (min-width:750px){
  .brick__section .image__hero__frame.image-height{padding-top:0 !important;height:clamp(420px,40vw,540px);min-height:0;}
  .brick__section .image__hero__frame.image-height img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
}
/* Brick copy sat too tight (its hero__content--compact children have no margins — spacing came
   only from line-height). Add an even 16px rhythm between eyebrow/heading/body/button so it
   breathes like the other content sections. Scoped to .brick__section (the bespoke text blocks
   already get their spacing from block-padding, so they're untouched). */
.brick__section .hero__content--compact{gap:16px;}

/* ---- Footer matched to the new mega-menu styling (.dk-col-h headings + .dk-leaf links) ---- */
.footer__block__title{font-size:10px;letter-spacing:.22em;color:#6F6A62;}
.footer__quicklinks a{font-size:15px;font-weight:400;color:#52504B;line-height:1.45;}
.footer__quicklinks a:hover{color:#232220;}
/* Gap below each caps heading was tighter (~16px) than the link-to-link rhythm (~34px) — even it
   up so the heading sits in the same rhythm as the rest. Desktop only (mobile = tap accordions).
   Needs .footer__block specificity to beat the theme's per-block summary margin. */
@media screen and (min-width:750px){.footer__block .footer__block__title{margin-bottom:28px;}}
/* Bottom bar (© line + Terms/Privacy/Cookie/Acceptable links) was 16px dark-slate / gold —
   bring it to the footer link style: 15px graphite, ink-on-hover, normal case. */
.supporting-menu,.supporting-menu__item,.supporting-menu a{font-size:15px;font-weight:400;color:#52504B;letter-spacing:normal;text-transform:none;}
.supporting-menu a:hover{color:#232220;text-decoration-color:var(--gold);}

/* ---- Currency picker — custom searchable dropdown in the top utility bar (brand-styled) ---- */
.ps-nav .ps-cur{position:relative;}
.ps-nav .ps-cur .ps-loc{margin:0;display:inline-block;}
.ps-nav .ps-cur-trigger{display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;color:inherit;font-family:var(--ff);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:2px 0;line-height:1;}
.ps-nav .ps-cur-chev{stroke:currentColor;stroke-width:1.7;fill:none;transition:transform .2s ease;}
.ps-nav .ps-cur-trigger[aria-expanded="true"] .ps-cur-chev{transform:rotate(180deg);}
.ps-nav .ps-cur-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:200;width:312px;max-width:86vw;background:var(--bone);border:1px solid var(--line);box-shadow:0 20px 48px rgba(20,18,16,.16);padding:12px;text-transform:none;letter-spacing:normal;}
.ps-nav .ps-cur-filter{width:100%;box-sizing:border-box;border:1px solid var(--line);background:#fff;color:var(--ink);font-family:var(--ff);font-size:14px;letter-spacing:0;text-transform:none;padding:10px 12px;margin-bottom:8px;outline:none;}
.ps-nav .ps-cur-filter::placeholder{color:var(--stone);}
.ps-nav .ps-cur-filter:focus{border-color:var(--gold);}
.ps-nav .ps-cur-list{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;}
.ps-nav .ps-cur-opt{display:flex;align-items:baseline;gap:6px;width:100%;text-align:left;background:none;border:0;cursor:pointer;font-family:var(--ff);font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);padding:9px 10px;line-height:1.3;}
.ps-nav .ps-cur-opt:hover{background:var(--cream);}
.ps-nav .ps-cur-code{color:var(--stone);font-size:12.5px;}
.ps-nav .ps-cur-opt.is-current{color:var(--gold-text);}
.ps-nav .ps-cur-now{margin-left:auto;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);align-self:center;}
.ps-nav .ps-cur-div{height:1px;background:var(--line);margin:8px 4px;}
.ps-nav .ps-cur-list::-webkit-scrollbar{width:8px;}
.ps-nav .ps-cur-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}

/* ---- Mobile currency picker (drawer footer) — same searchable picker, opens UPWARD ---- */
.ps-nav .ps-cur--m{position:relative;display:block;}
.ps-nav .ps-cur--m .ps-loc{display:block;margin:0;}
/* trigger looks like the other drawer footer rows (icon + label + chevron) */
.ps-nav .ps-cur--m .ps-cur-trigger{display:flex;align-items:center;gap:13px;width:100%;padding:13px 2px;border:0;background:none;cursor:pointer;color:var(--ink);font-family:var(--ff);font-size:14px;font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.3;text-align:left;}
.ps-nav .ps-cur--m .ps-cur-glb{width:18px;height:18px;stroke:var(--stone);stroke-width:1.3;fill:none;flex:none;}
.ps-nav .ps-cur--m .ps-cur-now-label{flex:1;}
.ps-nav .ps-cur--m .ps-cur-chev{width:12px;height:12px;flex:none;}
/* panel opens above the trigger (it sits at the bottom of the drawer), full width */
.ps-nav .ps-cur--m .ps-cur-panel{position:absolute;left:0;right:0;top:auto;bottom:calc(100% + 8px);width:auto;max-width:none;max-height:52vh;display:flex;flex-direction:column;overflow:hidden;}
/* the display:flex above overrides [hidden]'s display:none — restore it so the panel actually closes */
.ps-nav .ps-cur--m .ps-cur-panel[hidden]{display:none;}
.ps-nav .ps-cur--m .ps-cur-list{max-height:none;flex:1 1 auto;}

/* On dark surfaces Brand Gold may carry text (5:1 on Ink) */
.announcement-bar,.footer,.section-footer{--gold-text:var(--gold);}

/* ---- Single underline on links (BRAND-SYSTEM.md §4) ----
   Fixes the double underline appearing on some content links. The theme draws a
   secondary underline (Archetype's background-image gradient underline and/or a
   border-bottom) underneath the normal text-decoration underline; because our
   content-link rule adds text-underline-offset:3px, the text-decoration line is
   lifted away from the secondary one and BOTH become visible as two parallel lines.
   Collapse each content link back to exactly ONE text-decoration underline and
   remove the secondary one. Buttons and nav are excluded. */
.rte a:not(.btn):not(.button),.prose a:not(.btn):not(.button),.article__content a:not(.btn):not(.button),.product__description a:not(.btn):not(.button),.metafield a:not(.btn):not(.button),.page__content a:not(.btn):not(.button),.accordion__content a:not(.btn):not(.button),.accordion__body a:not(.btn):not(.button),.collapsible-content a:not(.btn):not(.button),p a:not(.btn):not(.button){text-decoration-line:underline;background-image:none;border-bottom:0 none;}
.rte a span,.prose a span,.article__content a span,.product__description a span,.metafield a span,.page__content a span,.accordion__content a span,.accordion__body a span,.collapsible-content a span,p a span{text-decoration:none;background-image:none;border-bottom:0 none;}
