/* Catalog and product pages share the established Print Samurai type and palette. */
[hidden]{display:none!important}
.shop-page h1,.product-detail-page h1{letter-spacing:-.045em}
.shop-page .eyebrow,.product-detail-page .eyebrow{font-size:12px}
.photo-caption{position:absolute;bottom:20px;left:20px;padding:8px 12px;max-width:calc(100% - 40px);background:var(--white);color:var(--ink);font-size:10px;line-height:1.4;font-weight:600;text-transform:uppercase;letter-spacing:.025em}
.shop-hero{display:grid;grid-template-columns:1.07fr 1fr;min-height:650px}
.shop-hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:60px 2.5vw 24px var(--pad)}
.shop-hero h1{font-size:clamp(60px,6.8vw,145px);line-height:.94;margin:48px -50px 30px 0;position:relative;z-index:2}
.shop-hero-copy>p{font-size:18px;line-height:1.7;max-width:540px;color:#62625f;margin-bottom:30px}
.shop-hero-copy .button{min-width:260px}
.shop-hero-foot{display:flex;justify-content:space-between;gap:20px;width:100%;margin-top:auto;padding-top:65px;font-size:10px;font-weight:600;letter-spacing:.04em}
.shop-hero-art{position:relative;min-width:0;background:#deded8;overflow:hidden}
.shop-hero-art>img{width:100%;height:100%;object-fit:cover;object-position:52% center;transition:transform 1s ease}
.shop-hero-art:hover>img{transform:scale(1.025)}
.shop-hero-art .photo-caption{top:25px;bottom:auto}
.shop-photo-link{position:absolute;inset:auto 0 0;background:var(--ink);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px 28px;font-size:16px;font-weight:600}
.shop-photo-link>span{font-size:28px}
.collection-browser{padding:95px var(--pad) 100px;scroll-margin-top:10px}
.collection-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}
.collection-top h2{font-size:clamp(36px,3.9vw,75px);margin-top:16px;line-height:1.08}
.collection-search{display:flex;flex-direction:row;align-items:center;border-bottom:1px solid var(--ink);gap:12px;width:min(420px,37%);min-width:290px;padding:12px 0}
.collection-search input{border:0!important;outline-offset:8px;background:none;margin:0!important;padding:0!important;min-width:0;flex:1;width:100%;font-size:16px}
.collection-search .search-icon{font-size:32px;line-height:1}
.collection-search #collection-count{font-size:12px;white-space:nowrap;color:#62625f}
.collection-filter-wrap{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:30px}
.collection-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.collection-filters button{padding:11px 17px;border:1px solid #c5c5bf;border-radius:30px;font-size:16px;font-weight:600;line-height:1.4;transition:background .2s,color .2s,border-color .2s}
.collection-filters button span{margin-left:7px;font-size:12px}
.collection-filters button:hover{border-color:var(--red);color:var(--red)}
.collection-filters button.active{background:var(--ink);color:white;border-color:var(--ink)}
.collection-reset{margin-left:auto;white-space:nowrap;font-size:16px;font-weight:600;color:var(--red);padding:10px 0}
.collection-reset>span{font-size:24px;margin-left:10px}
.collection-group{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:6vw;padding-top:65px;margin-top:65px;border-top:1px solid var(--ink);scroll-margin-top:125px}
.collection-group:first-of-type{margin-top:0;border-top:0}
.collection-category{position:sticky;align-self:start;top:125px;min-width:0}
.collection-category-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}
.collection-category-top svg{height:30px;width:30px}
.collection-category h2{font-size:clamp(38px,4.1vw,80px);line-height:1.03;max-width:540px}
.collection-category>p{font-size:16px;color:#62625f;margin-top:18px;max-width:430px;line-height:1.65}
.collection-category-image{position:relative;margin-top:28px;aspect-ratio:1.3;background:#e4e4de;overflow:hidden}
.collection-category-image img{height:100%;width:100%;object-fit:cover;transition:transform .8s ease}
.collection-category-image:hover img{transform:scale(1.035)}
.category-name{display:block;margin-top:15px;font-size:13px;font-weight:600}
.collection-product-list{border-top:1px solid var(--line)}
.collection-product{display:flex;align-items:center;gap:18px;padding:24px 0;border-bottom:1px solid var(--line);min-width:0;transition:color .2s}
.collection-product-number{font-size:11px;color:#777773;align-self:flex-start;margin-top:6px;min-width:20px}
.collection-product h3{font-size:clamp(24px,2.35vw,43px);font-weight:600;letter-spacing:-.03em;line-height:1.12}
.collection-product p{font-size:14px;line-height:1.6;color:#62625f;margin-top:10px;max-width:450px}
.collection-product-arrow{margin-left:auto;font-size:27px;padding-left:20px;transition:transform .25s}
.collection-product:hover h3,.collection-product:hover .collection-product-arrow{color:var(--red)}
.collection-product:hover .collection-product-arrow{transform:translate(3px,-3px)}
#collection-empty{padding:80px 0 0;max-width:620px}
#collection-empty h2{font-size:clamp(44px,5vw,80px);margin:20px 0}
#collection-empty p{color:#62625f;margin-bottom:25px}
.collection-end{background:var(--red);color:white;padding:65px var(--pad) 75px;display:grid;grid-template-columns:1.5fr 1fr;gap:30px 7vw}
.collection-end>.eyebrow{grid-column:1/-1}
.collection-end h2{font-size:clamp(48px,6.4vw,125px);line-height:.98}
.collection-end>div{align-self:end;max-width:430px}
.collection-end p{font-size:18px;line-height:1.7;margin-bottom:28px}
.collection-end .button{width:100%}
/* Individual products. */
.detail-wrap{padding:32px var(--pad) 75px}
.product-breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;line-height:1.6;margin-bottom:35px;color:#656560}
.product-breadcrumb a:hover{color:var(--red)}
.product-breadcrumb [aria-current]{color:var(--ink)}
.detail-layout{display:grid;grid-template-columns:1.13fr 1fr;gap:6vw;align-items:start}
.detail-gallery{position:sticky;top:125px;min-width:0}
.detail-main-photo{position:relative;aspect-ratio:.96;overflow:hidden;background:#e4e4de}
.detail-main-photo>img{width:100%;height:100%;object-fit:cover;transition:opacity .18s ease,transform .7s}
.detail-main-photo:has(img[src*="web-samurais"])>img{object-fit:contain;object-position:center;background:#202020}
.detail-main-photo:hover>img{transform:scale(1.015)}
.detail-main-photo .photo-caption{max-width:calc(100% - 105px)}
.detail-zoom{position:absolute;right:20px;bottom:20px;background:var(--white);border-radius:50%;width:56px;height:56px;display:grid;place-items:center;font-size:27px;transition:background .2s,color .2s}
.detail-zoom:hover{background:var(--red);color:white}
.detail-thumbnails{display:flex;gap:12px;margin-top:15px}
.detail-thumbnails button{width:92px;height:74px;padding:3px;border:1px solid transparent;transition:border .2s}
.detail-thumbnails button.active{border-color:var(--red)}
.detail-thumbnails img{width:100%;height:100%;object-fit:cover;object-position:right}
.detail-heading h1{font-size:clamp(44px,4.8vw,96px);line-height:.98;margin:20px 0 22px;overflow-wrap:anywhere}
.detail-heading>p{font-size:17px;line-height:1.7;max-width:620px;color:#62625f}
.detail-use-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 30px}
.detail-use-tags span{font-size:12px;line-height:1.4;border:1px solid #d2d2cc;padding:7px 11px;border-radius:20px}
.product-config{padding:27px 0 0;border-top:1px solid var(--ink)}
.config-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:23px}
.config-title h2{font-size:27px;line-height:1.2;font-weight:700}
.config-title>span{font-size:10px;font-weight:600;letter-spacing:.04em}
.product-config label{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;font-size:13px;font-weight:600;line-height:1.5}
.product-config select,.product-config input{width:100%;min-width:0;margin:0;padding:13px 14px;border:1px solid #b9b9b2;background:transparent;border-radius:0;font-size:16px;font-weight:400;line-height:1.5;color:var(--ink);min-height:50px}
.product-config select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23202020' stroke-width='1.5'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px;background-position:right 12px center;padding-right:40px}
.product-config select:focus,.product-config input:focus{border-color:var(--ink)}
.config-pair{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
.custom-dimensions{display:grid;grid-template-columns:1fr 1fr .8fr;gap:12px}
.product-config>.button{width:100%;margin-top:6px}
.config-note{font-size:12px;line-height:1.7;color:#666662;margin-top:14px;max-width:500px}
.detail-bottom-note{margin-top:25px;display:flex;flex-direction:column;gap:8px;font-size:10px;letter-spacing:.02em}
.detail-bottom-note a{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}
.detail-bottom-note a span{margin-left:8px}
.product-information{padding:15px var(--pad) 85px;border-top:1px solid var(--line);scroll-margin-top:110px}
.product-tablist{display:flex;gap:45px;border-bottom:1px solid var(--line);margin-bottom:45px}
.product-tablist button{padding:23px 0;position:relative;font-size:18px;font-weight:600;line-height:1.4}
.product-tablist button>span{font-size:10px;margin-left:10px;vertical-align:top}
.product-tablist button[aria-selected="true"]{color:var(--red)}
.product-tablist button[aria-selected="true"]:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--red)}
.product-tabpanel{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw}
.product-tabpanel>div{max-width:800px}
.product-tabpanel h2{font-size:clamp(36px,4vw,72px);line-height:1.06;margin-bottom:25px;overflow-wrap:anywhere}
.product-tabpanel p{font-size:17px;line-height:1.8;color:#62625f;max-width:650px}
.product-uses{display:flex;gap:15px 30px;flex-wrap:wrap;margin-top:30px}
.product-uses>span{font-size:15px;font-weight:600;line-height:1.5}
.product-uses i{font-style:normal;color:var(--red);margin-right:8px}
.product-options{padding:0;margin:25px 0 0;list-style:none;counter-reset:options}
.product-options li{display:flex;gap:20px;border-top:1px solid var(--line);padding:15px 0;font-size:16px;line-height:1.6;counter-increment:options}
.product-options li:before{content:'0' counter(options);font-size:10px;color:var(--red);margin-top:5px}
.product-tabpanel p.quiet-note{font-size:13px;margin-top:25px}
.detail-editorial{display:grid;grid-template-columns:1.2fr 1fr;background:var(--ink);color:var(--white)}
.detail-editorial-photo{position:relative;min-width:0;min-height:580px}
.detail-editorial-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:right center}
.detail-editorial-copy{padding:60px var(--pad) 65px 5vw;align-self:center}
.detail-editorial-copy h2{font-size:clamp(40px,4.8vw,100px);line-height:.98;margin:35px 0 30px}
.detail-editorial-copy h2>span{color:var(--red)}
.detail-editorial-copy p{font-size:16px;line-height:1.8;color:#cecec9;max-width:470px}
.detail-editorial-copy .text-link{margin-top:35px;max-width:100%;gap:20px;flex-wrap:wrap}
.detail-faq{padding:90px var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}
.detail-faq h2{font-size:clamp(48px,5.2vw,100px);line-height:.98;margin-top:25px}
.detail-faq .faq-list summary{grid-template-columns:25px 1fr 25px;font-size:19px;gap:18px;padding:25px 0;line-height:1.5}
.detail-faq .faq-list details p{font-size:15px;line-height:1.8;margin-left:43px;max-width:680px}
.detail-related{padding:55px var(--pad) 85px;border-top:1px solid var(--line)}
.related-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:30px}
.related-heading h2{font-size:clamp(32px,3.6vw,70px);line-height:1.08;margin-top:18px}
.related-heading .text-link{margin:0;white-space:nowrap}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.related-grid .collection-product{align-items:flex-start;border-top:1px solid var(--line)}
.related-grid .collection-product-number{display:none}
.related-grid .collection-product h3{font-size:26px}
.related-grid .collection-product-arrow{padding:0}
.related-grid .collection-product p{font-size:14px}
.product-lightbox{background:var(--ink);color:var(--white);border:0;width:min(1200px,95vw);max-height:94dvh;padding:25px}
.product-lightbox[open]{display:block}
.product-lightbox::backdrop{background:#000b}
.product-lightbox .dialog-top{align-items:center;margin-bottom:20px}
.product-lightbox h2{font-size:22px;font-weight:600}
.product-lightbox img{max-height:75dvh;max-width:100%;object-fit:contain;margin:0 auto}
.product-lightbox p{font-size:12px;margin-top:15px;color:#cecec9}
@media(min-width:2000px){.collection-product{padding-block:30px}.detail-wrap{padding-top:45px}.detail-heading>p{font-size:20px}.detail-gallery{top:140px}.product-config label{font-size:15px}.product-config select,.product-config input{padding-block:17px}.detail-layout{gap:7vw}}
@media(max-width:1100px){.collection-filters button{padding:10px 14px}.collection-group{gap:5vw}.collection-product{padding:21px 0}.shop-hero{min-height:600px}.shop-hero h1{font-size:7vw}.detail-layout{gap:4vw}.detail-heading h1{font-size:5vw}.detail-heading>p{font-size:16px}.config-title>span{display:none}.detail-editorial-photo{min-height:530px}.detail-gallery{top:110px}}
@media(max-width:960px){.shop-hero{min-height:580px}.shop-hero-copy{padding-top:40px}.shop-hero h1{font-size:7.6vw;margin-top:40px;margin-right:-55px}.shop-hero-copy>p{font-size:16px}.shop-hero-copy>p br{display:none}.shop-hero-foot{font-size:8px;gap:10px}.shop-photo-link{font-size:14px;padding:20px}.collection-browser{padding-top:65px}.collection-top{display:block}.collection-search{width:min(600px,100%);margin-top:30px}.collection-filter-wrap{display:block}.collection-reset{margin-top:12px}.collection-group{grid-template-columns:.9fr 1.1fr;gap:4vw}.collection-category{top:110px}.collection-category h2{font-size:4.8vw}.collection-product{gap:12px}.collection-product h3{font-size:26px}.collection-product p{font-size:13px}.collection-product-arrow{padding-left:0;font-size:22px}.collection-category-image{aspect-ratio:.95}.collection-end{gap:30px 5vw}.collection-end p{font-size:16px}.detail-wrap{padding-top:25px}.detail-layout{grid-template-columns:1fr 1fr;gap:4vw}.detail-heading h1{font-size:5.5vw}.detail-main-photo{aspect-ratio:.7}.detail-main-photo>img{object-position:65% center}.detail-use-tags{margin-block:18px}.config-pair{grid-template-columns:1fr}.config-title h2{font-size:25px}.detail-info .eyebrow{font-size:10px}.product-tabpanel{grid-template-columns:.7fr 1.5fr;gap:5vw}.product-tabpanel h2{font-size:40px}.detail-editorial{grid-template-columns:1fr 1fr}.detail-editorial-photo{min-height:490px}.detail-editorial-copy{padding-block:40px}.detail-editorial-copy h2{font-size:5.4vw}.detail-faq{gap:5vw;grid-template-columns:.65fr 1.35fr}.detail-faq .faq-list summary{font-size:17px}.related-grid{gap:20px}.related-grid .collection-product h3{font-size:23px}}
@media(max-width:700px){.shop-hero{display:flex;flex-direction:column;min-height:0}.shop-hero-copy{padding:35px var(--pad) 25px}.shop-hero h1{font-size:clamp(49px,11.6vw,82px);margin:35px 0 24px}.shop-hero-copy>p{font-size:16px;margin-bottom:24px;max-width:460px}.shop-hero-foot{padding-top:35px;font-size:8px}.shop-hero-art{height:440px}.shop-hero-art>img{object-position:center}.shop-hero-art .photo-caption{top:20px}.shop-photo-link{font-size:16px;padding:20px var(--pad)}.collection-browser{padding-top:50px;padding-bottom:60px}.collection-top h2{font-size:36px;max-width:340px}.collection-search{min-width:0;width:100%;margin-top:25px}.collection-search #collection-count{font-size:11px}.collection-filter-wrap{padding-bottom:20px}.collection-filters{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding:2px 2px 12px;scrollbar-width:thin;scrollbar-color:#a8a8a2 transparent}.collection-filters button{white-space:nowrap;padding:10px 15px;flex:none}.collection-group{display:block;padding-top:35px;margin-top:40px}.collection-category{position:static}.collection-category-top{margin-bottom:20px}.collection-category h2{font-size:44px;max-width:420px}.collection-category>p{font-size:15px;margin-top:18px}.collection-category-image{aspect-ratio:1.4;margin-top:25px}.category-name{margin-bottom:25px}.collection-product{padding:23px 0;gap:12px}.collection-product h3{font-size:27px}.collection-product p{font-size:14px;margin-top:8px}.collection-product-number{font-size:10px;min-width:17px}.collection-product-arrow{font-size:25px}.collection-end{display:block;padding-block:45px 50px}.collection-end h2{font-size:clamp(43px,10.5vw,70px);margin:28px 0}.collection-end>div{max-width:none}.collection-end p{font-size:16px;max-width:430px}.collection-end .button{width:auto;max-width:100%}.photo-caption{font-size:9px;left:15px;bottom:15px;max-width:calc(100% - 30px);padding:7px 9px}.detail-wrap{padding:22px var(--pad) 45px}.product-breadcrumb{gap:7px;font-size:11px;margin-bottom:25px}.detail-layout{display:flex;flex-direction:column;gap:30px}.detail-gallery{position:static;width:100%}.detail-main-photo{aspect-ratio:1.05}.detail-main-photo>img{object-position:center}.detail-heading h1{font-size:clamp(42px,10.8vw,68px);margin:18px 0 20px}.detail-heading>p{font-size:16px}.detail-info{width:100%}.detail-use-tags{margin:20px 0 28px}.detail-info .eyebrow{font-size:11px}.config-title>span{display:block}.config-pair{grid-template-columns:1.4fr 1fr;gap:12px}.config-title h2{font-size:27px}.product-config .button{gap:20px}.detail-bottom-note{font-size:9px}.product-information{padding-top:0;padding-bottom:45px}.product-tablist{gap:0;justify-content:space-between;margin-bottom:30px}.product-tablist button{font-size:15px;padding:20px 0}.product-tablist button>span{font-size:9px;margin-left:4px}.product-tabpanel{display:block;min-height:0}.product-tabpanel>.eyebrow{display:block;margin-bottom:25px}.product-tabpanel h2{font-size:36px;margin-bottom:20px}.product-tabpanel p{font-size:16px}.product-uses{gap:13px 22px;margin-top:22px}.product-uses>span{font-size:14px}.product-options li{font-size:15px}.detail-editorial{display:flex;flex-direction:column}.detail-editorial-photo{min-height:0;aspect-ratio:1.2}.detail-editorial-copy{padding:35px var(--pad) 45px}.detail-editorial-copy h2{font-size:clamp(42px,10.8vw,72px);margin:25px 0}.detail-editorial-copy p{font-size:16px}.detail-faq{display:block;padding-block:50px}.detail-faq h2{font-size:52px;margin-top:20px}.detail-faq>.faq-list{margin-top:30px}.detail-faq .faq-list summary{font-size:17px;gap:12px;grid-template-columns:22px 1fr 20px;padding:23px 0}.detail-faq .faq-list details p{margin-left:34px;font-size:15px}.detail-related{padding-block:40px 50px}.related-heading{display:block;margin-bottom:25px}.related-heading h2{font-size:35px;margin-top:18px;max-width:320px}.related-heading .text-link{margin-top:22px;display:inline-flex}.related-grid{grid-template-columns:1fr;gap:0}.related-grid .collection-product{border-top:0}.related-grid .collection-product h3{font-size:27px}.detail-zoom{right:15px;bottom:15px;width:50px;height:50px}.detail-thumbnails button{width:80px;height:65px}.product-lightbox{padding:16px}.product-lightbox h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.shop-hero-art>img,.collection-category-image img,.detail-main-photo>img{transition:none}.collection-product-arrow{transition:none}}
