@font-face {
  font-family: JMS Editorial;
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/editorial-500-italic.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: JMS Editorial;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/editorial-400-normal.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: JMS Editorial;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/editorial-500-normal.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: JMS Editorial;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/editorial-600-normal.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;
}

/* JMSPrint: warm materials, considered spacing and editorial typography. */
:root {
  --ink: #20221f;
  --lime: #d9c5a3;
  --cream: #f6f3ed;
  --line: #ded9cf;
  --muted: #6f6a60;
  --dark-muted: #c1bbb0;
  --editorial: 'JMS Editorial', Georgia, 'Times New Roman', serif;
}

body { background: var(--cream); }
a:focus-visible, button:focus-visible { outline-color: #8c6d43; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline-color: #8c6d43; }
.announcement { background: #e9e2d6; color: #514b40; letter-spacing: 1px; height: 35px; }
.site-header { border-bottom-color: #44443d; }
.header-inner { min-height: 88px; }
.wordmark { letter-spacing: -1.5px; }
.wordmark > span:not(.logo-dot) { margin-left: 1px; }
.logo-dot { width: 4px; height: 4px; margin-left: 5px; }
.nav-link { font-size: 14px; color: #e8e3d9; }
.desktop-nav { gap: 32px; }
.nav-counter { display: none; }
.cart-count { background: #353730; color: #e8ddca; border: 1px solid #696452; }
.button { border-radius: 1px; font-size: 14px; min-height: 53px; letter-spacing: .3px; }
.button:hover { transform: none; }
.button-lime { background: var(--lime); border: 1px solid var(--lime); }
.button-lime:hover { background: #e6d7be; border-color: #e6d7be; }
.button-dark:hover { background: #383730; }
.button-outline { border-color: #a69c89; }
.button-outline:hover { background: #ebe5da; }
.text-link { border-bottom-color: #9a8d77; padding-bottom: 7px; }
.text-link:hover { gap: 12px; }
.icon-button:hover { background: #a69c891a; }
.eyebrow { letter-spacing: 2px; font-size: 14px; }
.status-dot { width: 4px; height: 4px; }
.section-number { display: none; }

.hero-grid { gap: 64px; min-height: 724px; padding-top: 56px; padding-bottom: 60px; }
.hero-copy h1 {
  font-family: var(--editorial);
  font-weight: 500;
  font-size: clamp(66px, 6.9vw, 102px);
  letter-spacing: -.03em;
  line-height: 1.03;
  margin: 27px 0 29px;
}
.hero-copy h1 > span { color: #ddcdb1; font-style: italic; }
.hero-description { font-family: var(--font-body); font-size: 16px; letter-spacing: 0; line-height: 1.9; color: #e1dcd2; }
.hero-support { color: #b6b1a6; font-size: 14px; line-height: 1.9; margin-top: 15px; }
.hero-buttons { margin-top: 33px; gap: 30px; }
.hero-buttons .button { padding-inline: 23px; }
.hero-buttons .text-link { font-size: 14px; }
.hero-stage { height: 559px; padding: 31px 0 52px; }
.stage-index { left: 0; font-size: 14px; color: #bcb4a5; letter-spacing: 2px; }
.hero-main-product {
  width: 100%; height: calc(100% - 83px); transform: none;
  box-shadow: none; border: 1px solid #ffffff18;
}
.hero-main-product:hover { transform: none; }
.hero-main-product > img { transition: transform .8s ease; }
.hero-main-product:hover > img { transform: scale(1.025); }
.hero-image-bottom { left: 28px; right: 28px; bottom: 27px; }
.hero-image-bottom strong { font-family: var(--editorial); font-weight: 500; font-size: 33px; letter-spacing: -.6px; }
.hero-image-bottom .micro-label { font-size: 14px; letter-spacing: 1.8px; }
.hero-image-bottom .circle-arrow { background: #eee5d7; width: 36px; height: 36px; }
.hero-selector { left: 0; right: 0; gap: 29px; justify-content: flex-start; }
.hero-selector button { padding: 11px 0; font-size: 14px; letter-spacing: .3px; color: #b6b0a3; }
.hero-selector button.active { color: #eadbc0; border-bottom-color: #bba179; }
.hero-bottom { border-top-color: #48483e; padding-block: 25px; }
.hero-bottom > span { font-size: 14px; letter-spacing: 1.4px; color: #c7c1b4; gap: 9px; }
.tiny-cross { color: #b69e77; font-size: 14px; }
.hero-bottom > a { color: #d1c8b7; }

.categories-section { padding-top: 104px; padding-bottom: 92px; }
.section-heading { margin-bottom: 37px; }
.section-heading h2, .professional-copy h2, .personal-copy h2,
.custom-copy h2, .about-copy h2, .faq-section h2 {
  font-family: var(--editorial); font-weight: 500; letter-spacing: -.025em; line-height: 1.13;
}
.section-heading h2 { font-size: clamp(38px, 3.6vw, 51px); }
.section-heading > p { font-size: 14px; color: var(--muted); }
.category-grid { gap: 21px; }
.category-card { aspect-ratio: .83; }
.category-meta { bottom: 26px; left: 23px; right: 22px; }
.category-meta strong { font-family: var(--editorial); font-weight: 600; font-size: 26px; letter-spacing: -.3px; }
.category-meta .micro-label { font-size: 14px; letter-spacing: 1.4px; }
.category-meta .circle-arrow { border-color: #ffffff80; }
.category-card:hover .circle-arrow { background: #eee5d7; border-color: #eee5d7; }

.shop-section { padding-top: 65px; padding-bottom: 96px; }
.shop-heading h2 { font-size: clamp(40px, 4vw, 56px); }
.shop-toolbar { border-bottom-color: #d4cbbd; }
.filter-scroll { gap: 8px; }
.filter-chip { border-radius: 1px; border-color: #ded6c8; padding: 10px 16px; font-size: 14px; letter-spacing: .2px; }
.filter-chip.active { background: #34372f; border-color: #34372f; }
.filter-chip.active span { color: #ddc8a4; }
.filter-chip:not(.active):hover { background: #eae4d8; }
.shop-subtoolbar { margin-block: 20px 26px; }
.product-grid { gap: 40px 23px; }
.product-card-image { background: #e9e2d8; border: 1px solid #ded7cb; }
.product-badge { background: #faf7f0eb; font-size: 14px; letter-spacing: 1px; padding: 6px 10px; }
.product-badge.lime { background: #ebe0cceF; }
.quick-view { border: 1px solid #d9d0c1; background: #faf7f0; }
.product-card-image:hover .quick-view { background: #e5d7bf; transform: none; }
.product-card-info { padding-top: 18px; }
.product-card-category { color: #81735d; font-size: 14px; letter-spacing: 1.4px; margin-bottom: 8px; }
.product-card-title { font-size: 18px; font-weight: 400; letter-spacing: -.15px; line-height: 1.35; min-height: 48px; }
.product-price { font-family: var(--font-body); font-weight: 500; font-size: 14px; }
.card-variant-note { color: #7f776a; font-size: 14px; }
.more-products { margin-top: 46px; }
.small-count { background: #e5ddce; }

.professional-section { background: #262822; padding: 88px 0; }
.professional-grid { gap: 88px; }
.professional-image { border: 1px solid #ffffff14; }
.professional-copy h2 { font-size: clamp(44px, 4.6vw, 66px); }
.professional-copy h2 em { color: #dfceb0; font-weight: 400; }
.professional-copy > p:not(.eyebrow) { font-size: 14px; color: #c5bdae; line-height: 1.9; }
.professional-copy > .eyebrow { color: #dac8aa; }
.pro-feature { border-color: #4e4d42; padding: 15px 0; }
.pro-feature > span { color: #bda582; }
.pro-feature > p { color: #dfd9cd; }
.photo-caption { background: #20221fdd; font-size: 14px; letter-spacing: 1.4px; }
.image-coordinate { background: #eee6d7; color: #38342d; font-size: 14px; letter-spacing: 1.6px; }
.personal-section { padding-block: 110px; gap: 76px; }
.personal-copy h2 { font-size: clamp(48px, 4.9vw, 68px); }
.personal-copy > p:not(.eyebrow) { font-size: 14px; }
.personal-image { border: 1px solid #ded7cb; }
.personal-note { transform: none; background: #f6f0e6ed; border: 1px solid #e7ddcc; font-family: var(--editorial); font-size: 19px; padding: 10px 19px; }
.color-preview > span:not(.color-preview-note) { outline-color: #cfc3af; }

.custom-box { background: #e9e2d5; padding: 52px 47px; border: 1px solid #d6c9b4; }
.custom-label > .eyebrow { color: #77664d; line-height: 1.8; }
.custom-spark { display: none; }
.custom-copy h2 { font-size: clamp(49px, 4.5vw, 64px); }
.custom-copy > p { color: #645c4e; font-size: 14px; line-height: 1.9; }
.custom-steps > div > span { border: 0; border-radius: 0; width: 24px; color: #9b8059; font-size: 14px; }
.custom-steps strong { font-weight: 400; font-size: 19px; }
.custom-steps p { color: #6f6657; font-size: 14px; line-height: 1.9; }
.about-section { padding-block: 88px; }
.about-copy h2 { font-size: clamp(44px, 4vw, 56px); }
.about-copy > p:not(.eyebrow) { font-size: 14px; }
.about-origin > p { color: #6f634f; }
.about-mark { stroke: #c5b599; }
.signature { color: #645b4b; }
.faq-section { padding-top: 72px; padding-bottom: 105px; }
.faq-section h2 { font-size: 48px; }
.faq-list details { border-color: #d6cebf; }
.faq-list details:first-child { border-color: #d6cebf; }
.faq-list summary { min-height: 68px; font-size: 14px; }
.faq-list details > p { color: #756b5b; }

.site-footer { background: #20221f; padding-top: 72px; }
.footer-top > div:first-child > p { color: #c0b6a4; }
.footer-email { border-color: #8b7f69; }
.footer-links h3 { color: #b5a78f; }
.footer-links a, .footer-links button { color: #e3dbcd; }
.footer-oversized {
  border-top: 1px solid #48483e; font-family: var(--editorial); font-weight: 400;
  font-size: clamp(90px, 12vw, 175px); letter-spacing: -.04em; color: #ded1ba;
  padding-top: 44px; padding-bottom: 48px; line-height: 1;
}
.footer-oversized > span { display: block; color: #a69a83; font-family: var(--font-body); font-size: 14px; letter-spacing: 1.5px; margin-top: 20px; white-space: normal; line-height: 1.8; }
.footer-bottom { border-top-color: #48483e; color: #b6ab97; }

dialog { background: var(--cream); }
dialog::backdrop { background: #181b17c7; }
.drawer-heading { border-color: #ded5c5; }
.drawer-heading h2, .form-dialog > h2 { font-family: var(--editorial); font-weight: 500; letter-spacing: -.02em; font-size: 36px; }
.product-info h2 { font-weight: 400; letter-spacing: -.5px; }
.product-gallery, .product-main-image { background: #ebe4d9; }
.gallery-thumb.active { border-color: #8e7753; }
.detail-price { font-weight: 400; }
.option-button { border-color: #d7ccb8; }
.option-button.active { background: #e9e1d2; border-color: #8e7753; }
.option-button:hover { border-color: #8e7753; }
.personalization-field input, .measurement-fields input { border-color: #d5c8b3; }
.quantity-control { border-color: #d0c3ad; }
.cart-footer { background: #eae3d6; border-top-color: #d3c7b3; }
.cart-shipping-note, .cart-preview-note { color: #6b604f; }
.cart-total { font-weight: 400; }
.form-dialog input, .form-dialog textarea, .form-dialog select { border-color: #d0c3af; }
.order-summary { background: #eae2d3; }
.order-summary .order-summary-total { border-color: #c9b99e; }
.search-result, .mobile-nav > a, .mobile-nav > button { border-color: #d6cbb8; }
.mobile-menu-bottom { background: #e8dfcf; border-color: #d3c6b0; }
.toast { border-color: #a58a60; }

@media (max-width: 1200px) {
  .hero-grid { gap: 35px; min-height: 680px; }
  .hero-stage { height: 520px; }
  .hero-copy h1 { font-size: 7.1vw; }
  .desktop-nav { gap: 25px; }
  .category-meta { left: 18px; right: 17px; }
  .category-meta strong { font-size: 24px; }
  .professional-grid { gap: 55px; }
  .custom-box { padding: 39px 35px; }
}
@media (max-width: 960px) {
  .header-inner { min-height: 77px; }
  .desktop-nav { gap: 19px; }
  .nav-link { font-size: 14px; }
  .hero-grid { gap: 27px; min-height: 625px; padding-top: 39px; padding-bottom: 42px; }
  .hero-copy h1 { font-size: 7.5vw; }
  .hero-stage { height: 477px; }
  .hero-description { font-size: 14px; }
  .hero-selector { gap: 24px; }
  .hero-selector button { font-size: 14px; }
  .hero-image-bottom { left: 18px; right: 18px; }
  .hero-image-bottom strong { font-size: 29px; }
  .categories-section { padding-top: 75px; padding-bottom: 73px; }
  .section-heading h2 { font-size: 39px; }
  .category-meta strong { font-size: 20px; }
  .category-meta .micro-label { font-size: 14px; letter-spacing: .7px; }
  .shop-heading h2 { font-size: 45px; }
  .product-grid { gap: 32px 18px; }
  .professional-section { padding-block: 62px; }
  .professional-grid { gap: 36px; }
  .professional-copy h2 { font-size: 46px; }
  .professional-copy > p:not(.eyebrow) { font-size: 14px; }
  .personal-section { padding-block: 80px; gap: 37px; }
  .personal-copy h2 { font-size: 50px; }
  .custom-copy h2 { font-size: 50px; }
  .custom-box { padding: 35px; }
  .about-section { padding-block: 70px; }
  .about-copy h2 { font-size: 46px; }
  .faq-section { padding-block: 61px 80px; }
  .faq-section h2 { font-size: 40px; }
}
@media (max-width: 760px) {
  .header-inner { min-height: 73px; }
  .hero-grid { gap: 30px; min-height: 0; padding-top: 46px; padding-bottom: 30px; }
  .hero-copy h1 { font-size: clamp(64px, 11vw, 84px); margin-block: 23px 26px; }
  .hero-description { font-size: 16px; }
  .hero-stage { max-width: 510px; height: 495px; padding: 31px 0 52px; margin-top: 0; }
  .hero-selector { gap: 29px; }
  .hero-selector button { font-size: 14px; }
  .hero-image-bottom strong { font-size: 32px; }
  .section-heading h2 { font-size: 37px; }
  .section-heading > p { font-size: 14px; }
  .category-meta strong { font-size: 26px; }
  .category-meta .micro-label { font-size: 14px; letter-spacing: 1.2px; }
  .professional-copy h2 { font-size: 38px; }
  .professional-copy > p:not(.eyebrow) { font-size: 14px; }
  .personal-copy h2 { font-size: 43px; }
  .personal-note { font-size: 17px; padding: 10px 13px; }
  .about-copy h2 { font-size: 41px; }
  .about-copy > p:not(.eyebrow) { font-size: 14px; }
}
@media (max-width: 560px) {
  html { scroll-padding-top: 82px; }
  .announcement { height: 31px; font-size: 14px; letter-spacing: 1px; }
  .header-inner { min-height: 69px; }
  .hero-grid { padding-top: 40px; gap: 31px; }
  .hero-copy h1 { font-size: clamp(50px, 13vw, 70px); letter-spacing: -.03em; margin-block: 24px; }
  .hero-copy > .eyebrow { font-size: 14px; letter-spacing: 1.7px; }
  .hero-description { font-size: 14px; line-height: 1.9; }
  .hero-support { font-size: 14px; line-height: 1.9; }
  .hero-buttons { gap: 23px; margin-top: 28px; }
  .hero-buttons > .button { font-size: 14px; padding-inline: 16px; min-height: 49px; gap: 15px; }
  .hero-buttons > .text-link { font-size: 14px; }
  .hero-stage { height: clamp(345px, 102vw, 450px); padding-top: 26px; padding-bottom: 48px; }
  .hero-main-product { height: calc(100% - 74px); }
  .stage-index { font-size: 14px; letter-spacing: 1.6px; }
  .hero-image-bottom { bottom: 21px; left: 19px; right: 19px; }
  .hero-image-bottom strong { font-size: 29px; }
  .hero-image-bottom .micro-label { font-size: 14px; }
  .hero-selector { gap: 26px; }
  .hero-selector button { font-size: 14px; padding-block: 10px; }
  .hero-bottom { padding-block: 20px; }
  .hero-bottom > span { font-size: 14px; letter-spacing: .6px; gap: 5px; }
  .categories-section { padding-top: 59px; padding-bottom: 58px; }
  .section-heading { margin-bottom: 29px; }
  .section-heading h2 { font-size: 37px; }
  .section-heading > p { font-size: 14px; }
  .category-grid { gap: 13px; }
  .category-card { aspect-ratio: .8; }
  .category-meta { left: 13px; right: 11px; bottom: 17px; }
  .category-meta strong { font-size: 22px; }
  .category-meta .micro-label { font-size: 14px; letter-spacing: .6px; }
  .shop-section { padding-top: 43px; padding-bottom: 61px; }
  .shop-heading h2 { font-size: 42px; max-width: none; }
  .shop-heading > .text-link { font-size: 14px; }
  .filter-chip { padding: 9px 12px; font-size: 14px; }
  .product-grid { gap: 31px 13px; }
  .product-card-info { padding-top: 14px; }
  .product-card-category { font-size: 14px; letter-spacing: .8px; }
  .product-card-title { font-size: 16px; min-height: 42px; line-height: 1.3; }
  .product-price { font-size: 14px; }
  .product-card-bottom { margin-top: 8px; }
  .product-badge { font-size: 14px; letter-spacing: .6px; padding: 5px 7px; }
  .professional-section { padding-block: 46px; }
  .professional-grid { gap: 34px; }
  .professional-copy h2 { font-size: clamp(40px, 10.7vw, 51px); line-height: 1.13; }
  .professional-copy > p:not(.eyebrow) { font-size: 14px; }
  .personal-section { padding-block: 66px; gap: 31px; }
  .personal-copy h2 { font-size: 51px; }
  .personal-copy > p:not(.eyebrow) { font-size: 14px; }
  .personal-note { left: 20px; font-size: 19px; padding: 10px 15px; }
  .custom-section { padding-bottom: 66px; }
  .custom-box { padding: 29px 25px; gap: 25px; }
  .custom-copy h2 { font-size: 52px; }
  .custom-copy > p { font-size: 14px; }
  .custom-steps { border-top-color: #c9baa2; }
  .custom-steps strong { font-size: 19px; }
  .about-section { padding-top: 44px; padding-bottom: 57px; }
  .about-copy h2 { font-size: 43px; }
  .about-copy > p:not(.eyebrow) { font-size: 14px; }
  .faq-section { padding-top: 45px; padding-bottom: 63px; }
  .faq-section h2 { font-size: 43px; }
  .site-footer { padding-top: 49px; }
  .footer-oversized { font-size: clamp(72px, 22vw, 100px); padding-top: 30px; padding-bottom: 35px; }
  .footer-oversized > span { font-size: 14px; letter-spacing: .8px; margin-top: 15px; }
  .drawer-heading h2, .form-dialog > h2 { font-size: 31px; }
  .product-info h2 { font-size: 29px; }
  .product-info .eyebrow { letter-spacing: 1.5px; }
}
@media (max-width: 360px) {
  .hero-copy h1 { font-size: 47px; }
  .hero-buttons { gap: 18px; }
  .hero-buttons > .button { font-size: 14px; padding-inline: 13px; }
  .hero-buttons > .text-link { font-size: 14px; }
  .hero-selector { gap: 23px; }
  .hero-bottom > span { font-size: 14px; }
  .category-meta strong { font-size: 20px; }
  .product-card-title { font-size: 15px; }
  .professional-copy h2 { font-size: 38px; }
  .custom-copy h2 { font-size: 46px; }
  .about-copy h2 { font-size: 39px; }
}

/* Readable footer and a restrained payment assurance badge. */
.footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; padding-block: 24px; min-height: 95px; font-size: 14px; line-height: 1.6; color: #cfc5b3; }
.footer-bottom > span:first-child, .footer-bottom > span:last-child { font-size: 14px; }
.footer-bottom .footer-location { justify-self: end; }
.footer-bottom .footer-payment { display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 12px 18px; border: 1px solid #756952; border-radius: 9px; background: #ddcdb10a; color: #efe6d6; font-size: 15px; }
.footer-payment > svg { flex-shrink: 0; width: 21px; height: 21px; color: #ddcdb1; }
.footer-payment strong { font-weight: 650; }
@media (max-width: 600px) {
  .footer-bottom { grid-template-columns: 1fr auto; gap: 20px 12px; padding-block: 24px 28px; }
  .footer-bottom .footer-payment { grid-column: 1 / -1; grid-row: 1; padding: 14px 12px; font-size: 15px; }
  .footer-bottom > span:first-child, .footer-bottom > span:last-child { font-size: 14px; }
}

/* Larger footer navigation on desktop and mobile. */
.footer-links h3 { font-size: 14px; margin-bottom: 16px; line-height: 1.5; }
.footer-links a, .footer-links button { font-size: 15px; line-height: 1.6; min-height: 40px; padding-block: 8px; }
@media (max-width: 600px) {
  .footer-links { column-gap: 24px; }
  .footer-links h3 { font-size: 14px; }
  .footer-links a, .footer-links button { font-size: 14px; min-height: 44px; padding-block: 10px; }
}

/* Readable copy throughout the storefront, including mobile dialogs. */
.hero-description, .hero-support, .section-heading > p,
.professional-copy > p:not(.eyebrow), .personal-copy > p:not(.eyebrow),
.custom-copy > p, .custom-steps p, .about-copy > p:not(.eyebrow),
.faq-section > div:first-child > p:not(.eyebrow), .faq-list details > p,
.footer-top > div:first-child > p, .product-tagline, .product-description,
.cart-empty p, .form-dialog > p:not(.eyebrow), .order-summary p {
  font-size: 16px; line-height: 1.75;
}
.product-description h2, .product-description h3, .product-description h4 { font-size: 18px; line-height: 1.5; }
.faq-list summary { font-size: 16px; line-height: 1.6; gap: 16px; }
.form-dialog input, .form-dialog textarea, .form-dialog select,
.personalization-field input, .measurement-fields input, .quantity-control input,
.search-field input { font-size: 16px; }
.form-dialog form label, .option-group legend, .personalization-field,
.measurement-fields > label { font-size: 15px; line-height: 1.6; }
.form-help, .form-status, .product-error, .personalization-field small,
.measurement-fields > p, .cart-preview-note, .cart-shipping-note,
.detail-meta, .cart-item-variant, .recommendation span span,
.search-note, .search-result small { font-size: 14px; line-height: 1.65; }
.button, .text-link, .option-button, .filter-chip { line-height: 1.5; }
.eyebrow, .micro-label, .product-card-category, .product-badge,
.stage-index, .hero-bottom > span, .photo-caption, .image-coordinate { letter-spacing: .65px; line-height: 1.5; }
.announcement { height: auto; min-height: 40px; padding-block: 8px; line-height: 1.5; text-align: center; }
.hero-bottom { flex-wrap: wrap; column-gap: 26px; row-gap: 16px; }
.hero-bottom > span { flex-wrap: wrap; }
.hero-footnote { align-items: flex-start; line-height: 1.6; }
.hero-footnote .icon { flex-shrink: 0; margin-top: 2px; }
.hero-selector { gap: 20px; }
.hero-selector button { min-width: 0; line-height: 1.4; white-space: normal; }
.product-card-bottom, .shop-subtoolbar { flex-wrap: wrap; row-gap: 10px; }
.product-card-title { line-height: 1.45; }
.cart-item-row { flex-wrap: wrap; row-gap: 10px; }
.footer-oversized > span { font-size: 14px; line-height: 1.7; }
@media (max-width: 960px) and (min-width: 761px) {
  .desktop-nav { gap: 13px; }
  .desktop-nav .nav-link { font-size: 14px; }
  .header-inner { gap: 14px; }
}
@media (max-width: 600px) {
  .hero-selector { gap: 14px; }
  .hero-selector button { flex: 1; padding-inline: 0; }
  .hero-bottom > span { flex-basis: 100%; }
  .hero-buttons { gap: 18px 22px; }
  .detail-add-row { flex-wrap: wrap; }
  .detail-add-row > .button { flex-basis: 100%; min-height: 52px; }
  .category-meta .micro-label { overflow-wrap: anywhere; }
  .product-badge { max-width: calc(100% - 24px); white-space: normal; }
  .photo-caption, .image-coordinate { max-width: calc(100% - 30px); white-space: normal; }
  .footer-links { column-gap: 20px; }
}

/* Optional analysis consent follows the store's existing palette. */
.analytics-consent{position:fixed;z-index:1200;bottom:20px;left:20px;width:min(460px,calc(100vw - 40px));padding:24px;border:1px solid #b8ac94;border-radius:12px;background:#f7f4ed;color:#252a24;box-shadow:0 12px 50px #0003;font-size:16px;line-height:1.6}
.analytics-consent[hidden]{display:none}.analytics-consent h2{font-family:inherit;font-size:20px;line-height:1.35;margin:0 0 10px}.analytics-consent p{margin:0 0 18px}.analytics-consent a{text-decoration:underline}.analytics-consent>div{display:flex;gap:12px}.analytics-consent button{flex:1;min-height:48px;border:1px solid #435b49;border-radius:6px;background:#fff;color:#253b2b;font:inherit;font-size:16px;padding:10px;cursor:pointer}.analytics-consent button[data-choice="granted"]{background:#435b49;color:#fff}.analytics-consent button:focus-visible{outline:3px solid #a38e62;outline-offset:3px}@media(max-width:500px){.analytics-consent{left:12px;bottom:12px;width:calc(100vw - 24px);padding:20px}.analytics-consent>div{flex-wrap:wrap}.analytics-consent button{min-width:140px}}

/* JMSPrint workshop image in the opening section. */
.hero-stage.hero-brand-stage{height:auto;padding:0;width:100%;max-width:none;margin:0;align-self:center}.hero-brand-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:12px;border:1px solid #ffffff18;box-shadow:0 18px 50px #0002}

/* Orange header wordmark matches the JMSPrint cube favicon. */
.site-header .wordmark{color:#f49a26}
.site-header .wordmark .logo-dot{background:#f49a26}

/* JMSPrint orange accents on primary shopping actions and footer branding. */
:root{--brand-orange:#f49a26}
.button-lime,#detail-add-button,#prepare-order,.cart-empty .button{background:var(--brand-orange);border:1px solid var(--brand-orange);color:#20221f}
.button-lime:hover,#detail-add-button:hover,#prepare-order:hover,.cart-empty .button:hover{background:#ffad43;border-color:#ffad43;color:#20221f}
.site-footer .wordmark,.footer-oversized{color:var(--brand-orange)}
.site-footer .wordmark .logo-dot{background:var(--brand-orange)}

#custom-heading{color:var(--brand-orange)}

/* Deep navy storefront with warm white copy and JMSPrint orange accents. */
:root{--navy:#152536;--navy-surface:#1e3348;--navy-raised:#29435c;--light-text:#f6f3ed;--muted:#c2cddd;--dark-muted:#c2cddd;--line:#496078;color-scheme:dark}
body,.hero,.site-header,.professional-section,.site-footer{background:var(--navy);color:var(--light-text)}
.announcement{background:var(--navy-surface);color:var(--light-text)}
.site-header,.hero-bottom,.shop-toolbar,.pro-feature,.faq-list details,.faq-list details:first-child,.footer-oversized,.footer-bottom,.footer-top,.about-section,.custom-steps,.search-result,.mobile-nav>a,.mobile-nav>button,.drawer-heading{border-color:var(--line)}
.hero-description,.pro-feature>p,.footer-links a,.footer-links button{color:var(--light-text)}
.hero-support,.hero-bottom>span,.hero-bottom>a,.professional-copy>p:not(.eyebrow),.custom-copy>p,.custom-steps p,.about-origin>p,.signature,.faq-list details>p,.footer-top>div:first-child>p,.footer-links h3,.footer-oversized>span,.footer-bottom,.card-variant-note,.product-card-category,.filter-chip span,.cart-shipping-note,.cart-preview-note{color:var(--muted)}
.custom-box,.product-card,.cart-footer,.order-summary,.mobile-menu-bottom,.analytics-consent{background:var(--navy-surface);color:var(--light-text);border-color:var(--line)}
.product-card-info{padding:18px 14px 14px}
.product-card{border-radius:8px;overflow:hidden}
.custom-steps strong,.sort-label select,.product-description strong,.product-description b{color:var(--light-text)}
.custom-label>.eyebrow,.custom-steps>div>span,.professional-copy>.eyebrow,.pro-feature>span{color:var(--brand-orange)}
.button-outline,.filter-chip,.option-button{color:var(--light-text);border-color:var(--line)}
.button-outline:hover,.filter-chip:not(.active):hover,.option-button:hover{background:var(--navy-raised);border-color:var(--brand-orange)}
.filter-chip.active,.option-button.active{background:var(--navy-raised);border-color:var(--brand-orange);color:var(--light-text)}
.filter-chip.active span{color:var(--brand-orange)}
.button-dark{background:var(--navy-raised);color:var(--light-text);border:1px solid var(--line)}
.button-dark:hover{background:#35546f}
.button-lime,#detail-add-button,#prepare-order,.cart-empty .button{background:var(--brand-orange);border-color:var(--brand-orange);color:#20221f}
.button-lime:hover,#detail-add-button:hover,#prepare-order:hover,.cart-empty .button:hover{background:#ffad43;border-color:#ffad43;color:#20221f}
.product-card-image,.product-gallery,.product-main-image{background:var(--navy-surface);border-color:var(--line)}
.product-badge,.product-badge.lime,.quick-view,.personal-note,.image-coordinate{background:var(--navy-surface);color:var(--light-text);border-color:var(--line)}
.product-card-image:hover .quick-view{background:var(--brand-orange);color:#20221f}
.category-card:hover .circle-arrow{background:var(--brand-orange);color:#20221f;border-color:var(--brand-orange)}
.small-count,.cart-count{background:var(--navy-raised);color:var(--light-text);border-color:var(--line)}
.personal-image,.footer-email,.gallery-thumb,.quantity-control,.order-summary .order-summary-total{border-color:var(--line)}
.gallery-thumb.active{border-color:var(--brand-orange)}
.about-mark{stroke:var(--muted)}
dialog,.dialog-close{background:var(--navy);color:var(--light-text)}
dialog::backdrop{background:#07121fce}
.form-dialog input,.form-dialog textarea,.form-dialog select,.personalization-field input,.measurement-fields input{background:var(--navy-surface);color:var(--light-text);border-color:var(--line)}
input::placeholder,textarea::placeholder{color:#adbed0;opacity:1}
.quantity-control input,.search-field input{color:var(--light-text)}
select option{background:var(--navy-surface);color:var(--light-text)}
.product-error{color:#ffad96}.form-status{color:#bde8cf}
.toast{background:var(--navy-surface);color:var(--light-text);border-color:var(--line)}
.footer-bottom .footer-payment{background:var(--navy-surface);color:var(--light-text);border-color:var(--line)}
.footer-payment>svg{color:var(--brand-orange)}
.analytics-consent button,.analytics-consent button[data-choice="granted"]{background:var(--navy-raised);color:var(--light-text);border-color:#69829a}
.analytics-consent button:hover{background:#35546f}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:var(--brand-orange)}
::selection{background:var(--brand-orange);color:#152536}

/* Show the exact approved logo artwork, framed without redrawing it. */
.header-brand{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:112px;padding-block:8px;line-height:0}
.header-brand-logo{display:block;width:112px;height:108px;overflow:hidden;border-radius:4px}
.header-inner{min-height:124px}
html{scroll-padding-top:140px}
@media(max-width:760px){.header-brand,.header-brand-logo{width:90px}.header-brand-logo{height:87px}.header-inner{min-height:103px}html{scroll-padding-top:118px}}

/* Approved logo, arranged horizontally without redrawing the artwork. */
.footer-brand-lockup{display:flex;align-items:center;gap:clamp(16px,3vw,40px);width:min(100%,600px)}
.footer-brand-symbol{display:block;flex:0 0 25%;width:25%;height:auto;overflow:hidden}
.footer-brand-name{display:block;width:70%;height:auto;overflow:hidden}
.footer-oversized>span{font-size:16px;line-height:1.7}
@media(max-width:760px){.footer-brand-lockup{gap:14px}.footer-oversized>span{font-size:15px;letter-spacing:.5px}}

.footer-brand-mobile{display:none}
@media(max-width:760px){
 .footer-brand-lockup{justify-content:center;width:100%;gap:0}
 .footer-brand-lockup>.footer-brand-symbol,.footer-brand-lockup>.footer-brand-name{display:none}
 .footer-brand-lockup>.footer-brand-mobile{display:block;width:min(62%,220px);height:auto;overflow:hidden;flex:none}
 .footer-oversized>span{text-align:center;white-space:normal;letter-spacing:.3px;margin-top:18px}
}

/* Black storefront, retaining readable neutral surfaces and orange accents. */
:root{--navy:#000000;--navy-surface:#111111;--navy-raised:#222222;--muted:#c8c8c8;--dark-muted:#c8c8c8;--line:#444444}
.button-dark:hover,.analytics-consent button:hover{background:#303030}
.analytics-consent button,.analytics-consent button[data-choice="granted"]{border-color:#666666}
input::placeholder,textarea::placeholder{color:#b8b8b8}
dialog::backdrop{background:#000000ce}
::selection{background:var(--brand-orange);color:#000000}

/* Visible product search entry */
.shop-toolbar .filter-search{display:flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;min-height:48px;padding:11px 17px;margin-bottom:17px;border:1px solid #f59416;border-radius:8px;background:#17120b;color:#fff4e4;font-size:16px;font-weight:600;line-height:1.4;transition:background .2s,border-color .2s}
.shop-toolbar .filter-search .icon{color:#f59416;width:21px;height:21px}
.shop-toolbar .filter-search:hover{background:#30200b;border-color:#ffb347}
.shop-toolbar .filter-search:focus-visible{outline:3px solid #ffb347;outline-offset:4px}
@media(max-width:700px){.shop-toolbar{flex-wrap:wrap;gap:0}.shop-toolbar .filter-scroll{flex-basis:100%;min-width:0}.shop-toolbar .filter-search{width:100%;margin-bottom:16px}}

/* Payment marks in the footer */
.footer-bottom .footer-payment{flex-direction:column;gap:12px;padding:16px 20px}
.footer-payment-title{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;text-align:center}
.footer-payment-title>svg{width:21px;height:21px;flex-shrink:0;color:var(--brand-orange)}
.footer-payment-logos{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.footer-payment-logos img{display:block;width:72px;height:48px;border-radius:4px;object-fit:contain}
.footer-payment-logos img[hidden]{display:none}
@media(max-width:400px){.footer-payment-logos{gap:8px}.footer-payment-logos img{width:60px;height:40px}}

/* Delivery information before checkout */
.product-delivery-note{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.detail-delivery{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--navy-surface);padding:14px 16px;margin:16px 0 22px;font-size:16px;line-height:1.6;color:var(--light-text)}
.detail-delivery>.icon{width:26px;height:26px;flex-shrink:0;color:var(--brand-orange)}
.detail-delivery strong,.detail-delivery span{display:block}
.detail-delivery span{color:var(--muted)}

.product-reviews{border-top:1px solid var(--line);margin-top:30px;padding-top:25px;font-size:16px;line-height:1.7}.product-reviews h3{font-size:24px;margin-bottom:14px}.product-reviews>p{color:var(--muted)}.reviews-average strong,.review-stars{color:var(--brand-orange)}.review-stars{font-size:22px;letter-spacing:3px}.product-review{padding:22px 0;border-bottom:1px solid var(--line)}.review-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.review-author{font-size:15px}.review-author span{color:var(--muted)}

/* Considered customer review section within product details. */
.product-reviews{margin:0;padding:32px 28px 36px;border-top:1px solid var(--line);font-size:16px;line-height:1.65}
.reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;flex-wrap:wrap}
.product-reviews .reviews-kicker{margin:0 0 8px;color:var(--brand-orange);font-size:12px;letter-spacing:1.8px;font-weight:600}
.product-reviews h3{margin:0;font-size:27px;line-height:1.25;font-weight:600;letter-spacing:-.4px}
.reviews-verification{display:inline-flex;align-items:center;gap:7px;font-size:14px;color:var(--muted);border:1px solid var(--line);border-radius:30px;padding:7px 12px}
.reviews-verification .icon{width:16px;height:16px;color:var(--brand-orange)}
.reviews-empty{display:flex;align-items:flex-start;gap:20px;padding:26px;background:#111;border:1px solid #303030;border-radius:12px}
.reviews-empty-mark{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px;background:#f5941612;color:var(--brand-orange)}
.reviews-empty-mark .icon{width:25px;height:25px}
.reviews-empty h4{font-size:20px;font-weight:600;line-height:1.4;margin:0 0 8px}
.reviews-empty p{margin:0;color:var(--muted)}
.reviews-empty .reviews-empty-help{margin-top:12px;font-size:15px;max-width:560px}
.product-review{border:1px solid var(--line);border-radius:12px;background:#111;padding:22px 24px;margin-top:14px}
.reviews-average{margin:0 0 20px}
@media(max-width:600px){.product-reviews{padding:26px 20px}.reviews-heading{gap:14px}.product-reviews h3{font-size:24px}.reviews-empty{padding:20px;gap:14px}.reviews-empty-mark{width:38px;height:38px}.reviews-empty h4{font-size:19px}.product-review{padding:20px}}

.color-preview-note{font-size:15px;line-height:1.6;color:#c5c0b8;margin:16px 0 0;}

/* Keep the simplified storefront sections close without crowding the content. */
.faq-section{padding-bottom:40px}
.site-footer{padding-top:36px}
.footer-email{margin-top:0}
@media(max-width:760px){
  .hero-grid{padding-bottom:24px}
  .shop-section{padding-top:32px}
  .faq-section{padding-bottom:28px}
  .site-footer{padding-top:24px}
}
@media(max-width:560px){.footer-top{gap:28px}}

/* Show every product category in a responsive grid, without horizontal scrolling. */
.shop-toolbar{flex-direction:column;align-items:stretch;gap:0}
.shop-toolbar .filter-scroll{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;overflow:visible;white-space:normal;flex:none;width:100%;min-width:0;padding-bottom:16px}
.filter-chip{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;min-height:110px;padding:26px 10px 14px;border-radius:8px;text-align:center;background:var(--navy-surface)}
.filter-chip .category-icon{width:28px;height:28px;color:var(--muted)}
.filter-chip .category-label{font-size:14px;line-height:1.4;color:inherit;overflow-wrap:anywhere}
.filter-chip .category-count{position:absolute;top:7px;right:8px;min-width:22px;padding:1px 5px;border-radius:12px;background:var(--navy-raised);font-size:12px;line-height:1.5;color:var(--muted)}
.filter-chip.active .category-icon,.filter-chip.active .category-count{color:var(--brand-orange)}
.filter-chip.active .category-label{color:var(--light-text)}
.shop-toolbar .filter-search{align-self:flex-end}
@media(max-width:960px){
  .shop-toolbar .filter-scroll{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filter-chip[data-filter="all"]{grid-column:1/-1;flex-direction:row;gap:10px;min-height:48px;padding:10px 16px}
  .filter-chip[data-filter="all"] .category-icon{width:22px;height:22px}
  .filter-chip[data-filter="all"] .category-count{position:static}
}
@media(max-width:360px){.shop-toolbar .filter-scroll{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* One compact footer navigation after removing the duplicate category list. */
.footer-top{align-items:flex-start}
.footer-links{display:block;flex:1;min-width:0;max-width:640px;padding-right:0}
.footer-links h3{margin:0 0 12px}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
.footer-links .footer-nav>a,.footer-links .footer-nav>button{display:flex;align-items:center;width:100%;min-width:0;min-height:44px;padding:9px 0;font-size:15px;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:break-word}
@media(max-width:760px){
  .footer-top{flex-direction:column;gap:24px;padding-bottom:28px}
  .footer-links{width:100%;max-width:none}
  .footer-nav{column-gap:20px}
}
@media(max-width:380px){.footer-nav{grid-template-columns:minmax(0,1fr)}}

.coupon-row{display:flex;gap:10px;align-items:stretch}.coupon-row input{min-width:0;flex:1}.coupon-row .button{flex-shrink:0;white-space:nowrap}

/* A single FAQ column and a compact, clearly grouped footer. */
.faq-section{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:860px;padding-top:48px;padding-bottom:48px}
.faq-section>div:first-child{text-align:center}
.faq-section h2{font-size:clamp(34px,4vw,44px);margin:0 0 12px}
.faq-section>div:first-child>p:not(.eyebrow){display:block;max-width:none;margin:0 0 14px}
.faq-section>div:first-child .text-link{margin:0}
.faq-list summary{min-height:64px;font-size:16px;padding:18px 0}
.faq-list summary>.icon{flex-shrink:0}
.faq-list details>p{max-width:740px;margin:0;font-size:16px;line-height:1.8}
.site-footer.footer-refined{padding-top:0}
.footer-refined .footer-top{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:48px;padding-top:36px;padding-bottom:32px;border-top:1px solid var(--line);align-items:start}
.footer-refined .footer-contact{min-width:0}
.footer-refined .footer-brand-lockup{width:210px;max-width:100%;gap:14px;justify-content:flex-start}
.footer-refined .footer-brand-lockup>.footer-brand-mobile{display:none}
.footer-refined .footer-brand-lockup>.footer-brand-symbol{display:block;flex:0 0 25%;width:25%}
.footer-refined .footer-brand-lockup>.footer-brand-name{display:block;width:70%}
.footer-refined .footer-contact>.footer-tagline{font-size:14px;line-height:1.7;margin:14px 0 10px;max-width:320px}
.footer-refined .footer-email{margin:0;font-size:16px;gap:14px;overflow-wrap:anywhere}
.footer-refined .footer-links{width:100%;max-width:none;padding:0}
.footer-refined .footer-links h3{font-size:12px;letter-spacing:1.5px;margin:0 0 10px;color:var(--brand-orange)}
.footer-refined .footer-nav{display:flex;flex-direction:column;gap:0}
.footer-refined .footer-nav>a,.footer-refined .footer-nav>button{min-height:40px;padding:8px 0;font-size:15px;line-height:1.5}
.footer-refined .footer-bottom{padding-top:20px;padding-bottom:24px;gap:20px;grid-template-columns:1fr auto 1fr}
.footer-refined .footer-bottom .footer-payment{border:0;background:none;padding:0;gap:8px;grid-column:auto;grid-row:auto}
.footer-refined .footer-payment-title{font-size:14px}
.footer-refined .footer-payment-logos{gap:8px}
.footer-refined .footer-payment-logos img{width:56px;height:36px}
@media(max-width:760px){
  .faq-section{padding-top:32px;padding-bottom:32px;gap:24px}
  .faq-list summary{font-size:15px}
  .faq-list details>p{font-size:15px;padding-right:0}
  .footer-refined .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;padding-block:28px}
  .footer-refined .footer-contact{grid-column:1/-1}
  .footer-refined .footer-bottom{grid-template-columns:1fr auto;gap:20px 12px}
  .footer-refined .footer-bottom .footer-payment{grid-column:1/-1;grid-row:1}
}
@media(max-width:380px){.footer-refined .footer-top{grid-template-columns:minmax(0,1fr);gap:24px}.footer-refined .footer-contact{grid-column:auto}}

/* Center the simplified desktop hero after removing its introductory copy. */
.category-navigation{padding-top:28px}
.category-navigation .shop-heading{margin-bottom:22px}
.category-navigation .shop-heading h2{font-size:clamp(32px,3.4vw,48px)}
@media(max-width:760px){.category-navigation{padding-top:24px}.category-navigation .shop-heading{margin-bottom:20px}}
.product-dialog.product-dialog-pot .gallery-thumb{width:64px;height:64px}
.product-card-image.product-card-image-pot>img{object-fit:cover;object-position:center bottom;transform:none}
.storefront-highlights{padding-top:36px}
.highlight-section{padding-bottom:36px}
.highlight-section+.highlight-section{border-top:1px solid var(--line);padding-top:36px}
.highlight-section .section-heading{margin-bottom:24px}
.highlight-section h2{font-family:var(--editorial);font-size:clamp(32px,3.4vw,48px);font-weight:500;line-height:1.15;letter-spacing:-.025em;color:var(--brand-orange)}
.highlight-message{grid-column:1/-1;color:var(--muted);font-size:16px;line-height:1.7}
@media(max-width:760px){.storefront-highlights{padding-top:28px}.highlight-section{padding-bottom:28px}.highlight-section+.highlight-section{padding-top:28px}.highlight-section .section-heading{margin-bottom:20px}}
.hero-desktop-intro{display:none}
@media(min-width:761px){
  .hero .hero-grid{display:flex;flex-direction:column;gap:24px;min-height:0;padding-top:28px;padding-bottom:32px}
  .hero .hero-brand-stage{order:-1;width:min(100%,680px);align-self:center}
  .hero .hero-copy{padding:0;width:100%}
  .hero .hero-buttons{justify-content:center;margin-top:0;gap:30px}
  .hero + .shop-section{padding-top:36px}
}
@media(min-width:1024px){
  .hero .hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(36px,4vw,72px);align-items:center;padding-top:40px;padding-bottom:40px}
  .hero .hero-brand-stage{order:0;width:100%}
  .hero-desktop-intro{display:block}
  .hero-desktop-intro h1{font-size:clamp(44px,4.1vw,68px);line-height:1.08;letter-spacing:-.03em;margin:0 0 24px}
  .hero-desktop-intro h1>span{color:var(--brand-orange)}
  .hero-desktop-intro p{max-width:440px;font-size:17px;line-height:1.85;color:var(--muted);margin:0}
  .hero .hero-buttons{justify-content:flex-start;margin-top:30px;gap:20px 24px}
}

/* Product information directly below each gallery. */
.gallery-product-info{align-self:stretch;width:100%;min-width:0;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;text-align:left;overflow-wrap:anywhere}
.gallery-product-info>h3{font-family:var(--font-body);font-size:20px;font-weight:600;line-height:1.5;letter-spacing:0;margin:0 0 12px;color:var(--brand-orange)}
.gallery-product-info .product-description{font-size:15px;line-height:1.8}
.gallery-product-info [hidden]{display:none!important}
.gallery-product-info .product-description>:last-child{margin-bottom:0}
.product-description-toggle{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:8px;padding:8px 0;font:inherit;font-size:14px;color:var(--brand-orange);cursor:pointer;text-align:left}
.product-description-toggle .icon{width:16px;height:16px;transition:transform .2s}
.product-description-toggle[aria-expanded="true"] .icon{transform:rotate(180deg)}
.product-description-toggle:hover{text-decoration:underline;text-underline-offset:4px}
.product-description-toggle:focus-visible{outline:2px solid var(--brand-orange);outline-offset:4px;border-radius:2px}
@media(max-width:760px){.gallery-product-info{margin-top:20px;padding-top:18px}.gallery-product-info>h3{font-size:20px}}

/* Match DN90 gallery framing to the other square product images. */
#detail-main-image{touch-action:pan-y pinch-zoom}

/* Checkout's primary action follows the store's orange call-to-action color. */
#order-form>button[type="submit"]{background:var(--brand-orange);color:#111;border-color:var(--brand-orange)}
#order-form>button[type="submit"]:hover:not(:disabled){background:#ffad32;border-color:#ffad32}

/* Automatic bear promotion, with confirmed reference price. */
.product-sale-photo{position:relative}
.product-sale-ring{position:absolute;top:16px;right:16px;z-index:2;width:90px;height:90px;border:3px solid var(--brand-orange);border-radius:50%;background:#111e;color:var(--brand-orange);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;box-sizing:border-box;pointer-events:none}
.product-sale-ring strong{font-size:26px;font-weight:800}
.product-sale-ring>span{font-size:15px;font-weight:600;margin-top:4px}
.product-before-price{color:#aaa;font-size:16px;font-weight:400;white-space:nowrap}
.product-price .product-before-price{display:block;font-size:14px;margin-bottom:4px}
@media(max-width:600px){.product-sale-ring{width:76px;height:76px;top:12px;right:12px}.product-sale-ring strong{font-size:22px}.product-sale-ring>span{font-size:13px}}
/* Compact sale badge on mobile product cards. */
@media(max-width:600px){
 .product-card-image>.product-sale-ring{width:48px;height:48px;top:7px;right:7px;border-width:2px}
 .product-card-image>.product-sale-ring strong{font-size:15px}
 .product-card-image>.product-sale-ring>span{font-size:9px;margin-top:2px}
}

/* Shared product gallery sizing for every product, including future additions. */
.product-dialog .product-gallery{min-width:0}
.product-dialog .product-sale-photo{width:100%;min-width:0}
.product-dialog .product-main-image{display:block;width:100%;height:auto;aspect-ratio:3/4;max-height:none;object-fit:contain;object-position:center}

/* Keep the mobile gallery discount clear of the dialog close button. */
@media (max-width: 600px) {
  .product-dialog .product-sale-photo > .product-sale-ring {
    left: 12px;
    right: auto;
  }
}

.product-sale-ring.positioned-sale-ring{--badge-size:90px;left:calc(12px + (100% - 24px - var(--badge-size))*var(--badge-desktop-x));top:calc(12px + (100% - 24px - var(--badge-size))*var(--badge-desktop-y));right:auto}
@media(max-width:600px){
 .product-sale-ring.positioned-sale-ring{--badge-size:76px}
 .product-card-image>.product-sale-ring.positioned-sale-ring{--badge-size:48px}
 .product-sale-ring.positioned-sale-ring,.product-dialog .product-sale-photo>.product-sale-ring.positioned-sale-ring{left:calc(12px + (100% - 24px - var(--badge-size))*var(--badge-mobile-x));top:calc(12px + (100% - 24px - var(--badge-size))*var(--badge-mobile-y));right:auto}
}

/* Voluntary newsletter sign-up, shared by desktop and mobile. */
.newsletter-section{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;border-top:1px solid #383838;padding-top:52px;padding-bottom:52px;margin-top:32px}
.newsletter-copy h2{font-size:clamp(27px,3vw,38px);line-height:1.2;margin:12px 0 18px;max-width:480px}
.newsletter-copy>p:last-child{color:#bbb;line-height:1.7;max-width:460px}
.newsletter-form{margin:0;padding:0;min-width:0;background:transparent;color:#eee}
.newsletter-form>label{display:block;margin-bottom:10px;font-size:14px}
.newsletter-input-row{display:flex;gap:10px}
.newsletter-input-row input{min-width:0;flex:1;width:100%;border:1px solid #555;border-radius:4px;background:#151515;color:#fff;padding:15px;font:inherit;font-size:16px}
.newsletter-input-row button{flex-shrink:0;min-height:52px;gap:16px;background:#f49a26;color:#111;border:1px solid #f49a26;border-radius:4px;padding:14px 20px}
.newsletter-input-row button:disabled{opacity:.6;cursor:wait}
.newsletter-form .newsletter-consent{display:flex;gap:11px;align-items:flex-start;margin:16px 0 12px;font-size:13px;line-height:1.6;color:#bbb;cursor:pointer}
.newsletter-consent input{flex:none;width:18px;height:18px;accent-color:#f49a26;margin:2px 0 0}
.newsletter-privacy{font-size:12px;color:#aaa;line-height:1.6;margin:12px 0}
.newsletter-privacy a{text-decoration:underline;text-underline-offset:3px}
#newsletter-feedback{font-size:14px;line-height:1.6;color:#f5ad4a;margin:8px 0 0}
.newsletter-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){.newsletter-section{grid-template-columns:1fr;gap:24px;padding-top:36px;padding-bottom:36px}.newsletter-input-row{flex-direction:column}.newsletter-input-row button{width:100%;justify-content:center}.newsletter-copy h2{max-width:430px}}
@media(max-width:560px){.product-mobile-heading{padding:32px 22px 18px;background:var(--navy-bg,#000)}.product-mobile-heading .eyebrow{margin:0 0 12px}.product-mobile-heading h2{font-size:28px;line-height:1.2;letter-spacing:-.7px;margin:0 0 12px}.product-mobile-heading .product-tagline{margin:0;line-height:1.6}.product-info>.gallery-product-info{margin-top:28px}}


/* A quieter shop: compact introduction and categories, consistent product hierarchy. */
.storefront-refined .header-inner{min-height:100px}
.storefront-refined .header-brand,.storefront-refined .header-brand-logo{width:88px}
.storefront-refined .header-brand-logo{height:84px}
.storefront-refined .hero{background:#101010;border-bottom:1px solid #242424}
.storefront-refined .hero .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:40px;min-height:0;padding-top:28px;padding-bottom:28px}
.storefront-refined .hero-desktop-intro{display:block}
.storefront-refined .hero-desktop-intro h1{font-family:var(--font-body);font-size:clamp(30px,3vw,42px);font-weight:600;line-height:1.16;letter-spacing:-1px;margin:0 0 14px}
.storefront-refined .hero-desktop-intro h1>span{color:var(--brand-orange);font-style:normal}
.storefront-refined .hero-desktop-intro p{max-width:540px;font-size:15px;line-height:1.7;color:#b5b5b5;margin:0}
.storefront-refined .hero .hero-copy{padding:0;width:100%}
.storefront-refined .hero .hero-brand-stage{order:0;width:100%;margin:0}
.storefront-refined .hero-brand-image{border-radius:8px;box-shadow:none}
.storefront-refined .hero .hero-buttons{justify-content:flex-start;gap:20px;margin-top:20px}
.storefront-refined .hero-buttons .button{min-height:44px;padding:12px 18px;font-size:13px}
.storefront-refined .hero-buttons .text-link{font-size:13px}
.storefront-refined .category-navigation{padding-top:28px}
.storefront-refined .category-navigation .shop-heading{margin-bottom:14px}
.storefront-refined .category-navigation .shop-heading h2{font-family:var(--font-body);font-size:20px;font-weight:500;letter-spacing:0;color:#ddd!important}
.storefront-refined .shop-toolbar{border-bottom:0}
.storefront-refined .shop-toolbar .filter-scroll{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:0}
.storefront-refined .filter-chip,.storefront-refined .filter-chip[data-filter="all"]{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #333;border-radius:6px;background:#111;grid-column:auto}
.storefront-refined .filter-chip .category-icon{width:18px;height:18px;flex-shrink:0}
.storefront-refined .filter-chip .category-label{font-size:13px;line-height:1.3;white-space:normal}
.storefront-refined .filter-chip .category-count{position:static;background:none;min-width:0;padding:0;font-size:11px;color:#999}
.storefront-refined .filter-chip.active{background:#241c11;border-color:var(--brand-orange);box-shadow:none}
.storefront-refined .filter-chip.active .category-count{color:var(--brand-orange)}
.storefront-refined .storefront-highlights{padding-top:32px}
.storefront-refined .highlight-section{padding-bottom:36px}
.storefront-refined .highlight-section+.highlight-section{padding-top:32px;border-top:1px solid #292929}
.storefront-refined .highlight-section h2,.storefront-refined .shop-section .shop-heading h2{font-family:var(--font-body);font-size:clamp(24px,2.6vw,32px);font-weight:600;line-height:1.2;letter-spacing:-.6px;color:var(--light-text)!important}
.storefront-refined .section-heading{margin-bottom:20px}
.storefront-refined .product-grid{gap:24px 20px}
.storefront-refined .product-card{display:flex;flex-direction:column;border:1px solid #262626;border-radius:8px;background:#111;transition:border-color .18s ease}
.storefront-refined .product-card-image{flex:none;border:0;aspect-ratio:1;overflow:hidden}
.storefront-refined .product-card-image>img{transition:transform .25s ease}
.storefront-refined .product-card-info{display:flex;flex:1;flex-direction:column;padding:16px}
.storefront-refined .product-card-category,.storefront-refined .product-delivery-note{display:none}
.storefront-refined .product-card-title{font-size:16px;line-height:1.45;min-height:46px;margin:0 0 16px;font-weight:500;letter-spacing:0}
.storefront-refined .product-card-bottom{margin-top:auto;gap:8px;align-items:flex-end}
.storefront-refined .product-price{font-size:17px;font-weight:600;line-height:1.4}
.storefront-refined .product-price small{font-size:12px;font-weight:400}
.storefront-refined .product-price .product-before-price{font-size:12px;font-weight:400;color:#aaa}
.storefront-refined .card-variant-note{font-size:12px;color:#aaa}
.storefront-refined .quick-view{width:30px;height:30px;right:10px;bottom:10px}
.storefront-refined .shop-section{padding-top:32px;padding-bottom:48px;border-top:1px solid #292929}
.storefront-refined .shop-subtoolbar{margin-bottom:22px;font-size:13px}
.storefront-refined .custom-box{background:#111;border:1px solid #292929;border-radius:10px}
.storefront-refined .faq-section h2,.storefront-refined .newsletter-copy h2{font-family:var(--font-body);font-size:28px;font-weight:600;letter-spacing:-.6px}
@media(hover:hover) and (pointer:fine){
 .storefront-refined .product-card:hover{border-color:#685032}
 .storefront-refined .product-card-image:hover>img{transform:scale(1.025)}
 .storefront-refined .filter-chip:hover{border-color:#8e6a36}
}
@media(max-width:760px){
 .storefront-refined .header-inner{min-height:84px}
 .storefront-refined .header-brand,.storefront-refined .header-brand-logo{width:72px}
 .storefront-refined .header-brand-logo{height:70px}
 .storefront-refined .hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:0;padding-top:24px;padding-bottom:24px}
 .storefront-refined .hero .hero-brand-stage{display:none}
 .storefront-refined .hero-desktop-intro h1{font-size:29px;letter-spacing:-.7px;margin-bottom:10px}
 .storefront-refined .hero-desktop-intro p{font-size:14px;line-height:1.65}
 .storefront-refined .hero .hero-buttons{margin-top:16px;gap:16px;flex-wrap:wrap}
 .storefront-refined .category-navigation{padding-top:22px}
 .storefront-refined .category-navigation .shop-heading{margin-bottom:12px}
 .storefront-refined .shop-toolbar .filter-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .storefront-refined .filter-chip,.storefront-refined .filter-chip[data-filter="all"]{min-height:44px;padding:10px;gap:7px}
 .storefront-refined .filter-chip .category-count{margin-left:auto}
 .storefront-refined .storefront-highlights{padding-top:28px}
 .storefront-refined .product-grid{gap:18px 12px}
 .storefront-refined .product-card-info{padding:12px}
 .storefront-refined .product-card-title{font-size:14px;min-height:41px;margin-bottom:12px}
 .storefront-refined .product-price{font-size:16px}
 .storefront-refined .card-variant-note{font-size:11px}
 .storefront-refined .highlight-section h2,.storefront-refined .shop-section .shop-heading h2{font-size:25px}
 .storefront-refined .highlight-section{padding-bottom:28px}
 .storefront-refined .highlight-section+.highlight-section{padding-top:28px}
 .storefront-refined .section-heading{margin-bottom:16px}
 .storefront-refined .shop-section{padding-top:28px;padding-bottom:36px}
 html{scroll-padding-top:100px}
}
@media(prefers-reduced-motion:reduce){.storefront-refined .product-card,.storefront-refined .product-card-image>img{transition:none}.storefront-refined .product-card-image:hover>img{transform:none}}

/* Keep the remaining hero actions compact after removing the introductory text. */
.storefront-refined .hero.hero-without-intro .hero-buttons{margin-top:0}

/* Full-width desktop workshop banner with actions above. */
@media(min-width:761px){
 .storefront-refined .hero.hero-without-intro .hero-grid{grid-template-columns:minmax(0,1fr);gap:22px}
 .storefront-refined .hero.hero-without-intro .hero-copy{grid-column:1;grid-row:1}
 .storefront-refined .hero.hero-without-intro .hero-brand-stage{grid-column:1;grid-row:2;order:0;width:100%}
 .storefront-refined .hero.hero-without-intro .hero-buttons{flex-wrap:wrap;justify-content:center}
 .storefront-refined .hero.hero-without-intro .hero-brand-image{width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;object-position:center}
}

/* Restore spacious category tiles on desktop; keep compact mobile controls. */
@media(min-width:961px){
 .storefront-refined .category-navigation{padding-top:28px;padding-bottom:24px}
 .storefront-refined .category-navigation .shop-heading{margin-bottom:20px}
 .storefront-refined .category-navigation .shop-heading h2{font-size:30px}
 .storefront-refined .shop-toolbar .filter-scroll{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}
 .storefront-refined .filter-chip,.storefront-refined .filter-chip[data-filter="all"]{position:relative;flex-direction:column;justify-content:center;gap:12px;min-height:116px;padding:22px 12px 16px;text-align:center;border-radius:8px}
 .storefront-refined .filter-chip .category-icon{width:30px;height:30px}
 .storefront-refined .filter-chip .category-label{font-size:15px;line-height:1.4}
 .storefront-refined .filter-chip .category-count{position:absolute;top:8px;right:10px;min-width:22px;padding:1px 5px;border-radius:12px;background:#242424;font-size:12px}
}
