.lab-site .shop-page { max-width: var(--container-width); min-height: calc(100vh - 342px); margin: 0 auto; padding: 91px var(--gutter) 80px; text-align: center; }
.lab-site .shop-heading h1 { font-size: 54px; font-weight: 400; line-height: 1.25; letter-spacing: .18em; }
.lab-site .shop-page .heading-line { display: block; width: 44px; height: 1px; margin: 36px auto 0; background: var(--color-text); }
.lab-site .coming-soon { margin-top: 94px; }
.lab-site .coming-soon-title { font-size: 45px; font-weight: 400; line-height: 1.3; letter-spacing: .27em; text-indent: .27em; }
.lab-site .coming-soon-description { display: flex; flex-direction: column; margin-top: 91px; font-size: 13px; font-weight: 500; line-height: 2.45; letter-spacing: .04em; }
.lab-site .shop-directory-page { max-width: var(--container-width); margin: 0 auto; padding: 58px var(--gutter) 72px; }
.lab-site .shop-directory-head h1 { font-size: 48px; font-weight: 400; line-height: 1.2; letter-spacing: .08em; }
.lab-site .shop-directory-intro { display: grid; grid-template-columns: 230px 1fr; gap: 72px; align-items: end; margin-top: 39px; }
.lab-site .shop-directory-concept,.lab-site .shop-directory-copy { display: flex; flex-direction: column; font-size: 11px; font-weight: 500; line-height: 1.65; letter-spacing: .04em; }
.lab-site .shop-category-filter { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); align-items: end; margin-top: 52px; padding-top: 26px; border-top: 1px solid var(--color-border); text-align: center; }
.lab-site .shop-category-filter a { position: relative; padding: 0 8px 18px; font-size: 10px; font-weight: 500; letter-spacing: .08em; white-space: nowrap; }
.lab-site .shop-category-filter a.is-active::after { content: ''; position: absolute; right: 24%; bottom: 0; left: 24%; height: 1px; background: var(--color-text); }
.lab-site .shop-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px 24px; margin-top: 33px; }
.lab-site .shop-card { min-width: 0; }
.lab-site .shop-card-image { position: relative; aspect-ratio: 1.08 / 1; overflow: hidden; background-color: #e8e6e1; background-position: center; background-repeat: no-repeat; background-size: cover; }
.lab-site .shop-card-image.is-placeholder { background-image: linear-gradient(135deg,#dedbd4 0%,#f0eee9 48%,#cac6bd 100%); }
.lab-site .shop-region-label { position: absolute; top: 10px; left: 10px; padding: 5px 8px; background: rgba(255,255,255,.92); font-size: 9px; font-weight: 500; line-height: 1; letter-spacing: .06em; }
.lab-site .shop-card-content { padding-top: 13px; }
.lab-site .shop-card-content h2 { font-size: 16px; font-weight: 500; line-height: 1.35; letter-spacing: .04em; }
.lab-site .shop-card-subtitle { margin-top: 5px; font-size: 11px; line-height: 1.6; }
.lab-site .shop-card-description { min-height: 43px; margin-top: 14px; font-size: 10px; line-height: 1.8; }
.lab-site .shop-card-links { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 15px; }
.lab-site .shop-card-links a { display: inline-flex; align-items: center; gap: 5px; font-size: 8px; font-weight: 500; letter-spacing: .05em; white-space: nowrap; }
.lab-site .shop-card-links a + a::before { content: ''; width: 1px; height: 13px; margin-right: 5px; background: var(--color-border); }
.lab-site .shop-pagination { display: flex; justify-content: center; gap: 22px; margin-top: 50px; font-size: 11px; }
.lab-site .shop-pagination a { position: relative; min-width: 14px; padding-bottom: 6px; text-align: center; }
.lab-site .shop-pagination a.is-active::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: var(--color-text); }
.lab-site .shop-discover { margin-top: 48px; padding: 31px 24px 27px; background: #f2f2f2; text-align: center; }
.lab-site .shop-discover-eyebrow { font-size: 10px; letter-spacing: .1em; }
.lab-site .shop-discover h2 { margin-top: 7px; font-size: 23px; font-weight: 400; letter-spacing: .14em; text-indent: .14em; }
.lab-site .shop-discover > p:not(.shop-discover-eyebrow) { display: flex; flex-direction: column; margin-top: 12px; font-size: 9px; line-height: 1.8; }
.lab-site .shop-discover > a { display: flex; align-items: center; justify-content: center; width: 190px; min-height: 34px; margin: 18px auto 0; border: 1px solid #777; font-size: 9px; letter-spacing: .06em; }
@media (min-width:769px) {
	.lab-site .shop-page { padding-top: 56px; }
	.lab-site .shop-heading h1,.lab-site .shop-directory-head h1 { font-size: 34px; line-height: 1.3; letter-spacing: .08em; }
	.lab-site .shop-page .heading-line { width: 28px; margin-top: 16px; }
	.lab-site .shop-directory-intro { grid-template-columns: 210px minmax(0,1fr); max-width: 700px; gap: 50px; align-items: start; margin-top: 31px; }
	.lab-site .shop-directory-concept { font-size: 12px; line-height: 1.9; letter-spacing: .06em; }
	.lab-site .shop-directory-copy { font-size: 12px; line-height: 1.9; letter-spacing: .04em; }
	.lab-site .shop-category-filter { display: flex; justify-content: center; gap: clamp(28px,4vw,60px); margin-top: 40px; }
	.lab-site .shop-category-filter a { flex: 0 0 auto; font-size: 10px; }
	.lab-site .shop-card-content h2 { font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .08em; }
	.lab-site .shop-card-subtitle { font-size: 10px; line-height: 1.6; }
	.lab-site .shop-card-description { font-size: 12px; line-height: 1.8; }
	.lab-site .shop-card-links a { font-size: 9px; letter-spacing: .08em; }
	.lab-site .shop-card-grid:has(> .shop-card:only-child) { grid-template-columns: minmax(0,calc(33.333333% - 16px)); justify-content: center; }
	.lab-site .shop-card-grid:has(> .shop-card:nth-child(2):last-child) { grid-template-columns: repeat(2,minmax(0,calc(33.333333% - 16px))); justify-content: center; }
}
@media (max-width:768px) {
	.lab-site .shop-page { min-height: calc(100vh - 306px); padding: 68px 30px 80px; text-align: left; }
	.lab-site .shop-heading h1 { font-size: 24px; line-height: 1.3; letter-spacing: .18em; }
	.lab-site .shop-page .heading-line { width: 25px; margin: 19px 0 0; }
	.lab-site .coming-soon { margin-top: 110px; text-align: center; }
	.lab-site .coming-soon-title { font-size: 29px; line-height: 1.35; letter-spacing: .2em; text-indent: .2em; white-space: nowrap; }
	.lab-site .coming-soon-description { margin-top: 73px; font-size: 11px; line-height: 2.5; letter-spacing: .03em; }
	.lab-site .shop-directory-page { padding: 34px 18px 38px; }
	.lab-site .shop-directory-head h1 { font-size: 28px; letter-spacing: .08em; }
	.lab-site .shop-directory-intro { display: block; margin-top: 22px; }
	.lab-site .shop-directory-concept { font-size: 9px; line-height: 1.55; }
	.lab-site .shop-directory-copy { margin-top: 28px; font-size: 9px; line-height: 1.75; }
	.lab-site .shop-category-filter { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 18px; margin-top: 35px; padding-top: 20px; }
	.lab-site .shop-category-filter a { padding: 0 4px 9px; font-size: 8px; }
	.lab-site .shop-category-filter a.is-active::after { right: 18%; left: 18%; }
	.lab-site .shop-card-grid { grid-template-columns: 1fr; gap: 0; margin-top: 26px; }
	.lab-site .shop-card { display: grid; grid-template-columns: 42% minmax(0,1fr); gap: 13px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--color-border); }
	.lab-site .shop-card-image { aspect-ratio: 4 / 5; }
	.lab-site .shop-region-label { top: 6px; left: 6px; padding: 4px 5px; font-size: 7px; }
	.lab-site .shop-card-content { display: flex; min-width: 0; flex-direction: column; padding-top: 0; }
	.lab-site .shop-card-content h2 { font-size: 12px; line-height: 1.3; }
	.lab-site .shop-card-subtitle { margin-top: 3px; font-size: 9px; line-height: 1.45; }
	.lab-site .shop-card-description { min-height: 0; margin-top: 8px; font-size: 8px; line-height: 1.65; }
	.lab-site .shop-card-links { flex-direction: column; align-items: flex-start; gap: 5px; margin-top: auto; padding-top: 8px; }
	.lab-site .shop-card-links a { font-size: 7px; }
	.lab-site .shop-card-links a + a::before { display: none; }
	.lab-site .shop-pagination { gap: 17px; margin-top: 29px; font-size: 9px; }
	.lab-site .shop-discover { margin-top: 30px; padding: 28px 15px 24px; }
	.lab-site .shop-discover-eyebrow { font-size: 8px; }
	.lab-site .shop-discover h2 { font-size: 19px; }
	.lab-site .shop-discover > p:not(.shop-discover-eyebrow) { font-size: 8px; }
	.lab-site .shop-discover > a { width: 170px; min-height: 32px; font-size: 8px; }
}
