.cms-article-page { background:#fff; color:#222; }
.ca-hero { width:min(1200px,92vw); margin:0 auto; padding:60px 0 0; }
.ca-hero img { display:block; width:100%; max-height:540px; object-fit:cover; }
.ca-wrap { width:min(920px,88vw); margin:0 auto; padding:54px 0 100px; }
.ca-kicker { color:#a58c6b; font-size:11px; letter-spacing:.22em; text-transform:uppercase; }
.ca-wrap h1 { margin:16px 0 18px; font-size:clamp(30px,3.6vw,52px); font-weight:400; line-height:1.3; letter-spacing:.01em; }
.ca-meta { display:flex; gap:18px; padding-bottom:26px; border-bottom:1px solid #e8e3dc; color:#999; font-size:13px; }
.ca-summary { margin:28px 0 36px; color:#666; font-size:17px; line-height:1.9; }
.ca-content { color:#444; font-size:16px; line-height:2; }
.ca-content p { margin:0 0 1.2em; }
.ca-content img { display:block; max-width:100%; height:auto; margin:30px auto; }
.ca-content h2,.ca-content h3 { color:#222; font-weight:500; line-height:1.5; margin:34px 0 14px; }
.ca-back { display:inline-flex; margin-top:42px; padding:13px 22px; border:1px solid #222; color:#222; text-decoration:none; font-size:13px; letter-spacing:.08em; }
.ca-back:hover { background:#222; color:#fff; }
@media (max-width:700px) { .ca-hero { padding-top:40px; } .ca-wrap { padding-top:38px; } }
.ca-content img { cursor:zoom-in; }
