:root{--catalog-ink:#06182c;--catalog-paper:#f6efe1;--catalog-line:#cfc8b8;--catalog-red:#ef4035;--catalog-muted:#6d6a62;--catalog-serif:"Iowan Old Style","Baskerville","Times New Roman",Georgia,serif;--catalog-sans:"Inter","Segoe UI",Arial,sans-serif;--catalog-mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace}
body{font-family:var(--catalog-sans);font-synthesis:none;text-rendering:optimizeLegibility}
.catalog{max-width:1280px;margin:auto;padding:clamp(46px,7vw,88px) clamp(20px,5vw,76px) 110px;position:relative}
.catalog h1{font-family:var(--catalog-serif);font-size:clamp(58px,10vw,138px);font-weight:400;letter-spacing:-.075em;line-height:.86;margin:0 0 24px;color:var(--catalog-ink)}
.catalog h1 span,.block-head h2 span{color:var(--catalog-red)}
.catalog .intro{font-family:var(--catalog-serif);font-size:clamp(20px,2.2vw,28px);line-height:1.25;max-width:720px;margin:0 0 50px;color:var(--catalog-ink)}
.catalog-art{margin:0 0 72px;border:1px solid var(--catalog-line);padding:10px;background:rgba(246,239,225,.62);position:relative;overflow:hidden}
.catalog-art:after{content:"";position:absolute;inset:10px;border:1px solid rgba(239,64,53,.38);pointer-events:none}
.catalog-art img{height:clamp(220px,29vw,350px);object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease}
.catalog-art:hover img{transform:scale(1.025);filter:saturate(1.08) contrast(1.03)}
.catalog-art figcaption{font-family:var(--catalog-mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--catalog-muted);padding:11px 2px 0}
.service-block{border:0!important;border-top:1px solid var(--catalog-ink)!important;padding:34px 0 66px!important;position:relative}
.service-block:before{content:attr(data-step);position:absolute;left:-2px;top:-15px;background:var(--catalog-paper);padding-right:12px;font:11px var(--catalog-mono);letter-spacing:.16em;color:var(--catalog-red)}
.block-head{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(240px,.7fr);gap:26px;align-items:end;margin-bottom:24px}
.block-head .kicker{grid-column:1/-1;font:10px var(--catalog-mono);letter-spacing:.18em;margin:0;color:var(--catalog-red)}
.block-head h2{font:clamp(32px,4.2vw,62px)/.9 var(--catalog-serif);letter-spacing:-.065em;margin:0;color:var(--catalog-ink)}
.block-head p{font:11px/1.45 var(--catalog-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--catalog-muted);margin:0;max-width:300px}
.list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
.svc{display:grid;grid-template-columns:minmax(140px,.52fr) minmax(0,1fr);gap:16px;border:1px solid var(--catalog-line);padding:10px;min-height:186px;text-decoration:none;color:inherit;background:rgba(246,239,225,.5);position:relative;overflow:hidden;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0px));transition:border-color .25s ease,box-shadow .35s ease,transform .2s ease,background .25s ease}
.svc:after{content:"";position:absolute;left:10px;right:10px;bottom:8px;height:2px;background:linear-gradient(90deg,var(--catalog-red) 0 16%,transparent 16% 100%);transform:scaleX(.18);transform-origin:left center;transition:transform .55s cubic-bezier(.2,.75,.2,1)}
.svc:hover,.svc:focus-visible{border-color:var(--catalog-red);background:#f8f0e2;box-shadow:0 14px 34px rgba(6,24,44,.12);--lift:-3px;outline:none}
.svc:hover:after,.svc:focus-visible:after{transform:scaleX(1)}
.svc-media{min-height:164px;position:relative;overflow:hidden;background:var(--catalog-ink)}
.svc-media img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.82) contrast(.98);transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .6s ease}
.svc:hover .svc-media img,.svc:focus-visible .svc-media img{transform:scale(1.1) translate3d(4px,-3px,0);filter:saturate(1.06) contrast(1.05)}
.svc-index{position:absolute;left:8px;top:8px;background:var(--catalog-paper);color:var(--catalog-red);padding:5px 6px;font:10px var(--catalog-mono);letter-spacing:.08em}
.svc-copy{display:flex;flex-direction:column;min-width:0;padding:4px 6px 14px 0}
.svc-copy small{font:9px/1.3 var(--catalog-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--catalog-red);margin-bottom:15px}
.svc-copy b{font:clamp(21px,2.2vw,30px)/.95 var(--catalog-serif);letter-spacing:-.045em;color:var(--catalog-ink);font-weight:400;margin-bottom:10px}
.svc-copy span{font:12px/1.4 var(--catalog-sans);color:var(--catalog-muted);margin-top:auto}
.svc-copy i{font:10px var(--catalog-mono);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--catalog-ink);margin-top:12px;opacity:.65;transition:opacity .25s ease,transform .25s ease}
.svc:hover .svc-copy i,.svc:focus-visible .svc-copy i{opacity:1;transform:translateX(4px)}
.chronology-note{display:flex;align-items:center;gap:12px;font:10px var(--catalog-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--catalog-muted);margin:0 0 50px}
.chronology-note:before{content:"";width:44px;height:1px;background:var(--catalog-red)}
@media(max-width:820px){.block-head{grid-template-columns:1fr}.block-head p{max-width:none}.list{grid-template-columns:1fr}.svc{grid-template-columns:minmax(132px,.48fr) minmax(0,1fr)}}
@media(max-width:520px){.catalog{padding-inline:16px}.catalog-art{margin-bottom:54px}.svc{grid-template-columns:1fr;min-height:0}.svc-media{height:190px;min-height:190px}.svc-copy{padding:4px 6px 16px}.block-head h2{font-size:42px}.chronology-note{margin-bottom:38px}}
@media(prefers-reduced-motion:reduce){.svc,.svc:after,.svc-media img,.catalog-art img,.svc-copy i{transition:none!important}.svc{transform:none!important}}
