/* Shared compact outer spacing. Never change hero media ratios or internal form spacing.
   Saved section padding is inline !important and takes precedence over this preset. */
html body :is(main>.section,.managed-products-section,#best-selling,#services-best-selling,#best-selling-lower,#collections-grid,#our-story,.stores-experience,#about-story,.corporate-showcase,.services-trusted-organisations,#news-stories,#contact-form,.collection-offers,.catalog-purity-strip,.concept-catalogue,.bullion-products,gf-gold-price>section,gf-trust-bar>.trust-bar-component,[class*="about-profile"]>section){padding-top:16px!important;padding-bottom:16px!important;margin-top:0!important;margin-bottom:0!important}
html body :is(gf-about-overview,gf-about-values,gf-about-journey,gf-about-leadership,gf-about-portfolio,gf-about-services,gf-about-reach,gf-about-corporate,gf-about-future,gf-about-engagement,gf-about-retail,gf-about-ambassadors,gf-about-contact)>section{padding-top:16px!important;padding-bottom:16px!important;margin-block:0!important}
html body .products-best-selling .hot-selling-heading{min-height:0!important;margin-bottom:20px!important}
html body .shop-category-heading{margin-bottom:20px!important}
@media(max-width:767px){
  html body :is(gf-about-overview,gf-about-values,gf-about-journey,gf-about-leadership,gf-about-portfolio,gf-about-services,gf-about-reach,gf-about-corporate,gf-about-retail,gf-about-future,gf-about-engagement,gf-about-ambassadors,gf-about-contact)>section{padding-top:12px!important;padding-bottom:12px!important}
  html body :is(main>.section,.managed-products-section,#best-selling,#services-best-selling,#best-selling-lower,#collections-grid,#our-story,.stores-experience,#about-story,.corporate-showcase,.services-trusted-organisations,#news-stories,#contact-form,.collection-offers,.catalog-purity-strip,.concept-catalogue,.bullion-products,gf-gold-price>section,gf-trust-bar>.trust-bar-component){padding-top:12px!important;padding-bottom:12px!important}
  html body:is(.home-page,.about-page) gf-trust-bar>.trust-bar-component.full-bleed-stats:is(#homepage-trust,#about-trust){padding-top:60px!important;padding-bottom:60px!important}
}
/* Identical header geometry on the main site and Bullion. Safe, numeric settings only. */
html:root{--gf-nav-desktopHeight:84px;--gf-nav-desktopGap:24px;--gf-nav-desktopActions:14px;--gf-nav-desktopSide:24px;--gf-nav-mobileHeight:64px;--gf-nav-mobileSide:14px;--gf-nav-mobileGap:0px}
@media(min-width:1281px){
  html:root,html body{--gf-header-height:var(--gf-nav-desktopHeight)!important;--gf-utility-height:34px!important}
  html body .site-header{height:var(--gf-nav-desktopHeight)!important;min-height:var(--gf-nav-desktopHeight)!important;top:34px!important}
  html body .site-header .nav{box-sizing:border-box!important;display:grid!important;grid-template-columns:120px minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;width:100%!important;max-width:none!important;height:var(--gf-nav-desktopHeight)!important;min-height:var(--gf-nav-desktopHeight)!important;margin:0!important;padding:0 var(--gf-nav-desktopSide)!important;position:relative!important}
  /* Share the navy panel's geometry with its logo. At mid-height the slanted
     edge is 27px inside the panel bounds; centre the link and glow there. */
  html body .site-header{--gf-desktop-brand-panel-width:calc(max(var(--gf-header-logo-width), calc((100vw - 1180px) / 2 + 300px - var(--gf-header-left-shift))) - 32px)}
  html body .site-header::before{width:var(--gf-desktop-brand-panel-width)!important}
  html body .site-header .brand,html body .site-header .brand:is(:hover,:focus,:focus-visible,:active){position:absolute!important;left:calc((var(--gf-desktop-brand-panel-width) - 27px) / 2)!important;top:50%!important;transform:translate(-50%,-50%)!important;justify-self:start!important;margin:0!important;width:120px!important;height:min(68px,calc(var(--gf-nav-desktopHeight) - 8px))!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}
  html body .site-header .brand .brand-logo-image{object-position:center!important}
  html body .site-header .brand::after{inset:0!important;background:radial-gradient(ellipse 54px 28px at 50% 50%,rgba(255,255,255,.38) 0%,rgba(255,255,255,.17) 34%,transparent 74%)!important}
  html body .site-header .brand:focus-visible{outline:2px solid var(--gold)!important;outline-offset:2px!important}
  html body .site-header .nav-links{grid-column:2!important}
  html body .site-header .nav-actions{grid-column:3!important}
  html body .site-header .nav-links{position:static!important;inset:auto!important;display:flex!important;flex-direction:row!important;justify-self:center!important;justify-content:center!important;align-items:center!important;gap:var(--gf-nav-desktopGap)!important;max-width:100%!important;width:max-content!important;padding:0!important;margin:0!important;transform:none!important}
  html body .site-header .nav-links>a,html body .site-header .nav-products-menu>a{font-size:var(--gf-nav-fit-font,14px)!important;letter-spacing:0!important;text-transform:none!important;margin:0!important;white-space:nowrap;flex-shrink:0}
  /* The first grid column reserves the whole navy panel, including its slant. */
  html body .site-header .nav{grid-template-columns:max(120px,calc(var(--gf-desktop-brand-panel-width) - var(--gf-nav-desktopSide))) minmax(0,1fr) auto!important}
  html body .site-header .nav-links{width:100%!important;min-width:0!important;gap:var(--gf-nav-fit-gap,var(--gf-nav-desktopGap))!important}
  html body .site-header .nav-actions{position:static!important;inset:auto!important;display:flex!important;justify-self:end!important;gap:var(--gf-nav-desktopActions)!important;margin:0!important;transform:none!important}
  html body .topbar{height:34px!important;min-height:34px!important}
}
@media(max-width:1280px){
  html:root,html body{--gf-header-height:var(--gf-nav-mobileHeight)!important;--gf-utility-height:0px!important}
  html body .topbar{display:none!important}
  html body .site-header{top:0!important;height:var(--gf-nav-mobileHeight)!important;min-height:var(--gf-nav-mobileHeight)!important}
  html body .site-header .nav{height:var(--gf-nav-mobileHeight)!important;min-height:var(--gf-nav-mobileHeight)!important;box-sizing:border-box!important;padding-inline:var(--gf-nav-mobileSide)!important}
  html body .site-header .nav-links{gap:var(--gf-nav-mobileGap)!important}
  /* Compact navigation starts at 1280px, including browser zoom on desktop.
     Keep every interaction state on the same anchor so legacy desktop hover
     rules cannot move the logo or its hit area outside the header. */
  html body .site-header .brand,html body .site-header .brand:is(:hover,:focus,:focus-visible,:active){position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;width:74px!important;min-width:74px!important;height:min(60px,calc(var(--gf-nav-mobileHeight) - 4px))!important;min-height:0!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
  html body .site-header .brand::after{inset:0!important;background:radial-gradient(ellipse 54px 28px at 50% 50%,rgba(255,255,255,.38) 0%,rgba(255,255,255,.17) 34%,transparent 74%)!important}
  html body .site-header .brand:focus-visible{outline:2px solid var(--gold)!important;outline-offset:0!important}
}


/* Responsive layout contract: media frames stay stable while copy flows naturally. */
html body .hero.hero-slider[class] .hero-copy-group.gf-edge-copy{position:absolute!important;left:var(--gf-copy-left)!important;top:var(--gf-copy-top)!important;right:auto!important;bottom:auto!important;width:var(--gf-copy-width)!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;transform:scale(var(--gf-copy-scale,1))!important;transform-origin:top left!important;overflow:visible!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:0!important;animation:none!important}
html body .hero.hero-slider:has(.gf-edge-copy) .hero-content{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important}
html body .hero.hero-slider[class] .gf-edge-copy>h1,html body .hero.hero-slider[class] .gf-edge-copy>p{position:static!important;inset:auto!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;transform:none!important;white-space:normal!important;overflow-wrap:anywhere}
html body .hero.hero-slider[class] .gf-edge-copy>h1{margin:0!important;line-height:1.08!important}
html body .hero.hero-slider[class] .gf-edge-copy>p{margin-top:24px!important;margin-bottom:0!important}
html body .hero.hero-slider[class] .gf-edge-copy .home-hero-cta-row{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:32px 0 0!important;padding:0!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;align-self:stretch!important;flex-shrink:0!important}
/* Fit long labels on the design canvas before scaling the whole group. */
html body .hero.hero-slider[class].content-align-left .gf-edge-copy,html body .hero.hero-slider[class].content-align-left .gf-edge-copy>h1,html body .hero.hero-slider[class].content-align-left .gf-edge-copy>p{text-align:left!important}
html body .hero.hero-slider[class].content-align-center .gf-edge-copy,html body .hero.hero-slider[class].content-align-center .gf-edge-copy>h1,html body .hero.hero-slider[class].content-align-center .gf-edge-copy>p{text-align:center!important}
html body .hero.hero-slider[class].content-align-right .gf-edge-copy,html body .hero.hero-slider[class].content-align-right .gf-edge-copy>h1,html body .hero.hero-slider[class].content-align-right .gf-edge-copy>p{text-align:right!important}
html body .hero.hero-slider[class].content-align-left .gf-edge-copy .home-hero-cta-row{justify-content:flex-start!important}
html body .hero.hero-slider[class].content-align-center .gf-edge-copy .home-hero-cta-row{justify-content:center!important}
html body .hero.hero-slider[class].content-align-right .gf-edge-copy .home-hero-cta-row{justify-content:flex-end!important}
html body .hero.hero-slider[class] .gf-edge-copy .home-hero-cta.is-managed-colors{height:auto!important;min-height:var(--managed-button-height,48px)!important;overflow:visible!important}
html.banner-editor-preview .hero-copy-group.gf-banner-draggable{outline:2px dashed #e6cf9a!important;outline-offset:4px;cursor:grab!important;touch-action:none;user-select:none}
html.banner-editor-preview .hero-copy-group.gf-banner-draggable:active{cursor:grabbing!important}
html.gf-page-loading :is(.hero-slide,.gf-static-banner-intro,.gf-banner-intro-sheen,.services-hero-v2-logo-track,.hero-dots button)::after,
html.gf-page-loading :is(.hero-slide,.gf-static-banner-intro,.gf-banner-intro-sheen,.services-hero-v2-logo-track,.hero-dots button){animation-play-state:paused!important}
html body .hero-slider .hero-slide.is-video-slide{animation:none!important;transform:none!important}
html body .hero-slider video{width:100%;height:100%;object-fit:cover;transform:none!important}
html body .hero-slider .hero-copy-group{box-sizing:border-box;max-width:calc(100% - 48px)!important;min-width:0;overflow-wrap:anywhere}
html body .hero-slider .home-hero-cta-row{flex-wrap:wrap!important;max-width:100%}
html body .hero-slider .home-hero-cta{max-width:100%!important;white-space:normal!important;min-width:min(132px,100%)!important;height:auto!important;min-height:var(--managed-button-height,44px)!important;padding:10px 16px!important}
/* Managed CTA rendering belongs to the shared banner system. Bullion routes do
   not load shop-managed.css, so keep their fill/outline contract identical. */
html body .hero.hero-slider .home-hero-cta.is-managed-colors{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:var(--managed-button-width,190px)!important;min-width:var(--managed-button-min-width,0px)!important;max-width:100%!important;min-height:var(--managed-button-height,48px)!important;height:auto!important;padding:8px 12px!important;border:1px solid var(--managed-button-outline,rgba(255,255,255,.92))!important;border-radius:0!important;background:var(--managed-button-fill,transparent)!important;color:var(--managed-button-text,#fff)!important;font:600 16px/1.2 Montserrat,sans-serif!important;text-decoration:none!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;box-shadow:none!important;backdrop-filter:none!important;transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}
html body .hero.hero-slider .home-hero-cta.is-managed-colors{font-size:var(--managed-button-font-size,16px)!important;padding:var(--managed-button-padding-y,8px) var(--managed-button-padding-x,12px)!important}
html body.home-page .hero.hero-slider .home-hero-cta.is-managed-colors,html body.managed-banner-page .hero.hero-slider .home-hero-cta.is-managed-colors{height:auto!important}
html body .hero-slider .hero-dots button.is-active::after{animation-duration:var(--banner-view-time,5s)!important}
html body .hero-slider.uses-video-duration .hero-dots button.is-active{background:rgba(255,255,255,.2)!important}
html body .hero-slider.uses-video-duration .hero-dots button.is-active::after{animation:none!important;transform:scaleX(var(--banner-video-progress,0))!important;transition:transform .18s linear}
@media(max-width:760px){
  html body:is(.home-page,.managed-banner-page) .hero.hero-slider{overflow:visible!important;margin-bottom:52px!important;box-shadow:0 52px 0 #fff!important}
  html body:is(.home-page,.managed-banner-page) .hero.hero-slider .hero-dots{bottom:-32px!important;z-index:22!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  html body:is(.home-page,.managed-banner-page) .hero.hero-slider .hero-dots button{border-color:#8490a4!important;background:rgba(13,27,61,.12)!important;box-shadow:none!important}
  html body:is(.home-page,.managed-banner-page) .hero.hero-slider .hero-dots button.is-active{border-color:#c6a15b!important;background:#fff!important}
}
html body .locations-page{overflow-x:clip}
html body.locations-page .stores-hero-v2{height:auto!important;min-height:0!important;overflow:hidden!important}
html body.locations-page .stores-hero-v2-inner{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;height:auto!important;min-height:440px!important;gap:clamp(24px,4vw,72px)!important;padding:clamp(32px,5vw,80px) clamp(20px,5vw,96px)!important}
html body.locations-page .stores-hero-v2-copy{display:flex!important;justify-content:center!important;align-items:flex-start!important;min-width:0!important;padding:0!important;gap:24px!important}
html body.locations-page .stores-hero-v2-copy h1{transform:none!important;overflow-wrap:normal;line-height:1!important}
html body.locations-page .stores-hero-v2-copy h1 span{font-size:clamp(2.3rem,5.5vw,6rem)!important}
html body.locations-page .stores-hero-v2-copy h1 em{font-size:clamp(2rem,4.6vw,5rem)!important}
html body.locations-page .stores-hero-v2-cta{position:static!important;transform:none!important;align-self:flex-start!important;margin:0!important;max-width:100%;min-width:0!important;width:auto!important;min-height:44px!important;font-size:14px!important;white-space:normal!important;padding:12px 20px!important}
html body.locations-page .stores-hero-v2-cta-mobile{display:none!important}
html body.locations-page .stores-hero-v2-collage{width:100%!important;max-width:100%!important;margin:0!important;padding:0 30px!important;touch-action:pan-y}
html body.locations-page .stores-hero-v2-carousel-viewport{height:auto!important;width:100%!important}
html body.locations-page .stores-hero-v2-carousel-track{flex-direction:row!important;height:auto!important;align-items:stretch!important}
html body.locations-page .stores-hero-v2-carousel-track figure{flex:0 0 calc((100% - var(--carousel-gap))/2)!important;height:auto!important;aspect-ratio:1.25!important}
html body.locations-page .stores-hero-v2-carousel-button{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:28px!important}
html body.locations-page .stores-hero-v2-carousel-prev{left:0!important;right:auto!important}
html body.locations-page .stores-hero-v2-carousel-next{right:0!important;left:auto!important}
html body.contact-page .contact-banner-v1,
html body.contact-page .about-banner-v1-inner,
html body.contact-page .about-banner-v1-composition{height:auto!important;min-height:0!important}
html body.contact-page .about-banner-v1-inner{padding:clamp(32px,5vw,80px) 24px!important}
html body.contact-page .about-banner-v1-composition{display:flex!important;flex-direction:column!important;gap:28px!important}
html body.contact-page .about-banner-v1-title{position:static!important;inset:auto!important;transform:none!important;max-width:1100px!important;width:auto!important;margin:0!important;font-size:clamp(2.2rem,5.4vw,5.6rem)!important;line-height:1.05!important;text-align:left!important}
html body.contact-page .about-banner-v1-title :is(.banner-word,.about-banner-v1-title-primary){white-space:normal!important}
html body.contact-page .about-banner-v1-title-secondary{display:block!important;margin-top:12px!important;font-size:.58em!important;line-height:1.15!important}
html body.contact-page .about-banner-v1-values{position:static!important;inset:auto!important;transform:none!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;width:100%!important;max-width:none!important;margin:0!important;order:3!important}
html body.contact-page .about-banner-v1-card{height:auto!important;min-height:160px!important;padding:20px 16px!important;overflow:visible!important;min-width:0!important}
html body.contact-page .about-banner-v1-card h2{font-size:16px!important;line-height:1.35!important}
html body.contact-page .about-banner-v1-card p{font-size:14px!important;line-height:1.6!important;overflow-wrap:anywhere}
html body.contact-page .about-banner-v1-cta{position:static!important;inset:auto!important;transform:none!important;align-self:flex-start!important;margin:0!important;min-height:44px!important;max-width:100%!important;font-size:14px!important;order:2!important}
@media(max-width:1000px){
 html body.locations-page .stores-hero-v2-inner{grid-template-columns:1fr!important;min-height:0!important}
 html body.locations-page .stores-hero-v2-copy{gap:20px!important}
 html body.contact-page .about-banner-v1-values{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 html body .hero-slider .hero-copy-group{max-width:calc(100% - 32px)!important}
 html body.services-page main>.section .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body.services-page main>.section .service-card>div{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;gap:12px!important;padding:18px!important}
 html body.services-page main>.section .service-card h3,
 html body.services-page main>.section .service-card p{display:block!important;-webkit-line-clamp:unset!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0!important}
 html body.services-page main>.section .service-card h3{font-size:20px!important;line-height:1.3!important}
 html body.services-page main>.section .service-card p{font-size:14px!important;line-height:1.65!important}
 html body.services-page main>.section .service-card a{padding-top:8px!important;line-height:1.5!important}
}
@media(max-width:520px){
 html body.services-page main>.section .services-grid{grid-template-columns:1fr!important}
 html body.locations-page .stores-hero-v2-carousel-track figure{flex-basis:100%!important;aspect-ratio:1.4!important}
 html body.contact-page .about-banner-v1-values{grid-template-columns:1fr!important}
 html body.contact-page .about-banner-v1-card{min-height:0!important}
}
@media(max-width:1280px){
 html:root,html body{--gf-mobile-header-height:var(--gf-nav-mobileHeight)!important}
 html body .site-header .nav{padding-inline:var(--gf-nav-mobileSide)!important}
 html body .site-header .nav-links{top:var(--gf-nav-mobileHeight)!important;height:calc(100dvh - var(--gf-nav-mobileHeight))!important;max-height:calc(100dvh - var(--gf-nav-mobileHeight))!important;gap:var(--gf-nav-mobileGap)!important}
}

/* The fixed desktop header reserves the same space on every public page. */
@media(min-width:1281px){
 html body[class]{padding-top:0!important}
 html body[class]>main{margin-top:0!important;padding-top:calc(var(--gf-nav-desktopHeight) + 34px)!important}
}
@media(max-width:1280px){
 html body[class]{padding-top:0!important}
 html body[class]>main{margin-top:0!important;padding-top:0!important}
}

/* Shared by jewellery and Bullion: keep the legacy sheen inside neither button
   nor copy group. Managed CTAs use their saved fill/hover colours instead. */
html body[class] .hero.hero-slider .home-hero-cta.is-managed-colors:is(:hover,:focus-visible){background:var(--managed-button-hover-fill)!important;color:var(--managed-button-hover-text)!important;box-shadow:none!important;}
html body[class] .hero.hero-slider .hero-copy-group .home-hero-cta.is-managed-colors::before,
html body[class] .hero.hero-slider .hero-copy-group .home-hero-cta.is-managed-colors::after{content:none!important;display:none!important;animation:none!important;background:none!important;box-shadow:none!important;}

/* Animate the reveal, not the outer box: no scaled page width or moving video frame. */
html body .gf-static-banner-intro{transform:none!important;animation:gfBannerFadeIn .55s ease both!important}
@keyframes gfBannerFadeIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){html body .gf-static-banner-intro{animation:none!important}}

/* Compact-layout CTA/navigation feedback only. Full desktop retains its
   original hover styles from the existing component stylesheets. */
@media(max-width:1280px){
html body :is(.btn,.home-hero-cta,.bullion-nav-cta,.catalog-investment-cta,.site-header .nav-links>a,.site-header .nav-products-menu>a,.site-header .nav-products-dropdown a,body .hero.hero-slider .home-hero-cta.is-managed-colors):not(:disabled):not([aria-disabled="true"]):not(.account-modal-danger):not(.danger):not(.account-signout):not([data-security-action="delete-account"]):not([data-security-otp-confirm]):not(.is-managed-colors){
  position:relative!important;isolation:isolate;overflow:hidden!important;
}
html body :is(.btn,.home-hero-cta,.bullion-nav-cta,.catalog-investment-cta,.site-header .nav-links>a,.site-header .nav-products-menu>a,.site-header .nav-products-dropdown a,body .hero.hero-slider .home-hero-cta.is-managed-colors):not(:disabled):not([aria-disabled="true"]):not(.account-modal-danger):not(.danger):not(.account-signout):not([data-security-action="delete-account"]):not([data-security-otp-confirm]):not(.is-managed-colors)::after{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;border-radius:inherit!important;pointer-events:none!important;
  background:radial-gradient(ellipse at center,#f8eac7 0%,#ead29b 55%,#c6a15b 100%)!important;
  opacity:0!important;transform:scaleX(0)!important;transform-origin:center!important;z-index:-1!important;
  box-shadow:none!important;transition:transform 380ms ease,opacity 180ms ease!important;
}
html body :is(.btn,.home-hero-cta,.bullion-nav-cta,.catalog-investment-cta,.site-header .nav-links>a,.site-header .nav-products-menu>a,.site-header .nav-products-dropdown a,body .hero.hero-slider .home-hero-cta.is-managed-colors):not(:disabled):not([aria-disabled="true"]):not(.account-modal-danger):not(.danger):not(.account-signout):not([data-security-action="delete-account"]):not([data-security-otp-confirm]):not(.is-managed-colors):is(:hover,:focus-visible){
  color:#0d1b3d!important;background:#e6cf9a!important;border-color:#b68b43!important;
  font-weight:700!important;transform:none!important;filter:none!important;
  box-shadow:0 3px 12px rgba(13,27,61,.12)!important;
}
html body :is(.btn,.home-hero-cta,.bullion-nav-cta,.catalog-investment-cta,.site-header .nav-links>a,.site-header .nav-products-menu>a,.site-header .nav-products-dropdown a,body .hero.hero-slider .home-hero-cta.is-managed-colors):not(:disabled):not([aria-disabled="true"]):not(.account-modal-danger):not(.danger):not(.account-signout):not([data-security-action="delete-account"]):not([data-security-otp-confirm]):not(.is-managed-colors):is(:hover,:focus-visible) :is(span,svg){
  color:inherit!important;font-weight:inherit!important;
}
html body :is(.btn,.home-hero-cta,.bullion-nav-cta,.catalog-investment-cta,.site-header .nav-links>a,.site-header .nav-products-menu>a,.site-header .nav-products-dropdown a,body .hero.hero-slider .home-hero-cta.is-managed-colors):not(:disabled):not([aria-disabled="true"]):not(.account-modal-danger):not(.danger):not(.account-signout):not([data-security-action="delete-account"]):not([data-security-otp-confirm]):not(.is-managed-colors):is(:hover,:focus-visible)::after{
  opacity:1!important;transform:scaleX(1)!important;
}
html body :is(.btn,.home-hero-cta,.bullion-nav-cta,.catalog-investment-cta,.site-header .nav-links>a,.site-header .nav-products-menu>a,.site-header .nav-products-dropdown a,body .hero.hero-slider .home-hero-cta.is-managed-colors):not(:disabled):not([aria-disabled="true"]):not(.account-modal-danger):not(.danger):not(.account-signout):not([data-security-action="delete-account"]):not([data-security-otp-confirm]):not(.is-managed-colors):focus-visible{
  outline:2px solid #0d1b3d!important;outline-offset:3px!important;
}
html body .site-header .nav-products-dropdown a:is(:hover,:focus-visible) img{
  filter:none!important;
}
@media(max-width:600px){
  html body.locations-page .stores-hero-v2-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:20px!important;
    padding:32px 20px 40px!important;
  }
  html body.locations-page .stores-hero-v2-copy{
    align-items:center!important;
    width:100%!important;
    text-align:center;
  }
  html body.locations-page .stores-hero-v2-copy .stores-hero-v2-cta{display:none!important}
  html body.locations-page .stores-hero-v2-cta-mobile{
    display:inline-flex!important;
    align-self:center!important;
    justify-self:center!important;
    margin:0 auto!important;
  }
}
@media(prefers-reduced-motion:reduce){
  html body :is(.btn,.home-hero-cta,.bullion-nav-cta,.catalog-investment-cta,.site-header .nav-links>a,.site-header .nav-products-menu>a,.site-header .nav-products-dropdown a,body .hero.hero-slider .home-hero-cta.is-managed-colors):not(:disabled):not([aria-disabled="true"]):not(.account-modal-danger):not(.danger):not(.account-signout):not([data-security-action="delete-account"]):not([data-security-otp-confirm]):not(.is-managed-colors)::after{transition:none!important;}
}
}

/* Custom height belongs to the page; all slides fill this same layout box. */
@media(min-width:761px){html body .hero.hero-slider.custom-desktop-banner-height{height:var(--desktop-banner-height)!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important}}
@media(max-width:760px){html body .hero.hero-slider.custom-mobile-banner-height{height:var(--mobile-banner-height)!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important}}
html body.bullion-page .bullion-price-table-overlay{padding:0;overflow:hidden;pointer-events:none}
html body.bullion-page .bullion-price-table-overlay .bullion-price-panel{position:absolute;box-sizing:border-box;overflow:auto;pointer-events:auto;overscroll-behavior:contain}
html body.bullion-page .bullion-price-panel.gf-banner-draggable{cursor:move;touch-action:none;outline:2px dashed #c6a15b;outline-offset:-3px}
html body.bullion-page .bullion-price-table-overlay .price-panel-heading h2{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500;letter-spacing:.02em;text-transform:none}
/* Jewellery titles reserve two lines; prices sit at the card's bottom edge. */
html body.catalog-page .products-grid .product-card{display:flex!important;flex-direction:column;height:100%}
html body.catalog-page .products-grid .product-card[hidden]{display:none!important}
html body.catalog-page .products-grid .product-card .product-open{display:flex!important;flex-direction:column;flex:1;min-height:0}
html body.catalog-page .products-grid .product-card .product-body{display:flex!important;flex-direction:column;flex:1;width:100%;box-sizing:border-box}
html body.catalog-page .products-grid .product-card .product-body h3.product-name{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important;white-space:normal!important;text-overflow:ellipsis;line-height:1.12!important;height:2.24em;min-height:2.24em;max-height:2.24em;flex-shrink:0}
html body.catalog-page .products-grid .product-card .product-meta{order:10!important;display:flex!important;align-items:baseline;justify-content:space-between;gap:8px;width:100%;min-width:0;box-sizing:border-box;margin-top:auto!important;padding-top:8px}
html body.catalog-page.catalog-concept-page .concept-products-grid .product-card .product-meta .product-category{padding-left:8px!important;box-sizing:border-box}
html body.catalog-page .products-grid .product-card .product-meta .product-category{display:block!important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:#858585;font-size:.82rem;letter-spacing:.03em}
html body.catalog-page .products-grid .product-card .product-meta .price.product-price{flex:none;margin-left:auto}
@media(max-width:760px){html body.catalog-page.catalog-concept-page .concept-products-grid .product-card:not(.loved-card) .product-meta{display:flex!important}}
html body.catalog-page .products-grid .product-card .product-img{flex-shrink:0;width:100%}
html body.catalog-page .catalog-sticky-tools{padding-top:20px!important;padding-bottom:12px!important}
/* Desktop prices stay together; the placement code fits the complete panel. */
@media(min-width:761px){
  html body.bullion-page .bullion-price-table-overlay .bullion-price-panel{overflow:visible;transform-origin:top left}
  html body.bullion-page .bullion-price-panel .concept-price-table{table-layout:auto}
  html body.bullion-page .bullion-price-panel .concept-price-table th,
  html body.bullion-page .bullion-price-panel .concept-price-table td{white-space:nowrap;overflow-wrap:normal;word-break:normal}
  html body.bullion-page .bullion-price-panel .concept-price-table th:not(:first-child),
  html body.bullion-page .bullion-price-panel .concept-price-table td{width:22%}
}

/* One wishlist card layout for jewellery and bullion, scoped away from catalogues. */
@media(max-width:640px){html body #favouritesGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}}
html body #favouritesGrid .wishlist-card .product-open{display:flex!important;flex-direction:column;height:100%;text-decoration:none;color:inherit}
html body #favouritesGrid .wishlist-card .product-body{display:flex!important;flex-direction:column;gap:7px;flex:1;padding:16px 18px!important;min-height:166px;box-sizing:border-box}
html body #favouritesGrid .wishlist-card .product-body h3.product-name{order:0!important;display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden!important;font:500 22px/1.2 'Cormorant Garamond',Georgia,serif!important;height:2.4em!important;min-height:2.4em!important;max-height:2.4em!important;margin:0!important;padding:0!important;white-space:normal!important}
html body #favouritesGrid .wishlist-card .wishlist-specs{order:1;font:400 13px/1.5 Montserrat,Arial,sans-serif;color:var(--navy);min-height:1.5em}
html body #favouritesGrid .wishlist-card .product-weight{order:2;font-size:12px;line-height:1.4;min-height:1.4em;margin:0}
html body #favouritesGrid .wishlist-card .product-meta{order:3!important;display:flex!important;justify-content:flex-end;margin-top:auto!important;padding-top:5px}
html body #favouritesGrid .wishlist-card .product-meta .price.product-price{font-size:18px!important;white-space:nowrap;line-height:1.3!important;padding:0!important}
@media(max-width:640px){html body #favouritesGrid .wishlist-card .product-body{padding:12px!important;min-height:154px}html body #favouritesGrid .wishlist-card .product-body h3.product-name{font-size:18px!important}html body #favouritesGrid .wishlist-card .wishlist-specs{font-size:11px}html body #favouritesGrid .wishlist-card .product-meta .price.product-price{font-size:15px!important}}

/* Jewellery catalogue images share a frame so the second photo never shifts layout. */
.product-img.catalogue-image-pair{position:relative;isolation:isolate}
.product-img.catalogue-image-pair .catalogue-image-main{transition:opacity .28s ease}
.product-img.catalogue-image-pair .catalogue-image-hover{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0;pointer-events:none;transition:opacity .28s ease;object-fit:contain}
@media(hover:hover) and (pointer:fine){
 .product-card:hover .hover-image-ready .catalogue-image-main{opacity:0}
 .product-card:hover .hover-image-ready .catalogue-image-hover{opacity:1}
}
@media(prefers-reduced-motion:reduce){.catalogue-image-pair img{transition:none!important}}

/* Jewelry refresh stays in the Filters & Sort bar at every width. */
html body.catalog-page .catalog-sticky-tools .container{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.jewelry-refresh-clock{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px;margin-left:auto;color:#0d1b3d;font:400 15px/1.5 Montserrat,Arial,sans-serif;font-variant-numeric:tabular-nums}
.jewelry-refresh-clock span{white-space:nowrap}
html body :is(.product-price,.detail-info .price).jewelry-price-up{--jewelry-glow:#078443;animation:jewelry-price-change 2.6s linear both!important}
html body :is(.product-price,.detail-info .price).jewelry-price-down{--jewelry-glow:#c52f3c;animation:jewelry-price-change 2.6s linear both!important}
/* Hold for two seconds, then fade for 0.6 seconds. JavaScript clears the state. */
@keyframes jewelry-price-change{0%,76.923%{color:var(--jewelry-glow);text-shadow:0 0 10px var(--jewelry-glow)}100%{color:var(--navy,#0d1b3d);text-shadow:0 0 10px transparent}}
@media(max-width:760px){.jewelry-refresh-clock{justify-content:flex-start;margin-left:0;font-size:13px;gap:4px 16px;width:100%}}
@media(prefers-reduced-motion:reduce){html body :is(.product-price,.detail-info .price):is(.jewelry-price-up,.jewelry-price-down){animation:none!important;color:var(--jewelry-glow)!important;text-shadow:none!important}}

/* The same filter control is used by both jewelry catalogue pages. */
body.catalog-concept-page .catalog-drawer-trigger{cursor:pointer!important;background:var(--navy)!important;color:#fff!important;pointer-events:auto!important;border-color:var(--navy)!important}
body.catalog-concept-page .catalog-drawer-trigger:hover,
body.catalog-concept-page .catalog-drawer-trigger:focus-visible{outline:2px solid var(--gold)!important;outline-offset:2px!important}
body.catalog-concept-page .catalog-drawer-trigger:hover{background:var(--gold)!important;color:#000!important;border-color:var(--gold)!important;box-shadow:0 8px 20px rgba(13,27,61,.16)!important}

/* Noto Serif Gurmukhi for jewelry product names and catalogue prices only.
   Google Fonts supplies the Latin subset used by these English product labels. */
@font-face{
  font-family:'Noto Serif Gurmukhi';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('https://fonts.gstatic.com/s/notoserifgurmukhi/v22/92zJtA9LNqsg7tCYlXdCV1VPnAEeDU0vBIokng.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Noto Serif Gurmukhi';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('https://fonts.gstatic.com/s/notoserifgurmukhi/v22/92zJtA9LNqsg7tCYlXdCV1VPnAEeDU0vBIQknsHL.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Noto Serif Gurmukhi';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('https://fonts.gstatic.com/s/notoserifgurmukhi/v22/92zJtA9LNqsg7tCYlXdCV1VPnAEeDU0vBKkknsHL.woff2') format('woff2');
  unicode-range:U+0951-0952,U+0964-0965,U+0A01-0A76,U+200C-200D,U+20B9,U+25CC,U+262C,U+A830-A839;
}
html body.catalog-page .products-grid .product-card .product-body h3.product-name,
html body.catalog-page .products-grid .product-card .product-meta .price.product-price,
html body.product-detail-page:not(.bullion-page) .detail-title-card h1{
  font-family:'Noto Serif Gurmukhi',Georgia,serif!important;
}

html body.catalog-page .products-grid .product-card .product-body h3.product-name,
html body.product-detail-page:not(.bullion-page) .detail-title-card h1{
  font-weight:400!important;
}

