.catalogue-directory,.catalogue-profile,.catalogue-read-more{padding-block:clamp(28px,5vw,64px)}
.catalogue-heading{margin-block-end:32px;max-width:780px}
.catalogue-heading h1{font-size:clamp(2.1rem,5vw,4rem);line-height:1.08;margin:0 0 16px;text-wrap:balance}
.catalogue-heading p{color:#aaa;line-height:1.65;margin:0 0 12px;white-space:normal}
.catalogue-directory__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalogue-card{height:100%;display:flex;flex-direction:column;position:relative;background:#141414;border:1px solid #282828;border-radius:20px;overflow:hidden;text-decoration:none;color:#fff;transition:border-color .2s,background .2s}
.catalogue-card:hover{background:#1b1b1b;border-color:#777}
.catalogue-card:focus-visible,.catalogue-profile a:focus-visible,.catalogue-read-more summary:focus-visible{outline:2px solid #fff;outline-offset:5px}
.catalogue-card__image{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.catalogue-card__copy{display:flex;flex-direction:column;gap:7px;padding:26px 52px 26px 26px}
.catalogue-card--text{min-height:180px;justify-content:center}
.catalogue-card__name{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:650;line-height:1.25;overflow-wrap:anywhere}
.catalogue-card__alternate,.catalogue-card__status{color:#aaa;font-size:.85rem;line-height:1.5}
.catalogue-card__status{margin-top:10px}
.catalogue-card__arrow{width:20px;height:20px;position:absolute;right:24px;bottom:28px;stroke-width:1.5}
.catalogue-profile__breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:24px;color:#888;font-size:.875rem}
.catalogue-profile__breadcrumb a,.catalogue-profile__shop{text-decoration:underline;text-underline-offset:4px;color:#bbb}
.catalogue-profile__breadcrumb a:hover,.catalogue-profile__shop:hover{color:#fff}
.catalogue-profile__banner{width:100%;height:auto;max-height:460px;aspect-ratio:16/5;object-fit:cover;border-radius:20px;margin-bottom:32px}
.catalogue-profile .catalogue-heading{margin-bottom:0}
.catalogue-profile__alternate{font-size:1.1rem}
.catalogue-read-more{padding-top:24px}
.catalogue-read-more details{border-top:1px solid #333;border-bottom:1px solid #333}
.catalogue-read-more summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:1.15rem;font-weight:600}
.catalogue-read-more summary::-webkit-details-marker{display:none}
.catalogue-read-more summary svg{width:20px;height:20px;flex-shrink:0;transition:transform .2s}
.catalogue-read-more details[open] summary svg{transform:rotate(90deg)}
.catalogue-read-more__body{max-width:780px;line-height:1.75;color:#bbb;padding-bottom:24px}
.catalogue-read-more__body a{text-decoration:underline;text-underline-offset:3px}
.catalogue-pagination{display:flex;justify-content:center;gap:16px;margin-top:32px}
.catalogue-directory--anime{padding-top:24px}
.catalogue-directory--anime .catalogue-card{width:100%;min-width:0;height:auto;min-height:var(--catalogue-card-height,420px);aspect-ratio:var(--catalogue-image-ratio,2);justify-content:flex-end;isolation:isolate}
.catalogue-directory--anime .catalogue-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 45%,rgb(0 0 0 / .8));pointer-events:none}
.catalogue-directory--anime .catalogue-card__image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.catalogue-directory--anime .catalogue-card__copy{padding:28px 58px 28px 26px}
.catalogue-directory--anime .catalogue-card__name{font-size:var(--catalogue-card-title-size,24px);color:#fff;text-shadow:0 1px 10px #000}
.catalogue-directory--anime .catalogue-card__arrow{bottom:30px}
.catalogue-profile--anime{padding:0}
.catalogue-profile__hero{position:relative;isolation:isolate;width:100%;height:calc(var(--catalogue-banner-viewport-height,95dvh) - var(--header-height,60px));overflow:hidden;background:#000}
.catalogue-profile__hero::after{content:"";position:absolute;inset:0;z-index:-1;background:#000;opacity:var(--catalogue-overlay-opacity,0);pointer-events:none}
.catalogue-profile__background{position:absolute;top:0;left:50%;z-index:-2;width:auto;max-width:none;height:100%;object-fit:contain;transform:translateX(-50%)}
.catalogue-profile__title{position:absolute;width:var(--catalogue-title-width,45%);left:var(--catalogue-title-x,50%);top:var(--catalogue-title-y,50%);transform:translate(calc(-1 * var(--catalogue-title-x,50%)),calc(-1 * var(--catalogue-title-y,50%)));pointer-events:none}
.catalogue-profile__title-image{display:block;width:100%;height:auto;max-width:100%}
.catalogue-profile__title-text{display:block;color:#fff;font-size:clamp(1.6rem,3.6vw,3.5rem);font-weight:700;line-height:1.1;text-align:center;text-wrap:balance;text-shadow:0 2px 12px #000,0 1px 3px #000}
.catalogue-profile__content{padding-block:24px}
.catalogue-profile__content .catalogue-heading{max-width:780px;margin:0}
.catalogue-profile__content .catalogue-heading p:last-child{margin:0}
@media(prefers-reduced-motion:no-preference){
  .catalogue-directory--anime .catalogue-card__image,.catalogue-profile__background{view-transition-name:var(--catalogue-transition)}
}
@media(max-width:599px){
  .catalogue-directory--anime .catalogue-card{min-height:var(--catalogue-card-height-mobile,340px)}
  .catalogue-profile__hero{height:calc(var(--catalogue-banner-viewport-height-mobile,95dvh) - var(--header-height,60px))}
  .catalogue-profile__title{width:var(--catalogue-title-width-mobile,78%);left:var(--catalogue-title-x-mobile,50%);top:var(--catalogue-title-y-mobile,50%);transform:translate(calc(-1 * var(--catalogue-title-x-mobile,50%)),calc(-1 * var(--catalogue-title-y-mobile,50%)))}
  .catalogue-profile__content{padding-block:20px}
}
@media(max-width:989px){.catalogue-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.catalogue-directory__grid{grid-template-columns:minmax(0,1fr);gap:12px}.catalogue-card--text{min-height:145px}.catalogue-card__copy{padding:24px 50px 24px 24px}.catalogue-profile__banner{aspect-ratio:16/9;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.catalogue-card,.catalogue-read-more summary svg{transition:none}}

.catalogue-directory--styles .catalogue-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.catalogue-card--style .catalogue-card__copy{flex:1;padding:28px 64px 28px 28px}
.catalogue-card__description{max-width:40ch;color:#bbb;font-size:1rem;line-height:1.6}
.style-banner-art{position:relative;display:block;height:300px;overflow:hidden;background:radial-gradient(ellipse at 70% 20%,#3c3c3c,transparent 65%),#171717}
.style-banner-art::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#14141455,transparent 35%);pointer-events:none}
.style-banner-art--style-full-art{background:radial-gradient(ellipse at 70% 20%,#35414b,transparent 65%),#151a20}
.style-banner-art img{position:absolute;width:30%;height:83%;object-fit:contain;filter:drop-shadow(0 16px 16px #0008)}
.style-banner-art img:nth-child(1){left:15%;top:7%;transform:rotate(-18deg)}
.style-banner-art img:nth-child(2){left:55%;top:17%;transform:rotate(16deg)}
.style-banner-art--style-full-art img{width:27%;height:76%}
.style-banner-art--style-full-art img:nth-child(1){left:8%;top:10%;transform:rotate(-22deg)}
.style-banner-art--style-full-art img:nth-child(2){left:38%;top:5%;transform:rotate(7deg)}
.style-banner-art--style-full-art img:nth-child(3){left:66%;top:21%;transform:rotate(23deg)}
.style-collection-banner{position:relative;isolation:isolate;display:flex;align-items:center;min-height:360px;overflow:hidden;border:1px solid #282828;border-radius:20px;background:#171717}
.style-collection-banner .style-banner-art{position:absolute;inset:0 0 0 40%;height:100%;z-index:-1}
.style-collection-banner .style-banner-art::after{background:linear-gradient(90deg,#171717,transparent 35%)}
.style-collection-banner .catalogue-heading{width:45%;padding:48px;max-width:none}
.style-collection-banner .catalogue-heading h1{font-size:clamp(2.2rem,4vw,4rem)}
.style-collection-banner .catalogue-heading p{color:#bbb}
@media(max-width:749px){
  .catalogue-directory--styles .catalogue-directory__grid{grid-template-columns:minmax(0,1fr)}
  .catalogue-directory--styles .style-banner-art{height:260px}
  .style-collection-banner{display:flex;flex-direction:column;align-items:stretch}
  .style-collection-banner .style-banner-art{position:relative;inset:auto;height:260px;width:100%}
  .style-collection-banner .style-banner-art::after{background:linear-gradient(0deg,#171717,transparent 35%)}
  .style-collection-banner .catalogue-heading{width:100%;padding:12px 24px 28px}
}
