body, button, input, textarea, select { font-family: var(--hp-body-font, 'Segoe UI', Arial, sans-serif); }
body { font-size: var(--hp-body-size, 16px); font-weight: 400; letter-spacing: .005em; }
h1, h2, h3, h4, h5, h6, .hp-category-name, .hp-brand-row a, .hs-no-image, .hs-filter-fields h3, .hs-category-row strong, .hs-dialog > header h2, .hs-engraving-step h3 { font-family: var(--hp-heading-font, Georgia, 'Times New Roman', serif); }
.hp-wordmark { font-family: var(--hp-logo-font); }
.hp-wordmark span, .hp-category-name small, .hp-category-name > span:last-child { font-family: var(--hp-body-font); }
h1, .hs-product-info h1, .hp-page h1, .hs-heading h1 { font-size: var(--hp-h1-size, 54px); }
h2, .hs-dialog > header h2 { font-size: var(--hp-h2-size, 48px); }
h3, h4, h5, h6, .hp-category-name, .hp-brand-row a, .hs-filter-fields h3, .hs-category-row strong, .hs-engraving-step h3 { font-size: var(--hp-h3-size, 24px); }
.hp-hero-copy h1 { font-size: var(--hp-hero-title-size, 84px); }
.hp-menu, .hp-catalog-trigger, .hp-contact-links, .hp-contact-links .hp-phone, .hp-contact-links button, .hp-header-actions button { font-size: var(--hp-menu-size, 13px); }
.hs-button, .hp-hero-copy .hs-button, .hs-text-button, .hs-text-link { font-size: var(--hp-button-size, 14px); }
input, textarea, select, .hs-filter-fields input, .hs-filter-fields select, .hs-dialog input:not([type=checkbox]):not([type=range]), .hs-dialog select, .hs-dialog textarea { font-size: var(--hp-form-size, 16px); }
.hs-card h3 { font-size: var(--hp-card-title-size, 16px); }
.hs-price { font-size: var(--hp-price-size, 16px); }
.hs-detail-price { font-size: var(--hp-detail-price-size, 30px); }
.hs-muted, .hp-hero-copy p, .hp-story p, .hs-product-note, .hs-category-description, .hs-availability, .hs-store-stock, .hp-footer .hp-wordmark + p { font-size: var(--hp-muted-size, 14px); }
.hs-overline, .hs-card-content .hs-overline, .hs-breadcrumbs, .hp-topline, .hp-header-note, .hp-hero-caption, .hp-scroll-note, .hp-category-index, .hp-category-name small, .hp-category-name > span:last-child, .hp-benefits, .hp-footer-grid > div > a:not(.hp-wordmark):not(.custom-logo-link), .hp-footer-bottom, .hs-price del, .hs-badge, .hs-catalog-toolbar label, .hs-filter-fields label, .hs-quantity-label, .hs-cart-line small, .hs-category-row small, small { font-size: var(--hp-small-size, 10px); }
.hp-wordmark, .hp-footer .hp-wordmark { font-size: var(--hp-logo-size, 29px); }
.hp-wordmark span, .hp-footer .hp-wordmark span { font-size: var(--hp-logo-caption-size, 8px); }
h1, h2 { text-wrap: balance; }
.hp-header-main, .hp-header-bottom { transition: border-color .3s ease, background-color .3s ease; }
.hp-menu a, .hp-header-actions button, .hp-contact-links a { transition: color .22s ease, opacity .22s ease; }
.hp-menu a:hover, .hp-header-actions button:hover, .hp-contact-links a:hover { color: var(--hs-accent); }
.hp-hero { box-shadow: 0 28px 80px rgba(58, 48, 35, .06); }
.hp-hero-photo img, .hp-hero-photo video { width: 100%; height: 100%; min-height: 570px; object-fit: cover; transform: scale(1.015); transition: transform 1.1s cubic-bezier(.2,.75,.25,1); }
.hp-hero:hover .hp-hero-photo img, .hp-hero:hover .hp-hero-photo video { transform: scale(1.035); }
.hp-hero-has-video .hp-hero-photo::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(35,29,23,.13), transparent 38%, transparent 72%, rgba(35,29,23,.08)); }
.hp-video-toggle { position: absolute; z-index: 2; left: 22px; bottom: 22px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.55); background: rgba(31,27,23,.48); color: #fff; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(8px); transition: background .2s ease, transform .2s ease; }
.hp-video-toggle:hover { background: rgba(31,27,23,.75); transform: translateY(-2px); }
.hp-social-link { display: inline-flex!important; align-items: center; justify-content: center; gap: 7px; }
.hp-social-link svg { width: 17px; height: 17px; }
.hp-category-tile, .hs-card-photo { box-shadow: 0 18px 45px rgba(63, 53, 40, .045); transition: transform .38s ease, box-shadow .38s ease; }
.hp-category-tile:hover, .hs-card:hover .hs-card-photo { transform: translateY(-4px); box-shadow: 0 24px 55px rgba(63, 53, 40, .1); }
.hs-button { overflow: hidden; position: relative; transition: color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.hs-button:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(40,37,31,.15); }
.hs-card-arrow { transition: color .25s ease, background-color .25s ease, transform .25s ease; }
.hs-card:hover .hs-card-arrow { color: var(--hs-white); background: var(--hs-ink); transform: translateX(3px); }
.hs-reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.75,.25,1); transition-delay: var(--hs-reveal-delay, 0ms); }
.hs-reveal.is-visible { opacity: 1; transform: none; }
.hs-dialog[open] { animation: hp-dialog-in .32s ease both; }
.hs-dialog[open]::backdrop { animation: hp-backdrop-in .25s ease both; }
@keyframes hp-dialog-in { from { opacity: 0; transform: translateY(14px) scale(.985); } }
@keyframes hp-backdrop-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .hs-reveal { opacity: 1; transform: none; }
  .hp-hero-photo img, .hp-hero-photo video, .hp-category-tile, .hs-card-photo, .hs-button, .hs-card-arrow { transition: none; transform: none; }
  .hs-dialog[open], .hs-dialog[open]::backdrop { animation: none; }
}
@media(max-width:600px){h1,.hs-product-info h1,.hp-page h1,.hs-heading h1{font-size:min(var(--hp-h1-size,54px),42px)}h2,.hs-dialog>header h2{font-size:min(var(--hp-h2-size,48px),36px)}h3,h4,h5,h6,.hp-category-name,.hp-brand-row a,.hs-filter-fields h3,.hs-category-row strong,.hs-engraving-step h3{font-size:min(var(--hp-h3-size,24px),30px)}.hp-hero-copy h1{font-size:min(var(--hp-hero-title-size,84px),52px)}.hp-wordmark,.hp-footer .hp-wordmark{font-size:min(var(--hp-logo-size,29px),29px)}.hp-hero-photo video{min-height:0;aspect-ratio:1.5}.hp-video-toggle{left:14px;bottom:14px;font-size:8px;padding:6px 9px}}
