@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 300 900; font-display: swap; src: url('/assets/storefront/fonts/figtree-variable.woff2') format('woff2'); }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/storefront/fonts/dm-mono-regular.woff2') format('woff2'); }
@font-face { font-family: 'DM Mono'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/storefront/fonts/dm-mono-medium.woff2') format('woff2'); }
:root { --primary-ink:#073dcc; --on-primary:#fff; --primary-strong:#122b86; --ink:#111217; --paper:#fff; --blue:#073dcc; --coral:#f57769; --font-primary: 'Figtree', 'Helvetica Neue', Helvetica, Arial, sans-serif; --font-mono: 'DM Mono', Consolas, monospace; --store-font: var(--font-primary); --store-gutter:max(1rem,4vw,calc((100% - 1232px) / 2)); }
button,select,.eyebrow,.home-hero-eyebrow,.home-button,.home-heading > a,.site-nav a,.catalog-price,[data-product-price],.cart-unit-price,.cart-row .cart-total,.cart-summary dd { font-family: var(--font-mono); font-synthesis: none; }
.site-header { position:relative; z-index:5; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:1.5rem; align-items:center; padding:1rem var(--store-gutter); background:var(--paper); color:var(--ink); }
.site-header a { color:inherit; }
.site-brand { font-size:1.1rem; font-weight:800; letter-spacing:.1em; text-decoration:none; overflow-wrap:anywhere; min-width:0; }
.site-brand img { max-width: 180px; max-height: 48px; width: auto; height: auto; object-fit: contain; vertical-align: middle; }
.site-header > .site-brand { justify-self:start; max-width:100%; }
.site-nav,.site-actions { display:flex; align-items:center; gap:1.2rem; }
.site-nav { justify-content:center; font-size:14px; font-weight:400; }
.site-nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.site-nav a:hover { text-decoration:underline; }
.site-actions { justify-self:end; gap:.3rem; }
.site-actions button { border:0; background:transparent; font-size:.8rem; }
.site-actions .cart-trigger { position:relative; display:inline-grid; place-items:center; width:44px; height:44px; padding:0; flex-shrink:0; background:transparent; color:var(--ink); border-radius:50%; }
.site-actions .cart-trigger:hover:not(:disabled) { background:#eee6da; }
.cart-badge { position:absolute; top:-2px; right:-4px; display:grid; place-items:center; min-width:19px; height:19px; padding:0 4px; border-radius:12px; background:var(--blue); color:var(--on-primary); font-size:10px; line-height:1; font-weight:750; font-variant-numeric:tabular-nums; border:2px solid var(--paper); }
.site-search { position:absolute; top:100%; right:var(--store-gutter); padding:1.25rem; background:var(--paper); width:min(27rem,88vw); border:1px solid #eadfd1; box-shadow:0 12px 40px #0002; }
.site-search div { display:flex; gap:.5rem; }
.site-search label { margin:0 0 .5rem; font-weight:700; }
.site-search input { min-width:0; }
.site-footer { background:var(--primary-strong); color:#fff; padding:0 var(--store-gutter); }
.site-footer a { color:inherit; text-decoration:none; }
.site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.site-footer a:focus-visible { outline-color:#fff; }
.site-footer-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding-block:1.5rem; border-bottom:1px solid #ffffff30; }
.site-footer-benefits > div { display:flex; align-items:center; gap:1rem; min-width:0; }
.site-footer-benefits svg { width:28px; height:28px; flex-shrink:0; }
.site-footer-benefits p { display:grid; gap:.15rem; margin:0; font-size:12px; line-height:1.55; }
.site-footer-benefits strong { font-weight:600; font-size:14px; }
.site-footer-benefits p > span { color:#ffffffcf; }
.site-footer-grid { display:grid; grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,1fr)); gap:2rem; padding-block:2.25rem; align-items:start; }
.site-footer-brand .site-brand { display:inline-block; font-size:23px; line-height:1.25; margin-bottom:.7rem; letter-spacing:.02em; }
.site-footer-brand p { font-size:13px; line-height:1.75; color:#ffffffcf; margin:.3rem 0 1rem; }
.site-footer-brand .site-footer-order-note { font-size:12px; margin:0; }
.site-footer-social { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:1rem 0 .75rem; }
.site-footer-social .site-footer-social-button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; flex:0 0 44px; padding:0; border:1px solid #ffffff65; border-radius:50%; background:#ffffff0c; color:#fff; text-decoration:none; }
.site-footer-social-button svg { display:block; width:21px; height:21px; flex-shrink:0; }
.site-footer-social .site-footer-social-button:hover { background:#fff; border-color:#fff; color:var(--primary-strong); text-decoration:none; }
.site-footer-email { display:inline-flex; align-items:center; min-height:36px; margin-bottom:.3rem; font-size:12px; overflow-wrap:anywhere; }
.site-footer-links { display:flex; flex-direction:column; align-items:flex-start; font-size:13px; min-width:0; }
.site-footer-links h2 { font:600 14px/1.5 var(--font-primary); margin:0 0 .65rem; }
.site-footer-links a { display:inline-flex; align-items:center; min-height:36px; padding-block:.3rem; line-height:1.4; color:#ffffffdf; overflow-wrap:anywhere; }
.site-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem 1.5rem; border-top:1px solid #ffffff30; padding-block:.8rem; font-size:11px; color:#ffffffcf; }
.site-footer-bottom p { margin:0; line-height:1.6; }
.site-footer-bottom p > span { display:block; }
.site-footer-bottom > div { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem 1.5rem; }
.site-footer-bottom a { display:inline-flex; align-items:center; gap:.4rem; min-height:36px; }
@media(max-width:900px) {
 .site-header { gap:.5rem; }
 .site-header > .site-brand { max-width:100%; line-height:1.2; }
 .site-actions button { font-size:.75rem; padding:.5rem; }
 .site-actions .cart-trigger { padding:0; }
 .site-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
 .site-footer-brand { grid-column:1 / -1; }
 .site-footer-brand p br { display:none; }
 .site-footer-benefits { gap:1rem; }
 .site-footer-benefits > div { gap:.6rem; align-items:flex-start; }
}
@media(max-width:599px) {
 .site-header { grid-template-columns:minmax(0,1fr) auto; row-gap:0; }
 .site-actions { grid-column:2; grid-row:1; }
 .site-nav { grid-column:1 / -1; grid-row:2; }
 .site-footer-benefits { grid-template-columns:minmax(0,1fr); gap:1rem; padding-block:1.25rem; }
 .site-footer-benefits > div { align-items:center; gap:.9rem; }
 .site-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 1rem; padding-block:1.5rem; }
 .site-footer-grid .site-footer-links:last-child { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1rem; align-items:start; }
 .site-footer-links:last-child h2 { grid-column:1 / -1; }
 .site-footer-links a,.site-footer-bottom a { min-height:44px; }
 .site-footer-bottom { align-items:flex-start; padding-block:1rem; gap:.5rem; }
 .site-footer-bottom > div { gap:0 1.2rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
