/* Reference catalog geometry, shared by every category and drawing collection. */
.ct-category-grid,.ct-drawing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.ct-category-card{display:flex;flex-direction:column;position:relative;min-width:0;border:0;border-radius:16px;overflow:hidden;background:var(--ct-surface);box-shadow:0 0 0 2px #172c50,4px 4px 0 2px #4285e4;color:var(--ct-primary);text-decoration:none}
.ct-category-card:nth-child(4n+2){box-shadow:0 0 0 2px #172c50,4px 4px 0 2px #d18cb8}.ct-category-card:nth-child(4n+3){box-shadow:0 0 0 2px #172c50,4px 4px 0 2px #8e9fde}.ct-category-card:nth-child(4n){box-shadow:0 0 0 2px #172c50,4px 4px 0 2px #f3bd4f}
.ct-category-art,.ct-category-card:nth-child(n) .ct-category-art,.ct-drawing-art{aspect-ratio:1;padding:12px;position:relative;background:#fff;min-width:0}
.ct-category-art img,.ct-drawing-art img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
.ct-category-body,.ct-drawing-body{padding:8px 16px 16px;flex:1;display:flex;align-items:flex-start}
.ct-category-card h3,.ct-drawing-card h3{display:block;font:700 16px/1.4 var(--ct-font-body);letter-spacing:0;margin:0;padding:0;border:0;background:none;color:var(--ct-primary);overflow-wrap:anywhere;text-wrap:initial}
.ct-count{position:absolute;top:8px;right:8px;bottom:auto;display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:1.5;padding:2px 9px;border-radius:99px;background:#ffffffeb;color:var(--ct-primary);box-shadow:0 1px 5px #172c500d}.ct-count .ct-icon{width:12px;height:12px}
.ct-drawing-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--ct-border);border-radius:16px;overflow:hidden;background:var(--ct-surface);box-shadow:0 2px 8px #0000000f;min-width:0}
.ct-drawing-preview{display:block;width:100%;height:100%}.ct-drawing-link{display:inline;color:var(--ct-primary);text-decoration:none;height:auto}.ct-drawing-link::after{content:'';position:absolute;inset:0}.ct-drawing-link:focus-visible::after{outline:3px solid var(--ct-secondary);outline-offset:-4px;border-radius:16px}
.ct-level{top:8px;left:8px;max-width:calc(100% - 49px);padding:3px 6px;gap:3px;font-size:10px;pointer-events:none}.ct-level-icon{width:25px;height:20px}.ct-level{flex-wrap:wrap;row-gap:1px}
.ct-card-favorite{position:absolute;top:8px;right:8px;z-index:2;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:#edf3ff;color:#38568f;text-decoration:none;cursor:pointer}.ct-card-favorite>.ct-icon{width:19px;height:19px}.ct-card-favorite[aria-pressed=true]>.ct-icon{fill:#4285e4;stroke:#2457c5}.ct-card-favorite:disabled{opacity:.6;cursor:wait}.ct-card-favorite:focus-visible{outline:3px solid var(--ct-secondary);outline-offset:2px}
.ct-directory{background:var(--ct-surface)}.ct-directory .ct-container{width:calc(100% - 24px);max-width:none}.ct-directory-intro{text-align:center;padding-block:40px 48px}.ct-directory-intro h1{font-size:clamp(32px,4vw,56px);line-height:1.2;margin:0 0 36px;color:var(--ct-primary);letter-spacing:-.035em}.ct-directory-intro p{color:var(--ct-muted);font-size:18px;line-height:1.5;margin:0}
.ct-directory-categories{background:#edf4ff;padding-block:28px 48px}.ct-directory-categories h2{margin:0 0 28px;font-size:24px;text-align:center;line-height:1.3;color:var(--ct-primary);letter-spacing:-.02em}
.ct-directory-recent{padding-block:48px}.ct-directory-recent>h2{font-size:32px;line-height:1.3;margin:0 0 32px;text-align:center;color:var(--ct-primary)}.ct-directory-editorial{padding-block:8px 64px}.ct-directory-editorial h2{font-size:24px;letter-spacing:-.02em;margin:0 0 16px}.ct-directory-editorial h2:not(:first-child){margin-top:32px}.ct-directory-editorial p{font-size:16px;line-height:1.7;margin:0;color:var(--ct-muted)}
html[data-theme=dark] .ct-directory-categories{background:#203452}html[data-theme=dark] .ct-category-card{box-shadow:0 0 0 2px #b4c8e8,4px 4px 0 2px #4285e4}html[data-theme=dark] .ct-category-card:nth-child(4n+2){box-shadow:0 0 0 2px #b4c8e8,4px 4px 0 2px #d18cb8}html[data-theme=dark] .ct-category-card:nth-child(4n+3){box-shadow:0 0 0 2px #b4c8e8,4px 4px 0 2px #8e9fde}html[data-theme=dark] .ct-category-card:nth-child(4n){box-shadow:0 0 0 2px #b4c8e8,4px 4px 0 2px #f3bd4f}html[data-theme=dark] .ct-count{color:#2457c5}html[data-theme=dark] .ct-card-favorite{background:#e6efff;color:#38568f}
@media(min-width:576px){.ct-category-grid,.ct-drawing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ct-directory .ct-container{max-width:516px}}
@media(min-width:768px){.ct-category-grid,.ct-drawing-grid{gap:24px}.ct-drawing-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ct-directory .ct-container{max-width:696px}.ct-directory-intro{padding-top:48px}.ct-directory-editorial{max-width:616px!important}}
@media(min-width:992px){.ct-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ct-directory .ct-container{max-width:936px}.ct-directory-editorial{max-width:776px!important}}
@media(min-width:1200px){.ct-category-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ct-directory .ct-container{max-width:1116px}}
@media(min-width:1400px){.ct-drawing-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ct-directory .ct-container{max-width:1296px}.ct-directory-editorial{max-width:856px!important}}
@media(max-width:575px){.ct-directory-intro{padding-block:40px 48px}.ct-directory-intro h1{margin-bottom:28px;font-size:32px;max-width:350px;margin-inline:auto}.ct-directory-intro p{padding-inline:12px}.ct-directory-categories{padding-top:12px}.ct-directory-categories h2{font-size:23px;margin-bottom:26px}.ct-directory-recent>h2{font-size:27px}.ct-directory-recent{padding-block:40px}.ct-category-card h3,.ct-drawing-card h3{font-size:15px}.ct-category-body,.ct-drawing-body{padding:8px 14px 16px}.ct-level-icon{width:21px;height:18px}.ct-level{font-size:9px}.ct-level{top:6px;left:5px}.ct-card-favorite{top:6px;right:6px}}
@media(prefers-reduced-motion:no-preference){.ct-category-card:hover{transform:translateY(-3px)}.ct-drawing-card:hover{transform:translateY(-3px);box-shadow:0 5px 16px #172c5014}.ct-card-favorite:hover{background:#e3efff}}
/* Lock the preview to a square independently of portrait source dimensions. */
.ct-category-art,.ct-drawing-art{flex:none}.ct-category-art>img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.ct-drawing-preview{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px)}.ct-drawing-preview img,.ct-drawing-preview .ct-art-placeholder{width:100%;height:100%;object-fit:contain}
.ct-header-inner{min-height:76px;padding-block:12px}.ct-directory-intro{padding-top:16px}
@media(max-width:650px){.ct-header-inner{min-height:64px;padding-block:10px}.ct-directory-intro{padding-top:32px}}
.ct-category-card{--ct-card-accent:#4285e4;--ct-card-outline:#172c50}.ct-category-card:nth-child(4n+2){--ct-card-accent:#d18cb8}.ct-category-card:nth-child(4n+3){--ct-card-accent:#8e9fde}.ct-category-card:nth-child(4n){--ct-card-accent:#f3bd4f}.ct-category-card:hover{box-shadow:0 0 0 2px var(--ct-card-outline),4px 4px 0 2px var(--ct-card-accent)}html[data-theme=dark] .ct-category-card{--ct-card-outline:#b4c8e8}
@media(max-width:575px){.ct-directory-intro h1{max-width:320px}}
