/* Shared rhythm and type for catalog, information and system pages. */
:root{color-scheme:dark;--max:1280px}
.shell{width:min(var(--max),calc(100% - 64px))}
button,input,select,textarea{font-size:1rem}
.button{font-size:.875rem;min-height:48px;padding:12px 20px;border-radius:5px;gap:12px}
.eyebrow{font-size:.75rem;letter-spacing:.13em}
.topline{font-size:.75rem;letter-spacing:.04em;min-height:38px}
.topline .text-button{font-size:.8125rem}
.masthead{min-height:100px;gap:28px}
.brand-name{font-size:2rem;letter-spacing:-.045em}
.brand-tagline{font-size:.625rem;letter-spacing:.3em}
.search{margin-left:0;min-height:48px}
.search input{font-size:1rem}
.nav-links a,.nav-links button{font-size:.9375rem;min-height:48px}
.nav-cta{font-size:.8125rem}
.hero,.hero-inner{min-height:430px}
.hero-copy{max-width:560px}
.hero-support{font-size:1rem;line-height:1.6;max-width:430px}
.hero-details>span{font-size:.8125rem}
.hero-caption span{font-size:.75rem}
.explore{gap:14px;padding-top:24px}
.explore-tile{border-radius:7px;min-height:120px;padding:16px 12px}
.explore-tile strong{font-size:1.125rem}
.explore-tile small{font-size:.75rem;line-height:1.4}
.section-heading h2{font-size:clamp(1.75rem,3vw,2.25rem)}
.section-heading .eyebrow{font-size:.75rem}
.section-heading>span{font-size:.875rem;color:var(--muted);white-space:nowrap}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px;align-items:stretch}
.product-card{display:flex;flex-direction:column;min-width:0}
.product-art-button{position:relative;border-radius:7px;overflow:hidden;background:#141a1b}
.product-art{aspect-ratio:1;width:100%;object-fit:contain}
.product-card .product-title{font-size:1rem;line-height:1.5;margin:14px 0 5px;overflow-wrap:anywhere;white-space:normal}
.product-card .product-artist{font-size:.875rem;line-height:1.5;margin:0 0 8px;color:#bdc6c1}
.product-card .product-meta{font-size:.8125rem;line-height:1.5;margin:0 0 12px}
.product-card .product-price{font-size:.875rem;line-height:1.5;margin:auto 0 12px;padding-top:8px}
.product-card .product-button{width:100%;font-size:.8125rem}
.format-badge{font-size:.75rem}
.partner{margin-block:40px}
.partner-inner{border-radius:10px;overflow:hidden}
.partner-copy>p:not(.eyebrow){font-size:1rem;line-height:1.6}
.partner-copy small{font-size:.8125rem}
.how-it-works{padding-block:40px;gap:28px}
.how-it-works p{font-size:1rem;line-height:1.8}
.how-it-works>a{font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center}
.footer-main{gap:36px;padding-block:40px}
.footer-column h3{font-size:.8125rem}
.footer-column a{font-size:.875rem;min-height:36px;display:flex;align-items:center}
.footer-brand p{font-size:1rem}
.footer-bottom{font-size:.75rem;gap:16px;flex-wrap:wrap;padding-block:18px}
.info-page{max-width:1080px;padding-top:0;padding-bottom:56px}
.info-page .breadcrumb{padding:24px 0;margin:0;font-size:.875rem}
.info-heading{max-width:760px;padding:24px 0 28px}
.info-page .info-heading h1{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,3.5rem);line-height:1.12;letter-spacing:-.035em;font-weight:400;margin:0 0 18px;text-wrap:balance}
.info-page .info-heading>p:last-child{font-size:1.125rem;color:#bcc5c0;margin:0;line-height:1.7}
.info-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.info-panel,.info-note{background:#101617;border:1px solid #303738;border-radius:10px;padding:28px;min-width:0}
.info-page h2{font-size:1.25rem;line-height:1.4;font-weight:500;margin:0 0 16px}
.info-page .info-panel p,.info-page .info-note p{font-size:1rem;line-height:1.8;color:#bec6c2;margin:0 0 16px}
.info-panel p:last-child,.info-note p:last-child{margin-bottom:0}
.purchase-steps{grid-column:1/-1;list-style:none;padding:0;margin:0;display:grid;gap:14px}
.purchase-steps li{display:flex;gap:24px;padding:24px 28px;border:1px solid #303738;border-radius:8px;background:#101617}
.step-number{font-family:var(--serif);font-size:2rem;color:var(--gold);line-height:1.2}
.info-page .purchase-steps h2{margin:0 0 7px}
.info-page .purchase-steps p{margin:0;font-size:1rem;line-height:1.7;color:#bec6c2;max-width:75ch}
.info-note{grid-column:1/-1;background:transparent}
.info-cta{margin-top:28px}
.info-page>h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2;letter-spacing:-.025em;padding-top:48px}
.info-page>p{max-width:65ch;color:#bcc5c0}
.catalog-empty{padding:28px;border:1px solid #303738;background:#101617;border-radius:8px;font-size:1rem;line-height:1.7}
@media(max-width:1000px){.masthead{gap:20px;flex-wrap:wrap}.header-partner{display:none}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy{max-width:500px}.footer-main{gap:24px}}
@media(max-width:700px){.shell{width:calc(100% - 32px)}.topline{display:none}.masthead{padding-block:18px;min-height:0;gap:16px}.brand-name{font-size:1.55rem}.search{flex-basis:100%;order:3;max-width:none}.main-nav{gap:16px}.hero,.hero-inner{min-height:0}.hero-inner{padding-block:36px}.hero h1{font-size:clamp(2.8rem,11vw,4rem);letter-spacing:-.04em}.hero-support{font-size:.9375rem}.hero-description{font-size:1.25rem}.hero-details{gap:16px;flex-wrap:wrap;margin-top:24px}.hero-details>span{font-size:.75rem}.hero-caption{display:none}.explore{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.explore-tile{min-height:105px;padding:12px 10px}.explore-tile small{display:none}.explore-tile strong{font-size:1rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.product-card .product-button{padding-inline:10px;font-size:.75rem}.section-heading h2{font-size:1.75rem}.section-heading .eyebrow{font-size:.6875rem}.info-content-grid{grid-template-columns:1fr}.info-panel,.info-note{padding:22px}.purchase-steps li{padding:22px;gap:16px}.info-heading{padding-top:14px}.footer-main{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-brand,.footer-closing{grid-column:1/-1}.footer-bottom{font-size:.75rem;line-height:1.7}.how-it-works{grid-template-columns:1fr;padding-block:30px}.partner{margin-block:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.category-intro{padding-block:36px 12px}.category-intro h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;letter-spacing:-.03em;margin-bottom:16px}.category-intro>p:last-child{font-size:1rem;color:var(--muted);max-width:70ch;line-height:1.7}
