/* c27: images and live HTML captions. Shell and editorial body stay intact. */
.portal .portal-cover.c27-cover,.c27-cover{position:relative;display:block;isolation:isolate;height:auto;aspect-ratio:16/9;overflow:hidden;padding:0;border-radius:4px;background:#102b46;color:#fff!important;text-decoration:none}
.portal .portal-cover.c27-cover:before,.c27-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#102b4640 48%,#102b46 76%);z-index:1;pointer-events:none}
.portal .portal-cover.c27-cover:after,.c27-cover:after{display:none}
.portal .c27-cover .c27-cover-image,.c27-cover .c27-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;margin:0;border-radius:0;max-width:none}
.portal .c27-cover .portal-key,.c27-cover .portal-key{position:absolute;left:20px;right:40px;bottom:18px;z-index:2;max-width:none;min-width:0;font-family:var(--sans,"Golos Text",Arial,sans-serif);font-size:25px;line-height:1.14;letter-spacing:-.45px;font-weight:600;color:#fff;background:#102b46;box-shadow:0 0 14px 9px #102b46;overflow-wrap:normal;text-wrap:balance}
.c27-cover .c27-cover-arrow{position:absolute;right:16px;bottom:18px;z-index:2;color:#ff847a;font:25px/1 Arial,sans-serif}
.c27-article-cover{position:relative;isolation:isolate;width:100%;margin:0 0 30px;overflow:hidden;border-radius:4px;background:#102b46;aspect-ratio:16/9;color:#fff}
.c27-article-cover img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;margin:0}
.c27-article-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#102b46 83%);pointer-events:none}
.c27-article-cover figcaption{position:absolute;left:28px;right:28px;bottom:24px;z-index:2;font-size:32px;font-weight:600;line-height:1.15;color:#fff;background:#102b46;box-shadow:0 0 14px 9px #102b46;text-wrap:balance}
.c27-article-cover-special{width:calc(100% - 40px);max-width:1200px;margin:24px auto}
/* Four preserved legacy article templates have no main and retain Bootstrap
   content-box padding/negative margins. Correct their real width, without clipping. */
body:has(.c27-article-cover-special){margin:0}
body:has(.c27-article-cover-special) .container-fluid.main_text{box-sizing:border-box;width:100%;max-width:1280px;margin-inline:auto;padding-inline:20px}
body:has(.c27-article-cover-special) .container-fluid.main_text *{box-sizing:border-box}
.container-fluid.main_text .c27-article-cover-special{width:100%;margin:24px 0}
.section--list .list-item.event .thumb.c27-archive-thumb{flex:0 0 290px;width:290px;max-width:100%;height:auto;aspect-ratio:16/9;overflow:hidden;border-radius:4px}
.section--list .list-item.event:has(>.c27-archive-thumb){display:grid;grid-template-columns:290px minmax(0,1fr);align-items:start;gap:24px}
.section--list .c27-archive-thumb .c27-cover{display:block;width:100%;height:100%;min-height:0;aspect-ratio:16/9}
.section--list .c27-archive-thumb .portal-key{font-size:22px;left:15px;bottom:14px;right:35px}
@media(max-width:720px){
  .portal .c27-cover .portal-key,.c27-cover .portal-key{font-size:25px;left:18px;bottom:16px;right:38px}
  .c27-article-cover{margin-bottom:24px}
  .c27-article-cover figcaption{font-size:25px;left:20px;right:20px;bottom:18px}
  .section--list .list-item.event .thumb.c27-archive-thumb{width:100%;max-width:100%;flex-basis:auto;aspect-ratio:16/9}
  .section--list .list-item.event:has(>.c27-archive-thumb){grid-template-columns:minmax(0,1fr);gap:16px}
  .section--list .c27-archive-thumb .portal-key{font-size:25px;left:18px;bottom:16px;right:38px}
}
@media(prefers-reduced-motion:reduce){.portal-card{transition:none!important;transform:none!important}}
