/* The homepage's editorial direction, carried through the product shop.
   Existing gallery, filter, quantity and builder controls remain unchanged. */
.shopping-page{background:#fff}
.shopping-page .products-intro,.shopping-page .shop-intro{border:0;padding-block:43px 35px}
.shopping-page .products-intro h1,.shopping-page .shop-intro h1{font-size:clamp(38px,4.2vw,60px);font-weight:700;line-height:1.04;letter-spacing:-.035em;text-transform:uppercase;margin:0}
.shopping-page .products-intro .eyebrow,.shopping-page .shop-intro .eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:15px}
.shopping-page .products-intro>p:not(.eyebrow){font-size:13px;margin-top:16px;line-height:1.6}
.shopping-page .shop-intro{grid-template-columns:1.3fr .7fr;gap:45px}
.shopping-page .shop-intro>p{font-size:13px;line-height:1.7;max-width:300px;margin-bottom:1px}
.shopping-page .product-category-nav{padding-block:16px;border-color:#e2e3de;gap:clamp(22px,3vw,44px);font-size:10px;letter-spacing:.065em}
.shopping-page .product-category-nav a{min-height:27px}
.shopping-page .product-category-nav [aria-current=page]{font-weight:700;padding-bottom:0}

/* The same four authentic photo categories as the homepage. */
.shopping-page .products-categories{max-width:none;padding:25px 20px 52px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}
.shopping-page .products-category{position:relative;isolation:isolate;overflow:hidden;color:#fff}
.shopping-page .products-category-image{aspect-ratio:.83;background:#526454}
.shopping-page .products-category-image img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;mix-blend-mode:normal;transition:opacity .25s}
.shopping-page .products-category-hats img{object-position:50% 50%}
.shopping-page .products-category-knits img{object-position:50% 48%}
.shopping-page .products-category-lifestyle img{object-position:50% 50%}
.shopping-page .products-category::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(0deg,#0009,transparent 65%)}
.shopping-page .products-category-copy{position:absolute;inset:auto 25px 25px;z-index:1;padding:0}
.shopping-page .products-category h2{font-size:clamp(22px,2vw,30px);font-weight:700;line-height:1.05;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 10px;color:#fff}
.shopping-page .products-category p{font-size:11px;line-height:1.5;min-height:0;margin:0;color:#fff}
.shopping-page .products-category-link{font-size:9px;letter-spacing:.055em;color:#fff;border-color:#ffffff80;margin-top:17px;padding-bottom:3px}
.shopping-page .products-category:hover .products-category-image img{opacity:.94}
.shopping-page .products-category:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.shopping-page .product-customization{padding-block:47px 62px;border-color:#e2e3de}
.shopping-page .product-customization-heading{margin-bottom:27px}
.shopping-page .product-customization h2{font-size:clamp(28px,3vw,42px);font-weight:700;text-transform:uppercase;letter-spacing:-.03em;line-height:1.07}
.shopping-page .product-customization-grid{gap:20px}
.shopping-page .product-customization-card>img{aspect-ratio:1.65}
.shopping-page .product-customization-card>div{margin-top:15px}
.shopping-page .product-customization-card h3{font-size:16px;font-weight:600;letter-spacing:-.015em}
.shopping-page .product-customization-card>p{font-size:11px;margin-top:6px}

/* The shapes remain a quiet, easily compared product rail. */
.shopping-page .shop-collection{padding-block:24px 59px}
.shopping-page .shop-toolbar{gap:20px;align-items:center}
.shopping-page .shop-toolbar .filter-row{gap:22px;margin:0 0 27px}
.shopping-page .filter-button{padding:8px 0 7px;border:0;border-bottom:1px solid transparent;color:var(--muted);background:transparent;font-size:10px;letter-spacing:.055em;text-transform:uppercase}
.shopping-page .filter-button[aria-pressed=true]{border-bottom-color:var(--ink);color:var(--ink);background:transparent;font-weight:700}
.shopping-page .filter-button:hover{color:var(--ink)}
.shopping-page .shop-toolbar>p{font-size:10px;letter-spacing:.035em;margin:0 0 27px}
.shopping-page .shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 24px}
.shopping-page .shop-card-image{background:#f7f7f3;aspect-ratio:1.08;transition:background .2s}
.shopping-page .shop-card-image img{width:82%;height:85%;max-width:280px;max-height:85%;object-fit:contain;transform:none}
.shopping-page .shop-card:hover .shop-card-image{background:#f1f2ec}
.shopping-page .shop-card-cta{font-size:9px;letter-spacing:.04em;bottom:12px}
.shopping-page .shop-card-meta{font-size:9px;letter-spacing:.07em;margin-top:15px}
.shopping-page .shop-card h3{font-size:14px;line-height:1.4;letter-spacing:-.015em;font-weight:600;margin:5px 0 0}
.shopping-page .family-knit-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1060px;margin-inline:auto;gap:36px}
.shopping-page .family-knit-grid .shop-card-image{aspect-ratio:1.22}
.shopping-page .family-shop-card .shop-card-image img{width:82%;height:82%;max-width:none;max-height:82%;mix-blend-mode:multiply}
.shopping-page .shop-support{padding-block:47px 55px;gap:65px;grid-template-columns:1fr 1.25fr}
.shopping-page .shop-support h2{font-size:clamp(29px,3vw,43px);font-weight:700;text-transform:uppercase;line-height:1.04;letter-spacing:-.035em}
.shopping-page .shop-support p:not(.eyebrow){font-size:13px;margin-bottom:15px}
.shopping-page .shop-support .button-row{margin-top:20px;gap:19px}
.shopping-page .shop-support .text-link{font-size:10px}

/* Product photography stays rectangular and unrotated. */
.shopping-page .breadcrumbs{padding-block:20px;font-size:9px;letter-spacing:.055em;text-transform:uppercase;gap:12px;color:var(--muted)}
.shopping-page .breadcrumbs a:hover{color:var(--ink)}
.shopping-page .pdp{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(40px,5.2vw,76px);padding-top:4px;padding-bottom:58px}
.shopping-page .pdp-summary{position:static;padding-top:8px}
.shopping-page .product-image-stage{aspect-ratio:1.1;background:#f5f5f1;border:0;border-radius:0}
.shopping-page .product-image-stage>img{transform:none;object-fit:cover;object-position:50% 68%}
.shopping-page .family-pdp .product-image-stage>img{object-fit:contain;object-position:center}
.shopping-page .family-flapjack .product-image-stage{background:#fff}
.shopping-page .family-skullcap .product-image-stage>img{padding:30px}
.shopping-page .gallery-controls{padding-block:13px;gap:14px}
.shopping-page .gallery-controls p,.shopping-page .family-pdp .gallery-controls p{font-size:10px;line-height:1.5}
.shopping-page .gallery-controls .plain-button{font-size:10px;white-space:nowrap}
.shopping-page .product-thumbnails{gap:8px}
.shopping-page .has-studio-mockup .product-image-stage{aspect-ratio:1;background:#f6f4ef}
.shopping-page .has-studio-mockup .product-image-stage>img[data-gallery-type="Studio mockup"]{object-fit:contain;object-position:center}
.shopping-page .has-studio-mockup .product-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}
.shopping-page .gallery-thumb{border:0;border-bottom:2px solid transparent;background:#fff}
.shopping-page .gallery-thumb[aria-pressed=true]{border-bottom-color:var(--ink)}
.shopping-page .gallery-thumb img{background:#f4f4f0;border:0}
.shopping-page .gallery-thumb span,.shopping-page .family-pdp .gallery-thumb span{font-size:9px;line-height:1.4;padding:9px 1px 8px}
.shopping-page .gallery-pending{min-height:0;border:0;border-bottom:2px solid #e0e1dc;background:#f6f6f2;padding:10px 5px}
.shopping-page .gallery-pending span,.shopping-page .family-pdp .gallery-pending span{font-size:10px}
.shopping-page .gallery-pending small,.shopping-page .family-pdp .gallery-pending small{font-size:9px;line-height:1.4;margin-top:5px}
.shopping-page .pdp-draft-note,.shopping-page .family-pdp .pdp-draft-note{font-size:10px;line-height:1.65;padding-top:13px;max-width:620px}
.shopping-page .pdp-summary .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:14px}
.shopping-page .pdp-summary h1{font-size:clamp(31px,3.05vw,45px);font-weight:700;text-transform:uppercase;line-height:1.05;letter-spacing:-.035em;margin:0 0 17px}
.shopping-page .pdp-description,.shopping-page .family-pdp .pdp-description{font-size:13px;line-height:1.65;max-width:390px;margin:0 0 20px}
.shopping-page .pdp-price{font-size:11px;line-height:1.75;padding:0 0 20px;border-top:0;border-bottom:1px solid var(--line)}
.shopping-page .pdp-price .text-link{font-size:9px;display:inline-block;margin-top:10px;line-height:1.55;padding-bottom:2px}
.shopping-page .pdp-build-form{margin-top:22px}
.shopping-page .pdp-build-form .field{font-size:10px;gap:8px}
.shopping-page .pdp-build-form input[type=number]{font-size:12px;min-height:45px;padding:11px 13px;background:#fff}
.shopping-page .pdp-build-form>.button{min-height:47px;margin-top:14px;font-size:10px;letter-spacing:.055em}
.shopping-page .pdp-help{font-size:11px;margin:17px 0 29px;text-underline-offset:4px}
.shopping-page .pdp-spec h2{font-size:18px;letter-spacing:-.015em;font-weight:700;text-transform:uppercase;margin:0 0 13px}
.shopping-page .pdp-spec dl{margin-bottom:15px}
.shopping-page .pdp-spec dl>div,.shopping-page .family-pdp .pdp-spec dl>div{padding:10px 0;font-size:11px;line-height:1.55;gap:20px;grid-template-columns:.9fr 1.1fr}
.shopping-page .pdp-summary details{border-color:var(--line)}
.shopping-page .pdp-summary summary,.shopping-page .family-pdp .pdp-summary summary{font-size:11px;padding-block:15px}
.shopping-page .pdp-summary details p,.shopping-page .family-pdp .pdp-summary details p{font-size:11px;line-height:1.7}
.shopping-page .pdp-enterprise{font-size:10px;margin-top:21px}

/* Project references support the product, then lead back into the shopping rail. */
.shopping-page .pdp-real-work{background:#f5f5f0;padding-block:49px 55px}
.shopping-page .pdp-real-work .section-heading,.shopping-page .related-shapes .section-heading{margin-bottom:28px}
.shopping-page .pdp-real-work h2,.shopping-page .related-shapes h2{font-size:clamp(28px,2.85vw,40px);font-weight:700;text-transform:uppercase;line-height:1.05;letter-spacing:-.03em}
.shopping-page .pdp-real-work .text-link,.shopping-page .related-shapes .text-link{font-size:10px}
.shopping-page .shape-example{gap:55px;grid-template-columns:1.05fr .95fr}
.shopping-page .shape-example>img{background:#fff;aspect-ratio:1.45;object-fit:contain}
.shopping-page .shape-example h3{font-size:29px;font-weight:600;line-height:1.12;letter-spacing:-.025em;margin-bottom:19px}
.shopping-page .shape-example p:not(.eyebrow){font-size:12px;line-height:1.7;max-width:390px}
.shopping-page .shape-example .eyebrow{font-size:9px;margin-bottom:16px}
.shopping-page .shape-example-note{font-size:10px;line-height:1.6;margin-bottom:21px}
.shopping-page .pdp-case-grid{gap:22px}
.shopping-page .pdp-case-grid a>img{height:clamp(240px,25vw,360px)}
.shopping-page .pdp-case-grid h3{font-size:16px;font-weight:600;margin-top:15px}
.shopping-page .pdp-case-grid p{font-size:11px;line-height:1.65;margin-top:7px}
.shopping-page .related-shapes{padding-block:48px 55px}
.shopping-page .related-shapes .shape-preview-grid{gap:22px;grid-template-columns:repeat(4,minmax(0,1fr))}
.shopping-page .related-shapes .family-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.shopping-page .related-shapes .shop-card-image{background:#f7f7f3;aspect-ratio:1.16}
.shopping-page .photo-dialog{background:#fff;padding:18px;max-width:calc(100vw - 25px)}
.shopping-page .photo-dialog .dialog-close{font-size:11px}

@media(max-width:1100px){
 .shopping-page .products-category-copy{inset:auto 19px 22px}.shopping-page .products-category h2{font-size:24px}.shopping-page .products-category p{font-size:10px}
 .shopping-page .shop-grid{gap:33px 19px}.shopping-page .shop-card h3{font-size:13px}.shopping-page .shop-card-meta{font-size:8px}
 .shopping-page .pdp{gap:38px;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.shopping-page .pdp-summary h1{font-size:35px}.shopping-page .product-image-stage{aspect-ratio:1.02}
 .shopping-page .shape-example{gap:35px}.shopping-page .shape-example h3{font-size:26px}
}
@media(max-width:800px){
 .shopping-page .products-intro,.shopping-page .shop-intro{padding-block:33px 29px}.shopping-page .shop-intro{gap:25px;grid-template-columns:1.25fr .75fr}.shopping-page .shop-intro>p{font-size:12px}
 .shopping-page .products-categories{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 14px 38px;gap:12px}.shopping-page .products-category-image{aspect-ratio:1}.shopping-page .products-category h2{font-size:27px}.shopping-page .products-category p{font-size:11px}
 .shopping-page .shop-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 16px}.shopping-page .shop-card-image{aspect-ratio:1}.shopping-page .shop-card-image img{width:88%;height:87%}
 .shopping-page .family-knit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.shopping-page .family-knit-grid .shop-card-image{aspect-ratio:1.05}
 .shopping-page .shop-support{gap:30px;grid-template-columns:1fr 1.3fr;padding-block:36px 40px}.shopping-page .shop-support .button-row{gap:16px}
 .shopping-page .pdp{grid-template-columns:1fr;gap:30px;padding-bottom:43px}.shopping-page .pdp-gallery{max-width:none}.shopping-page .product-image-stage{aspect-ratio:1.24}.shopping-page .family-pdp .product-image-stage{aspect-ratio:1.1}.shopping-page .pdp-summary{padding-top:0;max-width:640px}.shopping-page .pdp-summary h1{font-size:38px}.shopping-page .pdp-build-form{max-width:none}.shopping-page .pdp-description{max-width:480px}
 .shopping-page .gallery-pending{min-height:90px}.shopping-page .pdp-spec dl>div{grid-template-columns:1fr 1fr}
 .shopping-page .pdp-real-work{padding-block:38px 43px}.shopping-page .shape-example{gap:28px;grid-template-columns:1fr 1fr}.shopping-page .pdp-case-grid a>img{height:260px}.shopping-page .related-shapes{padding-block:38px 43px}.shopping-page .related-shapes .shape-preview-grid{gap:15px}.shopping-page .related-shapes .shop-card h3{font-size:12px}
}
@media(max-width:580px){
 .shopping-page .products-intro,.shopping-page .shop-intro{padding-block:28px 25px}.shopping-page .products-intro h1,.shopping-page .shop-intro h1{font-size:38px}.shopping-page .products-intro .eyebrow,.shopping-page .shop-intro .eyebrow{font-size:8px;margin-bottom:12px}.shopping-page .products-intro>p:not(.eyebrow){font-size:12px;margin-top:13px}.shopping-page .shop-intro{grid-template-columns:1fr;gap:14px}.shopping-page .shop-intro>p{max-width:none;font-size:12px}
 .shopping-page .product-category-nav{gap:8px 20px;font-size:9px;padding-block:13px;line-height:1.45}.shopping-page .product-category-nav a{min-height:24px}
 .shopping-page .products-categories{gap:9px;padding:16px 10px 31px}.shopping-page .products-category-image{aspect-ratio:.77}.shopping-page .products-category-copy{inset:auto 14px 19px}.shopping-page .products-category h2{font-size:21px;margin-bottom:8px}.shopping-page .products-category p{font-size:10px;line-height:1.45}.shopping-page .products-category-link{font-size:8px;margin-top:13px;letter-spacing:.025em}
 .shopping-page .product-customization{padding-block:32px 40px}.shopping-page .product-customization-heading{gap:17px;margin-bottom:24px}.shopping-page .product-customization h2{font-size:31px}.shopping-page .product-customization-grid{grid-template-columns:1fr;gap:27px}.shopping-page .product-customization-card>img{aspect-ratio:1.65}.shopping-page .product-customization-card h3{font-size:18px}.shopping-page .product-customization-card>p{font-size:12px}
 .shopping-page .shop-collection{padding-block:19px 40px}.shopping-page .shop-toolbar{display:block}.shopping-page .shop-toolbar .filter-row{gap:17px;margin-bottom:15px}.shopping-page .filter-button{font-size:9px}.shopping-page .shop-toolbar>p{font-size:9px;margin-bottom:20px}
 .shopping-page .shop-grid,.shopping-page .family-knit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 14px}.shopping-page .shop-card-image{aspect-ratio:.98}.shopping-page .shop-card-image img{width:90%;height:87%}.shopping-page .shop-card-meta{margin-top:12px;font-size:8px}.shopping-page .shop-card h3{font-size:12px;line-height:1.4;margin-top:5px}.shopping-page .family-knit-grid .shop-card-image{aspect-ratio:.93}
 .shopping-page .shop-support{grid-template-columns:1fr;gap:19px;padding-block:32px 38px}.shopping-page .shop-support h2{font-size:32px}.shopping-page .shop-support p:not(.eyebrow){font-size:12px}.shopping-page .shop-support .button-row{margin-top:19px;gap:17px}
 .shopping-page .breadcrumbs{padding-block:16px;font-size:8px;gap:8px;flex-wrap:wrap;line-height:1.5}.shopping-page .pdp{padding-top:0;gap:25px}.shopping-page .product-image-stage,.shopping-page .family-pdp .product-image-stage{aspect-ratio:1.04}.shopping-page .family-skullcap .product-image-stage>img{padding:17px}
 .shopping-page .gallery-controls{gap:10px;padding-block:11px}.shopping-page .gallery-controls p,.shopping-page .family-pdp .gallery-controls p{font-size:9px}.shopping-page .gallery-controls .plain-button{font-size:9px}.shopping-page .product-thumbnails{gap:6px}.shopping-page .gallery-thumb span,.shopping-page .family-pdp .gallery-thumb span{font-size:8px;line-height:1.35;padding:7px 1px}.shopping-page .gallery-pending{padding:7px 3px;min-height:76px}.shopping-page .gallery-pending span,.shopping-page .family-pdp .gallery-pending span{font-size:9px}.shopping-page .gallery-pending small,.shopping-page .family-pdp .gallery-pending small{font-size:8px}.shopping-page .pdp-draft-note,.shopping-page .family-pdp .pdp-draft-note{font-size:9px;padding-top:11px}
 .shopping-page .pdp-summary .eyebrow{font-size:8px;margin-bottom:12px}.shopping-page .pdp-summary h1{font-size:34px;margin-bottom:15px}.shopping-page .pdp-description,.shopping-page .family-pdp .pdp-description{font-size:13px}.shopping-page .pdp-price{font-size:11px}.shopping-page .pdp-spec h2{font-size:18px}.shopping-page .pdp-spec dl>div,.shopping-page .family-pdp .pdp-spec dl>div{font-size:11px;gap:15px}.shopping-page .pdp-build-form>.button{font-size:10px;min-height:48px}
 .shopping-page .pdp-real-work h2,.shopping-page .related-shapes h2{font-size:30px}.shopping-page .pdp-real-work .section-heading,.shopping-page .related-shapes .section-heading{gap:18px;margin-bottom:24px}.shopping-page .shape-example{grid-template-columns:1fr;gap:25px}.shopping-page .shape-example>img{aspect-ratio:1.3}.shopping-page .shape-example h3{font-size:27px}.shopping-page .shape-example p:not(.eyebrow){font-size:12px}.shopping-page .shape-example-note{font-size:10px}
 .shopping-page .pdp-case-grid{grid-template-columns:1fr;gap:27px}.shopping-page .pdp-case-grid a>img{height:250px}.shopping-page .related-shapes .shape-preview-grid,.shopping-page .related-shapes .family-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 14px}.shopping-page .related-shapes .shop-card-image{aspect-ratio:1.05}
}
@media(prefers-reduced-motion:reduce){.shopping-page .products-category-image img,.shopping-page .shop-card-image{transition:none}}

/* Related products use the same square studio framing as the shape listings. */
.shopping-page .related-shapes .shop-card-image{aspect-ratio:1}
.shopping-page .related-shapes .studio-shape-tile{background:#f6f4ef}
.shopping-page .related-shapes .studio-shape-tile img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;mix-blend-mode:normal}
