/* Product catalogue: shared by the home, collection and product pages. */
.catalog-hero{padding:10rem var(--pad) 4rem;display:grid;grid-template-columns:1.2fr .8fr;gap:6vw;align-items:end}
.catalog-hero h1{font-family:Argent,serif;font-weight:300;font-size:clamp(4rem,10vw,10rem);line-height:.87;letter-spacing:-.055em;margin:2.5rem 0 0}
.catalog-hero h1 em,.collection-worlds__title em,.product-related h2 em{font-family:Instrument,serif;font-weight:400}
.catalog-hero__copy{max-width:34ch;padding-bottom:.5rem}.catalog-hero__copy .lead{font-size:clamp(1.8rem,2.8vw,3rem);margin:0 0 1.25rem}.catalog-hero__copy>p:not(.lead){line-height:1.7;color:#625e55}
.catalog{padding:1rem var(--pad) 5rem}.catalog-tools{display:none;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:3rem;padding:1.6rem 0;border-block:1px solid var(--line)}.js .catalog-tools{display:grid}
.catalog-tools label{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem;color:#625e55}
.catalog-tools input,.catalog-tools select{width:100%;min-width:0;min-height:44px;border:0;border-bottom:1px solid #a09a8f;background:transparent;border-radius:0;color:var(--ink);padding:.5rem 0;font:inherit}
.catalog-search{max-width:440px}.catalog-meta{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 0;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#625e55}.catalog-meta p{margin:0}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem 1.5rem}
.product-card{display:flex;flex-direction:column;min-width:0}.product-card[hidden]{display:none}
.product-card__image{display:block;aspect-ratio:1;background:#fff;overflow:hidden}.product-card__image img{width:100%;height:100%;object-fit:contain;padding:clamp(.5rem,1.3vw,1.5rem);transition:transform .8s var(--ease)}
.product-card__body{display:flex;flex:1;flex-direction:column;padding:1.3rem 0 .5rem}
.product-card__category{font-size:.59rem;text-transform:uppercase;letter-spacing:.13em;color:#696359}
.product-card h3{font-family:Instrument,serif;font-weight:400;font-size:clamp(1.4rem,2vw,2rem);line-height:1.15;margin:.7rem 0 1.2rem;overflow-wrap:break-word}
.product-card__bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line)}
.product-price{font-size:.85rem;font-variant-numeric:tabular-nums}.product-price small{font-size:.6rem;letter-spacing:.05em;color:#625e55}.product-card__arrow{font-size:1.1rem}
.product-card:focus-visible{outline-offset:5px}
.catalog-empty{padding:4rem 0;text-align:center}.catalog-empty[hidden]{display:none}.catalog-empty h2{font-family:Instrument,serif;font-size:2.7rem;font-weight:400}.catalog-empty button{padding:.8rem 1.4rem;border:1px solid var(--ink);background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.home-products{padding:0 var(--pad) 4rem}.product-grid--featured{grid-template-columns:repeat(4,minmax(0,1fr))}.product-grid--featured h3{font-size:clamp(1.3rem,1.7vw,1.8rem)}
.home-products__all{max-width:360px;margin:2.5rem auto 0}.worlds-strip-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:3rem var(--pad) 2rem}.worlds-strip-heading h3{font-family:Instrument,serif;font-size:clamp(2rem,3.5vw,3.5rem);font-weight:400;margin:0}.worlds-strip-heading p{font-size:.75rem;color:#625e55}
.collection-worlds{padding:0 var(--pad) 5rem;scroll-margin-top:80px}.collection-worlds details{border-block:1px solid var(--line)}.collection-worlds summary{display:flex;justify-content:space-between;align-items:center;gap:2rem;list-style:none;padding:2.5rem 0;cursor:pointer}.collection-worlds summary::-webkit-details-marker{display:none}.collection-worlds__title{display:block;font-family:Argent,serif;font-weight:300;font-size:clamp(2.3rem,5vw,5rem);line-height:1;margin-top:1.5rem;letter-spacing:-.04em}.collection-worlds__toggle{font-size:2rem;font-weight:400}.collection-worlds details[open] .collection-worlds__toggle{font-size:0}.collection-worlds details[open] .collection-worlds__toggle:after{content:'−';font-size:2rem}
.collection-worlds .world-list{margin-inline:calc(var(--pad)*-1)}
.product-page{padding-top:66px}.product-breadcrumb{display:flex;gap:.7rem;align-items:baseline;padding:2rem var(--pad);font-size:.65rem;line-height:1.6;color:#625e55}.product-breadcrumb a{white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.product-breadcrumb>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:6vw;align-items:center;padding:0 var(--pad) 5rem}
.product-detail__image{margin:0;background:white;aspect-ratio:1;overflow:hidden}.product-detail__image img{width:100%;height:100%;object-fit:contain;padding:clamp(1rem,3vw,3rem)}
.product-detail__copy{max-width:620px}.product-detail__copy h1{font-family:Argent,serif;font-size:clamp(2.5rem,3.8vw,4.5rem);font-weight:300;line-height:1.02;letter-spacing:-.035em;margin:1.5rem 0 2rem;overflow-wrap:break-word}
.product-detail__price{font-size:1.5rem;margin:0 0 .8rem;font-variant-numeric:tabular-nums}.product-detail__price span{font-size:.75rem;color:#625e55}.product-detail__availability{font-size:.75rem;color:#625e55;margin:0 0 2rem}
.product-buy{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:58px;padding:1.1rem 1.5rem;background:var(--ink);color:var(--paper);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;transition:background .3s ease}
.product-purchase-note{max-width:46ch;font-size:.75rem;line-height:1.7;color:#625e55;margin:1rem 0 2.5rem}
.product-service-links{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.7rem}.product-service-links a{text-decoration:underline;text-underline-offset:4px}
.product-related{padding:4rem var(--pad) 6rem;border-top:1px solid var(--line)}.product-related__head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.product-related h2{font-family:Argent,serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:300;line-height:.95;letter-spacing:-.035em;margin:0}.product-related .quiet-link{white-space:nowrap}
@media(hover:hover) and (pointer:fine){.product-card:hover img{transform:scale(1.015)}.product-buy:hover{background:#3b3831}.product-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}}
@media(max-width:1000px){.product-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.product-detail{gap:3rem}.product-detail__copy h1{font-size:3rem}}
@media(max-width:800px){.catalog-hero{padding-top:8rem;grid-template-columns:1fr;gap:2.5rem}.catalog-hero h1{font-size:20vw}.catalog-hero__copy{max-width:40ch}.catalog-hero__copy .lead{font-size:2rem}.catalog-tools{gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.catalog{padding-bottom:3rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1rem}.product-card h3{font-size:1.5rem}.product-card__body{padding-top:1rem}.product-card__image img{padding:.5rem}.worlds-strip-heading{display:block}.product-detail{grid-template-columns:1fr;gap:2rem;padding-bottom:3rem}.product-detail__copy{max-width:none}.product-detail__copy h1{font-size:clamp(2.3rem,8vw,3.5rem)}.product-breadcrumb{padding-block:1.5rem}.product-related{padding-top:3rem;padding-bottom:4rem}.product-related__head{align-items:start;flex-direction:column;gap:.5rem}.collection-worlds{padding-bottom:3rem}}
@media(max-width:420px){.product-card h3{font-size:1.25rem}.product-card__category{font-size:.52rem}.product-price{font-size:.78rem}.product-price small{font-size:.52rem}.catalog-tools{grid-template-columns:1fr;gap:1.25rem}.catalog-search{max-width:none}}
@media(prefers-reduced-motion:reduce){.product-card:hover img{transform:none}}
