.catalog-section{position:relative;z-index:10;padding:100px 24px;background:#F8F6F0;border-top:1px solid #C5A88040;color:#0E1012}
.catalog-container{max-width:1488px;margin:auto}
.catalog-heading{max-width:850px;margin-bottom:40px}
.catalog-eyebrow{display:inline-block;padding:7px 14px;border:1px solid #C5A88066;background:#C5A88015;color:#94764c;font:700 11px 'Outfit',sans-serif;letter-spacing:.25em}
.catalog-heading h2{font-size:clamp(28px,3.3vw,48px);font-weight:900;line-height:1.15;letter-spacing:-.025em;margin:18px 0}
.catalog-heading h2 span{color:#a88a60}
.catalog-heading p{font-size:14px;line-height:1.8;color:#585858}
.catalog-viewer{background:radial-gradient(ellipse at 50% 35%,#2d2b28 0%,#121416 75%);border:1px solid #C5A88055;color:#F8F6F0;box-shadow:0 25px 60px #0e10121a;position:relative}
.catalog-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 28px;border-bottom:1px solid #C5A88026;font-size:10px;font-weight:600;letter-spacing:.18em;color:#DFC9A9}
.catalog-topbar-divider{margin:0 10px;opacity:.4}
.catalog-expand{display:flex;align-items:center;gap:12px;min-height:40px;padding:0 12px;border:1px solid #C5A88066;background:transparent;color:#DFC9A9;font-size:10px;letter-spacing:.12em;cursor:pointer}
.catalog-expand span{font-size:24px}
.catalog-stage{padding:34px 28px 20px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:240px}
.catalog-book{margin:auto;filter:drop-shadow(0 14px 18px #0007);width:100%;min-width:0!important;transition:transform .5s ease}
@media(prefers-reduced-motion:reduce){.catalog-book{transition:none}}
.catalog-page{background:#fff;overflow:hidden}
.catalog-page img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.catalog-book:not(.stf__parent) .catalog-page{display:none}
.catalog-book:not(.stf__parent) .catalog-page:first-child{display:block;max-width:650px;margin:auto}
.catalog-toolbar{display:flex;align-items:center;justify-content:center;gap:24px;padding:12px 16px 0}
.catalog-toolbar button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #C5A88070;color:#DFC9A9;background:#ffffff03;font-size:24px;cursor:pointer;transition:background .2s}
.catalog-toolbar button:hover:not(:disabled),.catalog-expand:hover{background:#C5A88026}
.catalog-toolbar button:disabled{opacity:.25;cursor:default}
.catalog-counter{min-width:100px;text-align:center;color:#DFC9A9;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:.15em}
.catalog-help{text-align:center;font-size:11px;color:#ffffff80;margin:16px 16px 24px}
.catalog-viewer :focus-visible,.catalog-viewer:focus-visible{outline:2px solid #DFC9A9;outline-offset:4px}
.catalog-viewer.is-expanded{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;border:0;overflow:auto}
.catalog-viewer.is-expanded .catalog-stage{flex:1;min-height:0}
body.catalog-open{overflow:hidden}
@media(min-width:1024px){.catalog-section{padding-left:56px;padding-right:56px}}
@media(max-width:600px){.catalog-section{padding:64px 16px}.catalog-topbar{padding:12px;font-size:8px;letter-spacing:.08em}.catalog-topbar-divider{margin:0 3px}.catalog-stage{padding:24px 12px 12px}.catalog-heading{margin-bottom:28px}.catalog-expand{padding:0 8px;gap:5px}.catalog-help{font-size:10px}.catalog-toolbar{gap:14px}}
