body:has(.spy-article) { background:#000; }
.spy-article { max-width:1600px; margin:0 auto; padding:112px clamp(20px,4vw,56px) 48px; font:18px/1.8 Lato,Nunito,Arial,sans-serif; color:#172033; }
.spy-article *, .spy-article *::before { box-sizing:border-box; }
.spy-article h1,.spy-article h2,.spy-article h3,.spy-article h4 { font-family:Vera,Lato,Arial,sans-serif; text-indent:0; line-height:1.18; color:#172033; margin:0 0 24px; }
.spy-article p { margin:0 0 24px; }
.spy-article a { color:#8b2117; text-underline-offset:4px; }
.spy-article a:focus-visible,.spy-article input:focus-visible,.spy-article textarea:focus-visible,.spy-article button:focus-visible { outline:3px solid #007d9f; outline-offset:4px; }
.spy-article__hero { margin:0; background:#172033; border-radius:8px 8px 0 0; overflow:hidden; }
.spy-article__hero img { display:block; width:100%; height:auto; }
.spy-article__paper { background:#fff; padding:clamp(28px,5vw,72px); border-radius:0 0 8px 8px; }
.spy-article article:not(:has(>.spy-article__hero))>.spy-article__paper { border-radius:8px; }
.spy-article__heading { max-width:1080px; margin:0 auto 48px; padding-bottom:40px; border-bottom:1px solid #d5dbe3; }
.spy-article__meta { display:flex; flex-wrap:wrap; align-items:center; gap:16px; color:#455267; font-size:13px; margin-bottom:24px; }
.spy-article__badge { background:#172033; color:#fff; padding:6px 14px; border-radius:24px; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.spy-article__breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:13px; margin-bottom:28px; }
.spy-article__breadcrumbs a { color:#455267; }
.spy-article__heading h1 { font-size:clamp(34px,5vw,68px); letter-spacing:-.025em; max-width:1000px; overflow-wrap:anywhere; }
.spy-article .spy-article__byline { font-size:15px; color:#455267; margin-bottom:20px; }
.spy-article__categories ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.spy-article__categories a { display:inline-block; font-size:12px; font-weight:700; padding:5px 11px; background:#f3e5e2; color:#8b2117; border-radius:20px; text-decoration:none; }
.spy-article__categories a:hover { text-decoration:underline; }
.spy-article__body { max-width:760px; margin:0 auto; overflow-wrap:anywhere; }
.spy-article__body p,.spy-article__body li { font-size:18px; line-height:1.85; }
.spy-article__body h2 { font-size:clamp(26px,3vw,36px); margin:48px 0 22px; }
.spy-article__body h3 { font-size:25px; margin:36px 0 18px; }
.spy-article__body h4 { font-size:21px; margin:32px 0 16px; }
.spy-article__body ul,.spy-article__body ol { padding-left:26px; margin:0 0 28px; }
.spy-article__body ul { list-style:disc; }
.spy-article__body ol { list-style:decimal; }
.spy-article__body li { margin-bottom:14px; }
.spy-article__body img { max-width:100%; height:auto; }
.spy-article__body figure { max-width:100%; margin:32px 0; }
.spy-article__body figcaption { font-size:14px; color:#455267; margin-top:12px; }
.spy-article__body blockquote { margin:32px 0; padding:20px 28px; border-left:3px solid #a61c0f; background:#f5f7fa; font-size:22px; }
.spy-article__body table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; margin:28px 0; }
.spy-article__body td,.spy-article__body th { padding:12px; border:1px solid #b4bdca; }
.spy-article__body iframe,.spy-article__body video { max-width:100%; }
.spy-article__body pre { overflow-x:auto; max-width:100%; padding:20px; background:#f5f7fa; }
.spy-article__end { max-width:760px; margin:48px auto 0; padding-top:24px; border-top:1px solid #d5dbe3; display:flex; flex-wrap:wrap; justify-content:space-between; gap:16px; font-size:14px; }
.spy-article__comments { max-width:760px; margin:48px auto 0; }
.spy-article__comments textarea,.spy-article__comments input:not([type=checkbox]):not([type=submit]) { max-width:100%; padding:10px; }
.spy-article__related { margin:56px 0; color:#fff; }
.spy-article__section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.spy-article__section-heading h2 { color:#fff; font-size:34px; margin:0; }
.spy-article__section-heading a { color:#fff; font-size:15px; }
.spy-article__related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.spy-article__card { min-width:0; background:#f5f7fa; color:#172033; border-radius:8px; overflow:hidden; display:flex; flex-direction:column; }
.spy-article__card-image { display:block; aspect-ratio:16/9; overflow:hidden; }
.spy-article__card-image img { width:100%; height:100%; object-fit:cover; display:block; }
.spy-article__card>div { padding:26px; display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.spy-article__card time { font-size:13px; color:#455267; }
.spy-article__card h3 { font-size:23px; margin:16px 0 24px; }
.spy-article__card h3 a { color:#172033; text-decoration:none; }
.spy-article__card h3 a:hover { text-decoration:underline; }
.spy-article__read { margin-top:auto; font-size:14px; font-weight:800; }
.spy-article__cta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px; padding:clamp(28px,4vw,52px); background:#a61c0f; color:#fff; border-radius:8px; margin-top:48px; }
.spy-article__cta p { text-transform:uppercase; letter-spacing:.1em; font-size:12px; margin-bottom:16px; }
.spy-article__cta h2 { color:#fff; font-size:clamp(26px,3vw,38px); margin:0; }
.spy-article__cta a { display:inline-block; background:#fff; padding:14px 22px; color:#8b2117; font-size:15px; font-weight:800; text-decoration:none; border-radius:6px; }
.spy-article__cta a:focus-visible { outline-color:#fff; }
.spy-article__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:760px) { .spy-article { padding-top:96px; } .spy-article__related-grid { grid-template-columns:1fr; } .spy-article__paper { padding:30px 22px; } .spy-article__heading { margin-bottom:32px; padding-bottom:28px; } .spy-article__body p,.spy-article__body li { font-size:17px; } }
