:root{color-scheme:light;--ink:#4a4350;--violet:#5b3a6e;--plum:#c995a2;--submenu:#f4e9ee;--line:#d8b36a;--paper:#faf9f8;--soft:#faf7f2;--night:#343555}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #9d6bab;outline-offset:4px}.nav{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:clamp(12px,2.5vw,38px);flex-wrap:wrap;padding:13px 20px;background:#faf9f8f5;border-block:1px solid var(--line);backdrop-filter:blur(12px)}.nav a{color:var(--violet);text-decoration:none;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.nav>a,.nav-item summary{font-size:.78rem;line-height:1.65}.nav>a:hover,.nav>a:focus-visible{color:var(--line)}.nav-item{position:relative}.nav-item summary{list-style:none;cursor:pointer;color:var(--violet);font-weight:400;letter-spacing:.04em;text-transform:uppercase}.nav-item summary::-webkit-details-marker{display:none}.nav-item .submenu{position:absolute;top:100%;left:50%;display:none;gap:2px;min-width:205px;transform:translateX(-50%);padding-top:14px;box-shadow:0 12px 20px #30294319}.nav-item:has(summary:focus-visible) .submenu{display:grid}.nav-item summary:focus-visible,.nav-item[open] summary{color:var(--line)}.submenu a{display:block;padding:12px 15px;color:var(--ink);background:var(--submenu);text-align:center;font-size:.78rem;font-weight:400;text-transform:none}.submenu a:hover{color:var(--plum);background:#efdee8}.nav-item[open] .submenu{display:grid;animation:submenu-in .18s ease-out both}@keyframes submenu-in{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
/* catalog landing */
.catalog-intro{background:var(--soft);border-bottom:1px solid var(--line)}.catalog-intro-inner{width:min(1180px,calc(100% - 40px));margin:auto;padding:58px 0 52px;text-align:center}.kicker{margin:0 0 10px;color:var(--plum);font-size:.76rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.catalog-title{margin:0;color:var(--violet);font:400 clamp(2.5rem,5vw,4.5rem)/1.05 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}.catalog-lede{max-width:690px;margin:17px auto 0;color:#655c68}.catalog-main{width:min(1280px,calc(100% - 40px));margin:auto;padding:42px 0 30px}.filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) minmax(190px,1.25fr);gap:18px;align-items:end;padding:0 0 28px;border-bottom:1px solid var(--line)}.filter label{display:block;margin-bottom:7px;font-size:.76rem;color:#655c68}.filter select{width:100%;padding:11px 36px 11px 14px;border:1px solid #ddd3cf;border-radius:22px;background:var(--paper);color:var(--ink);font:inherit;font-size:.86rem}.result-count{margin:24px 0 18px;color:#8a8189;font-size:.82rem}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 22px}.card{display:block;text-decoration:none}.card-media{overflow:hidden;border-radius:9px;background:#eee7e3}.card-media{aspect-ratio:1/1;display:grid;place-items:center}.card img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:contain;transition:transform .28s ease}.card:hover img{transform:scale(1.018)}.card-body{padding:14px 2px 0}.eyebrow{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:#8a758c}.card h2{margin:5px 0 2px;color:var(--violet);font:400 1.28rem/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}.card-sub{margin:0 0 8px;color:#777079;font-size:.82rem}.status{display:inline-block;margin:2px 0 8px;padding:3px 10px;border-radius:20px;background:#eef0e8;color:#727764;font-size:.7rem}.price{color:var(--violet);font:400 1.28rem/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;padding:52px 0 20px}.page-dot,.page-arrow{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;text-decoration:none}.page-dot{background:#f7f0f3}.page-dot.active{background:var(--submenu);color:var(--violet)}.page-arrow{border:1px solid var(--line);color:var(--line);font:25px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}
/* product */
.product-wrap{width:min(1220px,calc(100% - 40px));margin:auto;padding:38px 0 22px}.crumb{margin-bottom:24px;color:#776d7b;font-size:.78rem}.crumb a{text-decoration:none;color:var(--violet)}.product-top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:52px;align-items:start}.product-gallery{min-width:0}.hero-frame{position:relative;overflow:hidden;background:#eee7e3}.hero-img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:9px}.thumbs button{padding:0;border:1px solid transparent;background:none;cursor:pointer}.thumbs button.active,.thumbs button:hover{border-color:var(--line)}.thumbs img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.product-info{padding-top:4px}.product-info .eyebrow{margin-bottom:16px}.product-summary{margin:0 0 18px;font:400 clamp(1.12rem,1.8vw,1.38rem)/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;color:var(--ink)}.product-copy{margin:0 0 20px}.characters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 24px;padding:17px 0;border-block:1px solid var(--line)}.characters p{margin:0;font-size:.83rem}.characters strong{display:block;color:var(--violet)}.product-info .price{margin:8px 0 15px;font-size:1.65rem}.buy{display:inline-block;padding:13px 26px;border:1px solid var(--night);background:var(--night);color:#fff;text-decoration:none;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;transition:background .25s,border-color .25s}.buy:hover,.buy:focus-visible{border-color:var(--plum);background:var(--plum)}.info-section{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.section-title{margin:0 0 17px;color:var(--violet);font-size:.76rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase}.meta{display:grid;gap:7px}.meta p{margin:0}.features p{margin:0 0 12px}.features p:last-child{margin-bottom:0}
/* moments */
.moments{background:var(--soft);border-block:1px solid var(--line)}.moments-inner{width:min(1280px,calc(100% - 40px));margin:auto;padding:22px 0 64px}.moments .section-title{text-align:center;margin-bottom:28px}.moments-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:18px;align-items:stretch}.art-carousel{position:relative;min-width:0;background:#eee7e3;overflow:hidden}.art-viewport{width:100%;height:100%;overflow:hidden}.art-track{display:flex;align-items:stretch;height:100%;gap:14px;will-change:transform}.art-slide{flex:0 0 84%;height:100%;opacity:.68;transition:opacity .48s ease}.art-slide.active{opacity:1}.art-slide img{display:block;width:100%;height:100%;min-height:520px;max-height:680px;object-fit:cover}.art-arrow{position:absolute;top:50%;display:grid;place-items:center;width:44px;height:44px;transform:translateY(-50%);border:1px solid #ffffffb8;border-radius:50%;background:#faf9f8d9;color:var(--violet);font:26px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;cursor:pointer}.art-prev{left:16px}.art-next{right:16px}.art-dots{position:absolute;left:50%;bottom:14px;display:flex;gap:7px;transform:translateX(-50%)}.art-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#ffffffa8;cursor:pointer}.art-dot.active{background:#fff;box-shadow:0 0 0 1px #5b3a6e55}.video{display:block;width:100%;height:100%;min-height:520px;max-height:680px;object-fit:cover;background:#111}
footer{min-height:330px;margin-top:0;padding:48px max(24px,calc((100vw - 1380px)/2 + 24px)) 25px;color:var(--submenu);background:var(--night)}.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;align-items:start}.footer-wordmark{display:block;width:min(100%,360px);height:auto;transform:translateX(-8%)}.footer-brand p{margin:8px 0 0}.footer-butterfly{display:block;width:min(100%,340px);height:auto;justify-self:end;transform:translateX(8.3%)}.footer-links{justify-self:center;padding-top:10px;text-align:center}.footer-links strong{display:block;margin-bottom:16px;color:var(--plum);font-size:.8rem;letter-spacing:.17em;text-transform:uppercase}footer a{display:block;width:max-content;margin:8px auto;color:var(--submenu);text-decoration:none}footer a:hover,footer a:focus-visible{color:var(--plum)}footer small{display:block;margin-top:55px;color:var(--plum);text-align:right}
@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,1fr)}.product-top{grid-template-columns:1fr;gap:32px}.product-info{max-width:760px}.moments-grid{grid-template-columns:1.55fr .75fr}.art-slide img,.video{min-height:430px}}
@media(max-width:760px){.nav{position:static;display:block;padding:4px 18px}.nav>a,.nav-item summary{display:block;padding:9px 0;text-align:center;font-size:.78rem}.nav-item .submenu{position:static;left:auto;min-width:0;transform:none;padding-top:0;box-shadow:none}.submenu a{padding:10px;font-size:.7rem}.catalog-intro-inner,.catalog-main,.product-wrap,.moments-inner{width:min(100% - 28px,1180px)}.catalog-intro-inner{padding:42px 0 38px}.filters{grid-template-columns:1fr}.catalog-grid{grid-template-columns:1fr 1fr;gap:30px 14px}.card h2{font-size:1.08rem}.product-top{grid-template-columns:1fr}.characters{grid-template-columns:1fr}.moments-grid{grid-template-columns:1fr}.art-slide{flex-basis:86%}.art-slide img{min-height:0;aspect-ratio:4/3}.video{width:min(360px,100%);min-height:0;aspect-ratio:9/16;justify-self:center}.footer-grid{grid-template-columns:1fr;gap:12px}.footer-butterfly{width:min(80%,300px);justify-self:end}.footer-links{padding:20px 0}footer small{margin-top:25px}.thumbs{grid-template-columns:repeat(5,1fr)}}
@media(max-width:480px){.catalog-grid{grid-template-columns:1fr}.thumbs{gap:5px}.product-wrap{padding-top:26px}.crumb{font-size:.72rem}}
@media(prefers-reduced-motion:reduce){.nav-item[open] .submenu{animation:none}.card img,.buy{transition:none}}

/* Unified typography, compact catalog title and centered controls — 2026-10-02 */
body{font-size:17px}
.nav>a,.nav-item summary,.submenu a{font-size:14px}
.catalog-title{font-size:30px;line-height:1.2}
.catalog-lede{font-size:17px}
.filter label{font-size:14px}
.filter select{font-size:16px}
.result-count{font-size:14px}
.page-arrow,.art-arrow{font-size:0;line-height:1;padding:0}
.page-arrow{position:relative}
.page-arrow::before,.art-arrow::before{content:'';position:absolute;left:50%;top:50%;display:block;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform-origin:50% 50%}
.page-arrow:first-child::before,.art-prev::before{transform:translate(-50%,-50%) rotate(-135deg)}
.page-arrow:last-child::before,.art-next::before{transform:translate(-50%,-50%) rotate(45deg)}
/* The artistic-gallery divider follows the content width instead of the full viewport. */
.moments{border-block:0;background:var(--soft)}
.moments-inner{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(max-width:760px){.nav>a,.nav-item summary,.submenu a{font-size:14px}}

/* Final product-card polish: let the artistic carousel inherit the section background. */
.art-carousel{background:transparent}


/* Image copy deterrence: keeps normal context menus/text selection elsewhere. */
img {
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
  -webkit-user-select: none;
}

.catalog-grid > .card[hidden]{display:none!important}

/* Artistic photographs: stable viewport, full frames and natural widths. */
.art-carousel{--art-height:520px;height:var(--art-height)}
.art-viewport,.art-track{height:100%}
.art-slide{flex:0 0 auto;width:calc(var(--art-height) * var(--photo-ratio));height:100%}
.art-slide img{width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain}
@media(max-width:980px){.art-carousel{--art-height:430px}}
@media(max-width:760px){.art-carousel{--art-height:360px}}

/* Matched artistic gallery/video heights on both Harry Potter pages. */
.moments-grid{align-items:stretch}
.art-carousel,.video{height:520px;min-height:0;max-height:none}
.art-carousel{--art-height:520px;height:var(--art-height)}
.video{object-fit:contain}
@media(max-width:980px){.art-carousel,.video{height:430px}.art-carousel{--art-height:430px}}
@media(max-width:760px){.art-carousel,.video{height:360px}.art-carousel{--art-height:360px}.video{aspect-ratio:auto}}

/* Catalog collection tiles: square frames, full uncropped artwork. */
.catalog-grid .card-media{aspect-ratio:1 / 1;overflow:hidden;display:grid;place-items:center}
.catalog-grid .card-media img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center}
