.catalog-intro{background-image:radial-gradient(#183e3517 .7px,transparent .7px);background-size:24px 24px}
.catalog-intro h1{letter-spacing:-.025em}.catalog-group{border-radius:48px 48px 0 0;position:relative;margin-top:-24px;padding-top:45px;padding-bottom:100px}
.catalog-group-heading{display:grid;grid-template-columns:60px minmax(0,1fr) minmax(250px,360px);gap:25px;align-items:center;margin-bottom:38px;min-height:350px}
.catalog-group-heading h2{max-width:670px}.catalog-group-heading p{max-width:530px}.catalog-index{align-self:start;margin-top:55px}
.catalog-art{width:100%;max-width:380px;justify-self:end}.catalog-art svg{width:100%;height:auto;display:block;overflow:visible}
.art-highlight{fill:none;stroke:#fffdf4;stroke-width:1.4;stroke-linecap:round;opacity:.45}.art-contour{fill:none;stroke:#102f28;stroke-width:1.4;stroke-linecap:round;opacity:.19}.art-page-line{fill:none;stroke:#47644f;stroke-width:1.25;stroke-linecap:round;opacity:.38}.art-note{fill:#183e35;font-family:'EB Garamond',Georgia,serif;font-size:18px;font-style:italic;letter-spacing:.025em;opacity:.76}
.art-drift{transform-origin:200px 200px;animation:service-drift 8.5s ease-in-out infinite alternate;animation-play-state:paused}.art-visible .art-drift{animation-play-state:running}
.group-1 .art-drift{animation-delay:-2s}.group-2 .art-drift{animation-delay:-4s}.group-3 .art-drift{animation-delay:-1s}.group-4 .art-drift{animation-delay:-3s}
.catalog-card{border-radius:28px 28px 56px 28px;transition:transform .3s ease,box-shadow .3s ease}.catalog-card:nth-child(even){border-radius:28px 56px 28px 28px}.catalog-card:hover,.catalog-card:focus-within{transform:translateY(-5px);box-shadow:0 14px 28px #183e350c}.catalog-card .text-link span{display:inline-block;transition:transform .3s}.catalog-card:hover .text-link span{transform:translate(3px,-3px)}
@keyframes service-drift{from{transform:translateY(2px) rotate(-.7deg)}to{transform:translateY(-4px) rotate(.7deg)}}
@media(max-width:900px){.catalog-group-heading{grid-template-columns:45px minmax(0,1fr) 250px;gap:16px}.catalog-index{font-size:2.7rem}}
@media(max-width:700px){.catalog-group{border-radius:30px 30px 0 0;padding-top:42px;padding-bottom:75px}.catalog-group-heading{grid-template-columns:35px minmax(0,1fr);min-height:0;gap:15px}.catalog-index{margin-top:3px;font-size:2.2rem}.catalog-art{grid-column:1/-1;max-width:290px;justify-self:center}.catalog-group-heading h2{font-size:2.1rem}.catalog-group-heading p{font-size:1.25rem}.catalog-card{border-radius:24px 24px 40px 24px}}
@media(prefers-reduced-motion:reduce){.catalog-art *{animation:none!important}.catalog-card,.catalog-card .text-link span{transition:none;transform:none!important}}
html[data-motion=off] .catalog-art *{animation:none!important}html[data-motion=off] .catalog-card{transition:none;transform:none}

/* Category scenes show the whole sculpture, without the old SVG magnification. */
.catalog-art__scene{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;object-position:center}
.catalog-group.category-flow-ready .catalog-group-heading{grid-template-columns:42px minmax(0,1fr) clamp(160px,24vh,240px)}
.catalog-group.category-flow-ready .catalog-art--scene{height:clamp(160px,24vh,240px)}
.catalog-group.category-flow-ready .catalog-art__scene{height:100%;aspect-ratio:auto}
@media(max-width:849px){
 .catalog-group.category-flow-ready .catalog-group-heading{grid-template-columns:minmax(0,1fr) 150px}
 .catalog-group.category-flow-ready .catalog-art--scene{width:150px;height:150px}
}
@media(max-width:480px){
 .catalog-group.category-flow-ready .catalog-group-heading{grid-template-columns:minmax(0,1fr) 90px}
 .catalog-group.category-flow-ready .catalog-art--scene{width:90px;height:100px}
}
@media(min-width:360px) and (max-width:480px){
 .catalog-group.category-flow-ready .catalog-group-heading{grid-template-columns:minmax(0,1fr) 110px}
 .catalog-group.category-flow-ready .catalog-art--scene{width:110px;height:120px}
}
@media(max-width:350px){
 .catalog-group:not(.category-flow-ready) .catalog-group-heading h2{font-size:1.5rem;overflow-wrap:anywhere}
}
