/*
Theme Name: TNU New
Theme URI: http://tnunew.local
Description: Чистая собственная тема для сайта ТНУ (новостной портал). Оригинальный код, без сторонних конструкторов.
Author: Jabrail
Version: 1.0.0
Text Domain: tnunew
*/

:root{
	--accent:#863030;        /* primary brand (TNU maroon) */
	--accent-2:#6f2727;      /* darker maroon for hover */
	--dark:#333145;          /* dark slate */
	--ink:#1a1a1a;
	--muted:#6b7280;
	--line:#e5e7eb;
	--bg:#f4f5f7;
	--white:#fff;
	--container:1200px;
	--radius:4px;
	--sans:"Roboto",Arial,sans-serif;
	--cond:"Roboto Condensed","Roboto",Arial,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-2)}
.container{max-width:var(--container);margin:0 auto;padding:0 16px}

/* Top bar */
.top-bar{background:var(--accent);color:#dbe3f2;font-size:12.5px}
.top-bar__inner{display:flex;align-items:center;justify-content:space-between;min-height:36px;gap:16px}
.top-bar a{color:#dbe3f2}
.top-bar a:hover{color:#fff}
.top-menu{display:flex;gap:16px;list-style:none;margin:0;padding:0}
.top-menu a{display:block;padding:8px 0}

/* Masthead */
.masthead{background:var(--white);border-bottom:1px solid var(--line)}
.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 16px}
.site-title{font-family:var(--cond);font-weight:700;font-size:30px;color:var(--ink);line-height:1.1;display:block}
.site-desc{margin:2px 0 0;color:var(--muted);font-size:13px}
.custom-logo{max-height:80px;width:auto}
.masthead__search{flex:0 0 auto}

/* Main nav */
.main-nav{background:var(--ink)}
.main-nav__inner{display:flex;align-items:center}
.primary-menu,.main-nav .menu{display:flex;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.main-nav .menu>li{position:relative}
.main-nav .menu>li>a{display:block;color:#fff;padding:13px 16px;font-family:var(--cond);text-transform:uppercase;font-size:14px;letter-spacing:.3px}
.main-nav .menu>li:hover>a,.main-nav .menu .current-menu-item>a{background:var(--accent-2)}
/* submenu */
.main-nav .sub-menu{position:absolute;left:0;top:100%;background:var(--ink);min-width:220px;display:none;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.main-nav li:hover>.sub-menu{display:block}
.main-nav .sub-menu li a{display:block;color:#fff;padding:10px 16px;border-top:1px solid rgba(255,255,255,.08);text-transform:none;font-family:var(--sans);font-size:14px}
.main-nav .sub-menu li a:hover{background:var(--accent)}
.nav-toggle{display:none;background:none;border:0;flex-direction:column;gap:5px;padding:12px 16px;cursor:pointer}
.nav-toggle span{width:24px;height:2px;background:#fff;display:block}

/* Layout */
.site-content{padding:24px 0}
.home-layout{display:grid;grid-template-columns:1fr 324px;gap:32px;align-items:start}
@media(max-width:1000px){.home-layout{grid-template-columns:1fr}}

/* Block heading */
.block{margin:0 0 34px}
.block-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);margin-bottom:16px}
.block-title{font-family:var(--cond);font-size:20px;margin:0;text-transform:uppercase}
.block-title span{display:inline-block;background:var(--ink);color:#fff;padding:7px 14px}
.block-more{font-size:13px;color:var(--muted)}

/* Cards grid */
.cards-grid{display:grid;gap:22px}
.cards-grid--4{grid-template-columns:repeat(4,1fr)}
.cards-grid--3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.cards-grid--4{grid-template-columns:repeat(2,1fr)}.cards-grid--3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cards-grid--4,.cards-grid--3{grid-template-columns:1fr}}

/* Post card */
.post-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.post-thumb-link{position:relative;display:block;background:#e9edf3}
.post-thumb-link .card-thumb{width:100%;aspect-ratio:16/11;object-fit:cover}
.post-cat{position:absolute;left:0;bottom:0;background:var(--accent-2);color:#fff;font-family:var(--cond);text-transform:uppercase;font-size:11px;padding:4px 9px}
.post-body{padding:12px 13px 15px}
.post-title{font-size:16px;line-height:1.3;margin:0 0 6px;font-weight:700}
.post-title a{color:var(--ink)}
.post-title a:hover{color:var(--accent-2)}
.post-meta,.post-date{color:var(--muted);font-size:12px}
.post-excerpt{margin-top:8px;color:#444;font-size:13.5px}

/* Lead block */
.lead-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}
.lead-secondary{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lead-primary .post-title{font-size:24px}
.lead-primary .card-thumb{aspect-ratio:16/9}
@media(max-width:900px){.lead-grid{grid-template-columns:1fr}.lead-secondary{grid-template-columns:1fr 1fr}}

/* Row (search) */
.post-item--row{flex-direction:row;gap:14px;padding:12px}
.post-item--row .post-thumb-link{flex:0 0 120px}
.post-item--row .card-thumb{width:120px;height:80px;object-fit:cover}
.post-item--row .post-body{padding:0}

/* Sidebar */
.home-sidebar .widget{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:22px}
.widget-title{font-family:var(--cond);text-transform:uppercase;font-size:16px;margin:0 0 12px;border-bottom:2px solid var(--ink)}
.widget-title span{display:inline-block;background:var(--ink);color:#fff;padding:5px 10px;margin-bottom:-2px}
.widget ul{list-style:none;margin:0;padding:0}
.widget-post-list li{display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;gap:2px 10px;padding:9px 0;border-bottom:1px solid var(--line)}
.widget-post-list .wp-thumb{grid-row:1/3}
.widget-post-list .wp-thumb-img{width:64px;height:48px;object-fit:cover;border-radius:3px}
.widget-post-list .wp-title{font-weight:700;font-size:13.5px;color:var(--ink);align-self:end}
.widget-post-list .wp-title:hover{color:var(--accent-2)}
.widget-post-list .wp-date{color:var(--muted);font-size:11.5px}
.widget-cats li a{display:block;padding:7px 0;border-bottom:1px solid var(--line);color:var(--ink)}

/* Single */
.single-post{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px}
.single-head .post-cat{position:static;display:inline-block;margin-bottom:10px}
.single-title{font-family:var(--cond);font-size:30px;line-height:1.2;margin:0 0 10px}
.single-meta{color:var(--muted);font-size:13px;display:flex;gap:14px;margin-bottom:18px}
.single-featured{margin:0 0 18px}
.entry-content{font-size:16px;line-height:1.75}
.entry-content p{margin:0 0 1.1em}
.entry-content img{height:auto;margin:14px 0;border-radius:3px}
.entry-content h2{font-family:var(--cond);font-size:22px;margin:1.4em 0 .5em}
.entry-content a{text-decoration:underline}
.single-tags{margin-top:20px;color:var(--muted);font-size:13px}
.block-related{margin-top:30px}

/* Search form */
.search-form{display:flex}
.search-form label{display:block}
.search-form .search-field{border:1px solid var(--line);padding:9px 12px;border-radius:var(--radius) 0 0 var(--radius);min-width:220px;font-size:14px}
.search-form .search-submit{background:var(--accent);color:#fff;border:0;padding:9px 16px;border-radius:0 var(--radius) var(--radius) 0;cursor:pointer}
.search-form .search-submit:hover{background:var(--accent-2)}

/* Pagination */
.pagination{display:flex;justify-content:center;margin:26px 0}
.pagination .page-numbers{display:inline-block;padding:8px 13px;margin:0 3px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius)}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Footer */
.site-footer{background:var(--ink);color:#c7cdd6;margin-top:30px}
.site-footer__inner{padding:34px 16px}
.footer-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:24px}
@media(max-width:800px){.footer-widgets{grid-template-columns:1fr}}
.site-footer .widget-title{border-color:var(--accent-2)}
.site-footer .widget-title span{background:var(--accent-2)}
.site-footer a{color:#c7cdd6}
.site-footer a:hover{color:#fff}
.footer-menu{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0 0 18px;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom{color:#8b93a1;font-size:13px}

/* 404 */
.error-404{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:40px;text-align:center}
.error-code{font-size:72px;margin:0;color:var(--accent)}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:10px 20px;border-radius:var(--radius)}
.btn:hover{background:var(--accent-2);color:#fff}

.is-placeholder{opacity:.5}
.no-posts{background:var(--white);padding:24px;border:1px solid var(--line);border-radius:var(--radius)}

/* Mobile nav */
@media(max-width:1000px){
	.nav-toggle{display:flex}
	#primary-menu{display:none;width:100%;flex-direction:column}
	.main-nav.open #primary-menu{display:flex}
	.main-nav .menu>li>a{border-top:1px solid rgba(255,255,255,.08)}
	.main-nav .sub-menu{position:static;display:block;box-shadow:none}
	.masthead__inner{flex-direction:column;align-items:flex-start;gap:12px}
}

/* --- Page-builder compat layout --- */
.vc-row{display:flex;flex-wrap:wrap;gap:20px;margin:0 0 18px}
.vc-row--inner{gap:14px}
.vc-col{min-width:0}
@media(max-width:768px){.vc-col{flex:0 0 100%!important;max-width:100%!important}}
.vc-text>*:first-child{margin-top:0}
.vc-figure{margin:0 0 14px}
.vc-image{width:100%;height:auto;border-radius:3px}
.vc-sep{border:0;border-top:1px solid var(--line);margin:18px 0}
.vc-space{height:24px}
.vc-btn{margin:6px 0}
.vc-accordion{margin:0 0 18px}
.vc-acc-item{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;background:var(--white)}
.vc-acc-item>summary{cursor:pointer;padding:12px 14px;font-weight:700;list-style:none}
.vc-acc-item>summary::-webkit-details-marker{display:none}
.vc-acc-item>summary:before{content:"+";display:inline-block;width:18px;color:var(--accent-2);font-weight:700}
.vc-acc-item[open]>summary:before{content:"–"}
.vc-acc-body{padding:0 14px 14px}
.vc-tabs{margin:0 0 18px}
.vc-tab{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:var(--white)}
.vc-tab-title{margin:0;padding:10px 14px;background:var(--bg);font-family:var(--cond)}
.vc-tab-body{padding:12px 14px}
.vc-widget-zone .widget{margin-bottom:16px}

/* Original TNU proportions and typography. */
:root{--accent:#a51d21;--accent-2:#8a0707;--dark:#313a3f;--ink:#222;--muted:#aaa;--bg:#fff;--container:1068px;--radius:0;--sans:"Open Sans",Arial,sans-serif;--cond:"Roboto",Arial,sans-serif}
body{font-size:14px;line-height:21px;background:#fff}
.container{width:1068px;max-width:calc(100% - 48px);padding:0;margin:auto}
.top-strip{background:#313a3f;color:#fff;font:11px/28px "Open Sans",Arial,sans-serif}
.top-strip__inner{display:flex;align-items:center;justify-content:space-between;height:28px}
.lang-switcher{display:flex;align-items:center;list-style:none;gap:20px;margin:0;padding:0 20px}
.lang-switcher li.lang-item-tj{order:-2}.lang-switcher li.lang-item-ru{order:-1}
.lang-switcher img{width:16px;height:11px;display:block}
.top-right,.top-menu{display:flex;align-items:center;gap:20px}.top-menu a{padding:0;color:white}
.soc{display:inline-flex;align-items:center;justify-content:center;width:22px;font:bold 22px/28px Arial}.soc-fb{color:#2684c5}.soc-yt{font-size:15px;color:#ed3338}
.site-banner{background:linear-gradient(0deg,#863030 0%,#8a0707 50%,#9c2828 100%)}
.site-banner__inner{height:222.65625px;display:flex;align-items:center;justify-content:center;position:relative}
.site-banner__logo img{width:650px;height:auto;max-width:100%}
.site-banner .nav-toggle{display:none}
.main-nav{background:#fff;box-shadow:0 3px 5px rgba(0,0,0,.1);position:relative;z-index:20}
.main-nav__inner{position:relative;display:block}
.main-nav .menu{justify-content:flex-start;padding:0 48px 0 0}
.main-nav .menu>li>a{color:#222;font:700 14px/48px Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:0;padding:0 14px;position:relative;white-space:nowrap}
.main-nav .menu>li.menu-item-has-children>a{padding-right:31px}
.main-nav .menu>li.menu-item-has-children>a:after{content:"";position:absolute;right:14px;top:20px;width:5px;height:5px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg)}
.main-nav .menu>li:hover>a,.main-nav .menu .current-menu-item>a{background:transparent;color:#222}
.main-nav .menu>li>a[aria-current=page]:before,.main-nav .menu>li.current-menu-item>a:before,.main-nav .menu>li:hover>a:before{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#222}
.main-nav .sub-menu{list-style:none;margin:0;padding:10px 0;background:#fff;border:1px solid #eee;min-width:240px}
.main-nav .sub-menu li{position:relative}.main-nav .sub-menu li a{color:#222;border:0;font:13px/20px "Open Sans",Arial,sans-serif;padding:8px 20px}
.main-nav .sub-menu li a:hover{color:var(--accent);background:#fafafa}
.main-nav li:focus-within>.sub-menu{display:block}.main-nav .sub-menu .sub-menu{top:0;left:100%}
.search-toggle{position:absolute;right:0;top:0;width:48px;height:48px;background:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.search-toggle:before{content:"";width:12px;height:12px;border:2px solid #333;border-radius:50%}.search-toggle:after{content:"";position:absolute;width:7px;height:2px;background:#333;transform:rotate(45deg);left:29px;top:29px}
.masthead__search{padding:15px 0;background:#fafafa}.masthead__search[hidden]{display:none}
.site-content{padding:48px 0 84px}
.home-slider{margin:0 0 48px}.tnu-swiper{overflow:hidden;position:relative;aspect-ratio:1068/431;background:#fff}
.tnu-swiper .swiper-slide{position:relative;overflow:hidden;height:100%;aspect-ratio:1068/431}
.tnu-swiper .slide-img{width:100%;height:100%;object-fit:cover}
.tnu-swiper .slide-layer .slide-img{height:auto;min-height:100%;position:absolute;top:-6.5%;left:3px;width:calc(100% - 3px);object-fit:initial}
.slide-cap{position:absolute;top:0;left:0;max-width:70%;background:rgba(0,0,0,.5);padding:9px 11px;color:#fff}
.slide-title{font:800 22px/22px "Open Sans",Arial,sans-serif;margin:0;max-width:520px}.swiper-slide:first-child .slide-title{max-width:460px}
.slide-cap-bottom{top:auto;bottom:0}
.tnu-swiper .swiper-button-prev,.tnu-swiper .swiper-button-next{color:#fff;background:rgba(0,0,0,.35);border:0;width:36px;height:48px;opacity:0;transition:opacity .2s}
.tnu-swiper:hover .swiper-button-prev,.tnu-swiper:hover .swiper-button-next,.tnu-swiper:focus-within button{opacity:1}
.tnu-swiper .swiper-button-prev:after,.tnu-swiper .swiper-button-next:after{font-size:22px}
.home-columns{display:grid;grid-template-columns:324px minmax(0,696px);gap:48px;align-items:start}
.home-main,.col-menu{min-width:0}.block-head{border-bottom:2px solid #222;margin:0 0 26px;height:30px;display:block}
.block-title{font:400 14px/14px Roboto,Arial,sans-serif;text-transform:none;margin:0}
.block-title span{display:inline-block;background:#222;color:#fff;padding:7px 12px;line-height:16px}
.col-menu>.block-head{margin-bottom:10px}
.side-menu,.side-menu .sub-menu{list-style:none;margin:0;padding:0}
.side-menu li{position:relative}.side-menu>li>a{display:block;font:600 16px/30px "Open Sans",Arial,sans-serif;color:#a51d21;padding:7px 40px 7px 15px}
.side-menu .sub-menu{display:none;padding-left:15px;background:#fafafa}.side-menu li.expanded>.sub-menu{display:block}
.side-menu .sub-menu a{display:block;padding:7px 32px 7px 15px;font:14px/24px "Open Sans",Arial,sans-serif}
.side-expand{position:absolute;right:0;top:0;width:40px;height:44px;background:transparent;border:0;color:#a51d21;cursor:pointer}
.side-expand:after{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);vertical-align:3px}.side-expand[aria-expanded=true]:after{transform:rotate(225deg)}
.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:30px}
.news-image{position:relative;margin-bottom:13px}.news-image img{width:100%;height:auto;aspect-ratio:324/160;object-fit:cover}
.post-cat{font:500 10px/13px Roboto,Arial,sans-serif;text-transform:none;background:#222;padding:1px 5px;bottom:0;left:0;color:white}
.news-card h3{font:500 22px/26px Roboto,Arial,sans-serif;margin:0 0 6px}.news-card h3 a{color:#222}.news-card h3 a:hover{color:var(--accent)}
.post-date{font:11px/11px "Open Sans",Arial,sans-serif;color:#aaa;display:inline-block}
.news-excerpt{font:13px/21px "Open Sans",Arial,sans-serif;color:#444;margin-top:9px;text-align:justify}
.news-pagination{display:flex;gap:7px;margin:26px 0 48px}.news-pagination a,.news-pagination span{display:inline-flex;border:1px solid #ddd;width:25px;height:25px;align-items:center;justify-content:center;color:#999;font-size:22px}.news-pagination span{opacity:.4}
.home-announcements{margin-top:35px;margin-bottom:48px}.announcement{display:grid;grid-template-columns:100px 1fr;gap:15px;margin-bottom:26px}.announcement-img{width:100px;height:70px;object-fit:cover}.announcement h3{margin:0 0 6px;font:500 14px/20px Roboto,Arial,sans-serif}.announcement h3 a{color:#222}
.home-partners{margin-bottom:48px}.partner-strip{display:flex;align-items:center;gap:60px;overflow:auto;height:146px;scrollbar-width:none}.partner-strip img{object-fit:contain;max-width:200px;max-height:100px;flex-shrink:0}
.home-tiles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-bottom:48px}.home-tile{display:block;position:relative;color:#fff}.home-tile img{width:100%;height:220px;object-fit:cover}.home-tile h3{position:absolute;bottom:0;margin:0;padding:15px;color:#fff;font:500 20px/25px Roboto,Arial,sans-serif;background:linear-gradient(transparent,rgba(0,0,0,.8));width:100%}
.resource-strip{display:flex;gap:15px;align-items:center;flex-wrap:wrap;min-height:100px}.resource-strip a{flex:1;min-width:50px}.resource-strip img{max-height:90px;object-fit:contain;margin:auto}
.site-footer{margin:0;background:#222;color:#eee}.site-footer__inner{padding:40px 0;display:grid;grid-template-columns:220px 1fr;gap:48px;align-items:center;min-height:234px}.footer-logo{max-height:155px;width:auto;margin:auto}.footer-about h2{font:400 18px/24px Roboto,Arial,sans-serif;margin:0 0 18px}.footer-about p{font:14px/24px "Open Sans",Arial,sans-serif;margin:0}
.home-layout{grid-template-columns:minmax(0,696px) 324px;gap:48px}.single-post{border:0;padding:0}.single-title{font:400 38px/44px Roboto,Arial,sans-serif}.home-sidebar .widget{border:0;padding:0;margin-bottom:36px}.post-item{border:0}.post-body{padding:12px 0}.entry-content{font:15px/26px "Open Sans",Arial,sans-serif}
@media(min-width:768px) and (max-width:1140px){.container{width:980px}.home-columns{grid-template-columns:300px minmax(0,1fr);gap:28px}.news-grid{gap:28px}.home-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.main-nav .menu>li>a{padding-left:10px;padding-right:10px;font-size:13px}.main-nav .menu>li.menu-item-has-children>a{padding-right:25px}.main-nav .menu>li.menu-item-has-children>a:after{right:10px}}
@media(min-width:768px){#primary-menu{display:flex;flex-direction:row}.nav-toggle{display:none}}
@media(max-width:767px){.container{width:auto;max-width:calc(100% - 40px)}.top-strip__inner{height:28px}.top-menu{display:none}.lang-switcher{padding:0}.site-banner__inner{height:120px}.site-banner__logo{max-width:80%;margin-left:25px}.site-banner .nav-toggle{display:flex;position:absolute;left:-12px}.main-nav__inner{min-height:44px}.main-nav .menu,#primary-menu{display:none;padding:0;flex-direction:column}.main-nav.open .menu,.main-nav.open #primary-menu{display:flex}.main-nav .menu>li>a{white-space:normal;line-height:42px}.main-nav .sub-menu{position:static;display:none;box-shadow:none}.main-nav li:focus-within>.sub-menu{display:block}.main-nav .search-toggle{height:44px}.site-content{padding:28px 0 40px}.home-slider{margin-bottom:30px}.slide-title{font-size:clamp(10px,2.1vw,17px);line-height:1.12}.slide-cap{padding:5px 7px;max-width:75%}.home-columns,.home-layout{grid-template-columns:1fr;gap:30px}.news-grid{gap:24px}.news-card h3{font-size:18px;line-height:22px}.home-tiles-grid{grid-template-columns:1fr;gap:25px}.site-footer__inner{grid-template-columns:1fr;gap:25px}.home-announcements{margin-bottom:0}.single-title{font-size:28px;line-height:34px}.search-form .search-field{min-width:0;width:100%}.search-form label{min-width:0;flex:1}.footer-logo{max-height:130px}}
@media(max-width:479px){.news-grid{grid-template-columns:1fr}.news-card h3{font-size:22px;line-height:26px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Fine alignment against the source theme. */
.site-banner__inner{align-items:flex-start;padding-top:20px}
.home-slider{margin-bottom:50px}
.news-card h3{font-size:21px;line-height:25px;font-weight:700}
.news-excerpt{font-family:Roboto,Arial,sans-serif}
@media(max-width:767px){.site-banner__inner{align-items:center;padding-top:0}.home-slider{margin-bottom:30px}.site-banner .nav-toggle{top:50%;transform:translateY(-50%)}}
/* The original uses the same left navigation on inner pages. */
.home-layout{grid-template-columns:324px minmax(0,696px)}
.home-layout>.home-main{grid-column:2;grid-row:1}.home-layout>.col-menu{grid-column:1;grid-row:1}
.breadcrumbs{font:12px/18px "Open Sans",Arial,sans-serif;color:#c3c3c3;margin:-22px 0 28px}.breadcrumbs a{color:inherit}.breadcrumbs span{padding:0 10px}
.single-page .single-title{font:400 30px/38px Roboto,Arial,sans-serif;margin-bottom:24px}
article.single-post:not(.single-page) .single-title{font:600 31px/40px Roboto,Arial,sans-serif}
.entry-content{font-family:Roboto,Arial,sans-serif}.side-menu>.current-menu-item>a{background:#ddd}
@media(min-width:768px) and (max-width:1140px){.home-layout{grid-template-columns:300px minmax(0,1fr);gap:28px}}
@media(max-width:767px){.home-layout{grid-template-columns:1fr}.home-layout>.home-main,.home-layout>.col-menu{grid-column:auto;grid-row:auto}.breadcrumbs{margin:0 0 20px}}

/* =========================================================
   v4 — polish: dropdowns, side buttons, cards (TNU maroon)
   ========================================================= */
:root{--shadow:0 6px 22px rgba(0,0,0,.14);--shadow-sm:0 2px 8px rgba(0,0,0,.08);--t:.18s ease}

/* ---- Primary nav carets + dropdowns ---- */
.main-nav .menu>li{position:relative}
.main-nav .submenu-toggle{background:transparent;border:0;cursor:pointer;padding:0 8px 0 2px;color:inherit;align-self:center;height:100%}
.main-nav .menu>li>a{display:inline-flex;align-items:center;gap:5px}
.main-nav .menu-item-has-children>a:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--t);opacity:.8}
.main-nav .menu-item-has-children.is-open>a:after{transform:translateY(1px) rotate(-135deg)}
.main-nav .submenu-toggle{display:none} /* caret shown via ::after on link */

#primary-menu .sub-menu{
	position:fixed;min-width:250px;max-width:290px;background:#fff;list-style:none;margin:0;padding:6px 0;
	border-top:3px solid var(--accent);border-radius:0 0 5px 5px;box-shadow:var(--shadow);z-index:1000;
	opacity:0;transform:translateY(6px);transition:opacity var(--t),transform var(--t)}
#primary-menu .menu-item-has-children.is-open>.sub-menu{opacity:1;transform:translateY(0)}
#primary-menu .sub-menu[hidden]{display:none}
#primary-menu .sub-menu li{position:relative}
#primary-menu .sub-menu a{display:block;color:#2a2a2a;padding:9px 16px;font-size:13.5px;line-height:1.35;border:0;text-transform:none;transition:background var(--t),color var(--t),padding var(--t)}
#primary-menu .sub-menu a:hover,#primary-menu .sub-menu .current-menu-item>a{background:#f3eaea;color:var(--accent);padding-left:20px}
#primary-menu .sub-menu .menu-item-has-children>a:after{content:"›";float:right;color:var(--accent);font-weight:700}
#primary-menu .sub-menu .sub-menu{border-top:3px solid var(--accent)}
#primary-menu .opens-left>.sub-menu{border-radius:5px}

/* ---- Left "Меню": nice buttons + accordion ---- */
.col-menu .side-menu{background:#fff;border:1px solid var(--line);border-radius:5px;box-shadow:var(--shadow-sm);overflow:hidden}
.col-menu .side-menu li{position:relative}
.col-menu .side-menu>li{border-bottom:1px solid var(--line)}
.col-menu .side-menu>li:last-child{border-bottom:0}
.col-menu .side-menu>li>a{display:block;padding:11px 40px 11px 16px;color:var(--accent);font-weight:700;font-size:14px;line-height:1.3;
	position:relative;transition:background var(--t),color var(--t),padding var(--t)}
.col-menu .side-menu>li>a:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent);transition:width var(--t)}
.col-menu .side-menu>li>a:hover{background:#f3eaea;padding-left:20px}
.col-menu .side-menu>li>a:hover:before{width:4px}
.col-menu .side-menu>li.current-menu-item>a,.col-menu .side-menu>li.current-menu-ancestor>a{background:var(--accent);color:#fff}
.col-menu .side-menu>li.current-menu-item>a:before{width:4px;background:#fff}
.col-menu .side-expand{position:absolute;right:0;top:0;width:40px;height:44px;background:transparent;border:0;cursor:pointer;color:var(--accent);z-index:2}
.col-menu .side-expand:after{content:"";display:inline-block;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform var(--t)}
.col-menu .side-menu li.expanded>.side-expand:after{transform:rotate(-135deg)}
.col-menu .side-menu li.expanded>.side-expand{color:#fff}
.col-menu .side-menu .sub-menu{list-style:none;margin:0;padding:4px 0;background:#faf6f6;border-top:1px solid var(--line);display:none}
.col-menu .side-menu li.expanded>.sub-menu{display:block;animation:tnuFade var(--t)}
.col-menu .side-menu .sub-menu a{display:block;padding:8px 14px 8px 26px;color:#3a3a3a;font-size:13px;border-bottom:1px solid rgba(0,0,0,.04);transition:color var(--t),padding var(--t)}
.col-menu .side-menu .sub-menu a:hover{color:var(--accent);padding-left:30px}
.col-menu .side-menu .sub-menu .sub-menu a{padding-left:38px}
@keyframes tnuFade{from{opacity:0}to{opacity:1}}

/* ---- Cards & modules polish ---- */
.post-item{transition:transform var(--t),box-shadow var(--t)}
.post-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.post-thumb-link,.ml-thumb,.mlr-thumb,.feat,.tnu-swiper .swiper-slide a{overflow:hidden}
.card-thumb,.ml-img,.mlr-img,.feat-img,.slide-img{transition:transform .35s ease}
.post-item:hover .card-thumb,.module-lead .ml-thumb:hover .ml-img,.feat:hover .feat-img{transform:scale(1.05)}
.ml-row{transition:background var(--t)}
.ml-row:hover{background:#faf6f6}
.ml-row .mlr-thumb{overflow:hidden;border-radius:3px}
.ml-row:hover .mlr-img{transform:scale(1.06)}
.block-more{transition:color var(--t)}
.block-more:hover{color:var(--accent)}

/* Module lead overlay refinement */
.module-lead .ml-thumb{border-radius:5px;box-shadow:var(--shadow-sm)}
.module-lead .ml-title{transition:color var(--t)}
.module-lead .ml-thumb:hover .ml-title{color:#ffd9d9}

/* Announcements (sidebar) */
.home-announcements .announcement{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.home-announcements .announcement:last-child{border-bottom:0}
.home-announcements .announcement-img{width:70px;height:52px;object-fit:cover;border-radius:3px}
.home-announcements .announcement h3{margin:0 0 3px;font-size:13px;line-height:1.35}
.home-announcements .announcement h3 a{color:var(--ink)}
.home-announcements .announcement h3 a:hover{color:var(--accent)}

/* Sidebar widgets */
.home-sidebar .widget{box-shadow:var(--shadow-sm);border-radius:5px}
.widget-post-list li{transition:background var(--t)}
.widget-post-list li:hover{background:#faf6f6}

/* Buttons */
.btn,.vc-btn{transition:background var(--t),transform var(--t),box-shadow var(--t)}
.btn:hover,.vc-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.block-head{align-items:flex-end}

/* Search field focus */
.search-form .search-field:focus{outline:2px solid var(--accent);outline-offset:-2px}

/* Slider arrows nicer */
.tnu-swiper .swiper-button-next,.tnu-swiper .swiper-button-prev{width:44px;height:44px;background:rgba(0,0,0,.35);border-radius:50%;transition:background var(--t)}
.tnu-swiper .swiper-button-next:hover,.tnu-swiper .swiper-button-prev:hover{background:var(--accent)}
.tnu-swiper .swiper-button-next:after,.tnu-swiper .swiper-button-prev:after{font-size:16px;font-weight:700}
.tnu-swiper .slide-title{transition:color var(--t)}

/* =========================================================
   v5 — authoritative menu styles (own clean accordion + hover)
   ========================================================= */
/* ---- Primary dropdowns: desktop hover (absolute), mobile tap ---- */
#primary-menu .sub-menu{
	position:absolute;top:100%;left:0;min-width:252px;max-width:300px;display:block;
	background:#fff;list-style:none;margin:0;padding:6px 0;border-top:3px solid var(--accent);
	border-radius:0 0 6px 6px;box-shadow:0 12px 30px rgba(0,0,0,.16);z-index:1000;
	opacity:0;visibility:hidden;transform:translateY(8px);
	transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
#primary-menu .menu-item-has-children:hover>.sub-menu,
#primary-menu .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
#primary-menu .sub-menu li{position:relative}
#primary-menu .sub-menu a{display:block;color:#2b2b2b;padding:10px 18px;font-size:13.5px;line-height:1.35;
	text-transform:none;font-weight:400;border:0;transition:background .16s,color .16s,box-shadow .16s}
#primary-menu .sub-menu a:hover{background:#f5ecec;color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
#primary-menu .sub-menu .menu-item-has-children>a:after{content:"›";float:right;color:var(--accent);font-weight:700}
#primary-menu .sub-menu .sub-menu{top:-9px;left:100%;border-radius:6px}
@media(max-width:1000px){
	#primary-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;display:none;
		box-shadow:none;border-radius:0;border-top:0;background:#fbfbfb;padding:0}
	#primary-menu .menu-item-has-children.is-open>.sub-menu{display:block}
	#primary-menu .sub-menu .sub-menu{left:0}
	#primary-menu .sub-menu a{padding-left:28px}
}

/* ---- Side "Меню" accordion (own) ---- */
.col-menu .side-menu{background:#fff;border:1px solid var(--line);border-radius:6px;
	box-shadow:0 2px 10px rgba(0,0,0,.06);overflow:hidden;list-style:none;margin:0;padding:0}
.col-menu .side-menu li{position:relative}
.col-menu .side-menu>li{border-bottom:1px solid var(--line)}
.col-menu .side-menu>li:last-child{border-bottom:0}
.col-menu .side-menu a{display:block;text-decoration:none}
.col-menu .side-menu>li>a{padding:12px 42px 12px 16px;color:var(--accent);font-weight:700;font-size:14px;
	line-height:1.35;position:relative;transition:background .18s,color .18s,box-shadow .18s}
.col-menu .side-menu>li>a:hover{background:#f6efef;box-shadow:inset 4px 0 0 var(--accent)}
.col-menu .side-menu>li.open>a{background:var(--accent);color:#fff;box-shadow:inset 4px 0 0 #5f2020}
/* chevron (top level + nested) */
.col-menu .side-menu .menu-item-has-children>a:after{content:"";position:absolute;right:16px;top:50%;
	width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
	transform:translateY(-70%) rotate(45deg);transition:transform .22s ease;opacity:.9}
.col-menu .side-menu .menu-item-has-children.open>a:after{transform:translateY(-30%) rotate(-135deg)}
/* animated sub-lists */
.col-menu .side-menu .sub-menu{list-style:none;margin:0;padding:0;background:#faf6f6;
	overflow:hidden;height:0;transition:height .28s ease;border-top:1px solid var(--line)}
.col-menu .side-menu .sub-menu[hidden]{display:none}
.col-menu .side-menu .sub-menu a{padding:10px 16px 10px 30px;color:#3a3a3a;font-weight:400;font-size:13px;
	border-bottom:1px solid rgba(0,0,0,.05);transition:background .16s,color .16s,box-shadow .16s}
.col-menu .side-menu .sub-menu li:last-child>a{border-bottom:0}
.col-menu .side-menu .sub-menu a:hover{background:#fff;color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
.col-menu .side-menu>li.open>.sub-menu{border-top-color:#5f2020}
.col-menu .side-menu .sub-menu .sub-menu a{padding-left:44px;background:#f4eeee}
.col-menu .side-menu .sub-menu .sub-menu .sub-menu a{padding-left:58px}
.col-menu .side-menu .current-menu-item>a{color:var(--accent);font-weight:700;background:#f6efef}
/* nested chevron colour when parent row is not the maroon one */
.col-menu .side-menu .sub-menu .menu-item-has-children>a:after{border-color:var(--accent)}

/* fix: ensure side submenus are block (override old display:none), collapsed via [hidden] + height */
.col-menu .side-menu .sub-menu{display:block}
.col-menu .side-menu .sub-menu[hidden]{display:none}

/* =========================================================
   v6 — reliable primary dropdowns (JS .is-open) + polish
   ========================================================= */
#primary-menu .menu-item-has-children.is-open>.sub-menu,
#primary-menu .menu-item-has-children:hover>.sub-menu,
#primary-menu .menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
/* caret on top-level rotates when open */
#primary-menu>li.menu-item-has-children.is-open>a:after{transform:translateY(1px) rotate(-135deg)}
/* nested flyout: open on hover of the sub li */
#primary-menu .sub-menu li.menu-item-has-children:hover>.sub-menu,
#primary-menu .sub-menu li.menu-item-has-children:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
#primary-menu .sub-menu .sub-menu{opacity:0;visibility:hidden;transform:translateY(6px)}

/* little pointer at the top of the dropdown */
#primary-menu>li>.sub-menu:before{content:"";position:absolute;top:-8px;left:22px;width:0;height:0;
	border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--accent)}

/* refined item look */
#primary-menu .sub-menu{padding:5px 0}
#primary-menu .sub-menu>li+li>a{border-top:1px solid #f0e9e9}
#primary-menu .sub-menu a{padding:11px 18px;font-size:13px}

/* keep menu bar above dropdowns edge; ensure stacking */
.main-nav{position:relative;z-index:20}
.main-nav__inner{overflow:visible}

/* desktop hover tint on the top-level item when open */
#primary-menu>li.menu-item-has-children.is-open>a{color:var(--accent);border-bottom-color:var(--accent)}

@media(max-width:1000px){
	#primary-menu>li>.sub-menu:before{display:none}
	#primary-menu .sub-menu .sub-menu{opacity:1;visibility:visible;transform:none}
}

/* v6.1 — force dropdown reveal above any conflicting rule */
#primary-menu>li.menu-item-has-children.is-open>.sub-menu,
#primary-menu>li.menu-item-has-children:hover>.sub-menu,
#primary-menu>li.menu-item-has-children:focus-within>.sub-menu{opacity:1!important;visibility:visible!important;transform:none!important}
#primary-menu .sub-menu li.menu-item-has-children:hover>.sub-menu,
#primary-menu .sub-menu li.menu-item-has-children:focus-within>.sub-menu{opacity:1!important;visibility:visible!important;transform:none!important}
@media(max-width:1000px){
  #primary-menu>li.menu-item-has-children:hover>.sub-menu{visibility:visible!important}
  #primary-menu>li.menu-item-has-children:not(.is-open)>.sub-menu{display:none!important}
  #primary-menu>li.menu-item-has-children.is-open>.sub-menu{display:block!important}
}

/* =========================================================
   v7 — FINAL authoritative side "Меню" accordion
   (overrides all earlier conflicting rules; driven by .open)
   ========================================================= */
.col-menu .side-menu{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line);
	border-radius:6px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.col-menu .side-menu>li{position:relative;border-bottom:1px solid var(--line)}
.col-menu .side-menu>li:last-child{border-bottom:0}
.col-menu .side-menu>li>a{display:block;position:relative;padding:12px 42px 12px 16px!important;
	color:var(--accent)!important;background:#fff!important;
	font:700 14px/1.35 Roboto,Arial,sans-serif!important;text-transform:none!important;
	transition:background .16s ease,color .16s ease}
.col-menu .side-menu>li>a:hover{background:#f3e7e7!important;color:var(--accent-2)!important}
.col-menu .side-menu>li.open>a{background:var(--accent)!important;color:#fff!important}
/* chevron */
.col-menu .side-menu>li>a:after{content:""!important;position:absolute;right:16px;top:50%;width:8px;height:8px;
	border-right:2px solid currentColor;border-bottom:2px solid currentColor;
	transform:translateY(-70%) rotate(45deg);transition:transform .22s ease;opacity:.9}
.col-menu .side-menu>li.open>a:after{transform:translateY(-30%) rotate(-135deg)}
/* submenu (animated height, block; [hidden] collapses) */
.col-menu .side-menu .sub-menu{list-style:none;margin:0;padding:0!important;background:#faf6f6!important;
	overflow:hidden;height:0;transition:height .28s ease;display:block!important;border-top:1px solid var(--line)}
.col-menu .side-menu .sub-menu[hidden]{display:none!important}
.col-menu .side-menu .sub-menu a{display:block;padding:10px 16px 10px 28px!important;color:#333!important;
	background:transparent!important;font:400 13px/1.4 Roboto,Arial,sans-serif!important;
	border-bottom:1px solid rgba(0,0,0,.05);transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.col-menu .side-menu .sub-menu li:last-child>a{border-bottom:0}
.col-menu .side-menu .sub-menu a:hover{background:#fff!important;color:var(--accent)!important;box-shadow:inset 3px 0 0 var(--accent)}
.col-menu .side-menu .sub-menu .sub-menu a{padding-left:40px!important;background:#f4eeee!important}
.col-menu .side-menu .sub-menu .menu-item-has-children>a:after{content:""!important;position:absolute;right:16px;top:50%;
	width:7px;height:7px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);
	transform:translateY(-70%) rotate(45deg);transition:transform .22s}
.col-menu .side-menu .sub-menu .menu-item-has-children.open>a:after{transform:translateY(-30%) rotate(-135deg)}
/* neutralise leftover old side-expand button if any */
.col-menu .side-menu .side-expand{display:none!important}
/* current page item stays neutral (not maroon) unless open */
.col-menu .side-menu>li.current-menu-item>a,.col-menu .side-menu>li.current-menu-ancestor>a{background:#fff!important;color:var(--accent)!important}

/* =========================================================
   v8 — FIX dropdown: single caret + single separator line
   ========================================================= */
/* nested submenu items: one "›" only (reset the border-drawn arrow) */
#primary-menu .sub-menu .menu-item-has-children>a:after{
	content:"\203A"!important;border:0!important;width:auto!important;height:auto!important;
	transform:none!important;position:static!important;top:auto!important;right:auto!important;
	float:right;color:var(--accent)!important;font-weight:700;font-size:16px;line-height:1.1;opacity:1}
/* single separator between items */
#primary-menu .sub-menu a{border-top:0!important;border-bottom:0!important}
#primary-menu .sub-menu>li+li>a{border-top:1px solid #efe6e6!important}
/* keep top-level caret single (down arrow only, no glyph) */
#primary-menu>li.menu-item-has-children>a:after{content:""!important}

/* =========================================================
   v9 — FIX: active/hover underline = maroon (was black #222)
   ========================================================= */
.main-nav .menu>li>a[aria-current=page]:before,
.main-nav .menu>li.current-menu-item>a:before,
.main-nav .menu>li.current-menu-ancestor>a:before,
.main-nav .menu>li:hover>a:before,
#primary-menu>li.menu-item-has-children.is-open>a:before{background:var(--accent)!important;height:3px}
/* remove competing border-bottom indicator so there is ONE maroon line */
#primary-menu>li>a,.main-nav .menu>li>a{border-bottom:0!important}
/* keep the top-level caret maroon too */
.main-nav .menu>li.menu-item-has-children>a:after{border-color:var(--accent)!important}
#primary-menu>li.menu-item-has-children.is-open>a{color:var(--accent)!important}

/* =========================================================
   v10 — search popup: clean floating panel
   ========================================================= */
.main-nav__inner{position:relative}
.search-popup{position:absolute!important;top:calc(100% + 12px);right:6px;left:auto;
	width:min(400px,calc(100vw - 32px));background:#fff!important;padding:14px!important;
	border-radius:8px;border-top:3px solid var(--accent);
	box-shadow:0 16px 40px rgba(0,0,0,.20);z-index:1200}
.search-popup[hidden]{display:none!important}
/* pointer arrow toward the search icon (top-right) */
.search-popup:before{content:"";position:absolute;top:-10px;right:16px;width:0;height:0;
	border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid var(--accent)}
/* form layout */
.search-popup .search-form{display:flex;align-items:stretch;gap:0;margin:0}
.search-popup .search-form label,.search-popup label{flex:1 1 auto;min-width:0;margin:0;display:block}
.search-popup .search-field{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);
	border-right:0;border-radius:7px 0 0 7px;font:400 14px/1.2 Roboto,Arial,sans-serif;color:var(--ink);
	background:#fff;outline:none;transition:border-color .16s,box-shadow .16s}
.search-popup .search-field::placeholder{color:#9aa0aa}
.search-popup .search-field:focus{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.search-popup .search-submit{flex:0 0 auto;padding:12px 22px;background:var(--accent)!important;color:#fff!important;
	border:0;border-radius:0 7px 7px 0;font:700 14px/1.2 Roboto,Arial,sans-serif;cursor:pointer;
	transition:background .16s ease}
.search-popup .search-submit:hover{background:var(--accent-2)!important}
.search-popup .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:767px){
	.search-popup{right:0;left:0;width:auto;margin:0 16px}
	.search-popup:before{right:22px}
}

/* =========================================================
   v11 — search popup closer to icon + AJAX suggestions
   ========================================================= */
.search-popup{right:0!important;left:auto}
.search-popup:before{right:14px}
/* suggestions */
.search-suggest{margin-top:12px;border-top:1px solid var(--line);padding-top:8px;max-height:360px;overflow:auto}
.search-suggest[hidden]{display:none}
.search-suggest .ss-loading,.search-suggest .ss-empty{padding:12px 6px;color:var(--muted);font-size:13px;text-align:center}
.ss-list{display:flex;flex-direction:column}
.ss-item{display:flex;gap:11px;align-items:center;padding:8px;border-radius:7px;color:var(--ink);transition:background .15s ease}
.ss-item:hover{background:#f6efef}
.ss-thumb{flex:0 0 48px;width:48px;height:40px;border-radius:6px;overflow:hidden;background:#ececec}
.ss-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ss-thumb--empty{background:linear-gradient(135deg,#efe6e6,#f6f0f0)}
.ss-body{display:flex;flex-direction:column;min-width:0}
.ss-title{font:600 13px/1.35 Roboto,Arial,sans-serif;color:var(--ink);
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ss-item:hover .ss-title{color:var(--accent)}
.ss-type{font-size:11px;color:var(--muted);margin-top:3px;text-transform:uppercase;letter-spacing:.3px}
.ss-all{display:block;text-align:center;padding:10px;margin-top:6px;border-top:1px solid var(--line);
	color:var(--accent);font-weight:700;font-size:12.5px;transition:background .15s}
.ss-all:hover{background:#f6efef}

/* =========================================================
   v12 — search popup: compact under icon + neutral palette
   ========================================================= */
.search-popup{width:min(340px,calc(100vw - 32px))!important;right:0!important;left:auto!important;
	border:1px solid #e3e5e9!important;border-top:1px solid #e3e5e9!important;border-radius:10px!important;
	box-shadow:0 14px 34px rgba(0,0,0,.13)!important;padding:12px!important}
/* neutral notch (white with subtle border) instead of red triangle */
.search-popup:before{border:0!important;background:#fff;width:14px!important;height:14px!important;
	top:-7px!important;right:14px!important;transform:rotate(45deg);
	border-left:1px solid #e3e5e9!important;border-top:1px solid #e3e5e9!important;
	border-right:0!important;border-bottom:0!important;content:""}
/* input — neutral */
.search-popup .search-field{border:1px solid #d7dbe0!important;border-right:0!important;background:#fff!important}
.search-popup .search-field:focus{border-color:#aeb4bd!important;box-shadow:none!important}
/* button — neutral dark slate instead of maroon */
.search-popup .search-submit{background:var(--dark)!important;color:#fff!important}
.search-popup .search-submit:hover{background:#26242f!important}
/* suggestions — neutral hover */
.ss-item:hover{background:#f4f5f7!important}
.ss-item:hover .ss-title{color:var(--dark)!important}
.ss-all{color:var(--dark)!important}
.ss-all:hover{background:#f4f5f7!important}

/* =========================================================
   v13 — even news cards + search flush to the icon
   ========================================================= */
/* News cards: equal structure, clamped title/excerpt, aligned dates */
.news-grid{align-items:stretch}
.news-card{display:flex;flex-direction:column;height:100%}
.news-card .news-image{margin-bottom:13px}
.news-card h3{display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
	min-height:75px;margin:0 0 8px!important}
.news-card .post-date{order:0;margin-bottom:8px}
.news-excerpt{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin-top:0}
@media(max-width:479px){.news-card h3{min-height:0}}

/* Search popup: flush right edge to the search icon, compact */
.search-popup{width:320px!important;right:-16px!important;left:auto!important}
.search-popup:before{right:26px!important}
@media(max-width:767px){.search-popup{right:0!important;left:auto!important;width:min(340px,calc(100vw - 32px))!important}.search-popup:before{right:18px!important}}

/* v13.1 — align search popup right edge exactly to the icon */
.main-nav .search-toggle{right:0!important}
.search-popup{right:0!important}
.search-popup:before{right:14px!important}
@media(max-width:767px){.search-popup{right:0!important}}

/* =========================================================
   v14 — search suggestions styled like the old site (clean)
   ========================================================= */
.search-suggest{margin-top:10px;border-top:0;padding-top:4px}
.ss-list{display:flex;flex-direction:column}
.ss-item{display:flex;gap:12px;align-items:flex-start;padding:11px 4px;border-bottom:1px solid #ececec;border-radius:0}
.ss-item:last-child{border-bottom:0}
.ss-item:hover{background:transparent!important}
.ss-thumb{flex:0 0 52px;width:52px;height:44px;border-radius:3px;overflow:hidden;background:#ececec;margin-top:2px}
.ss-title{text-transform:uppercase!important;font-weight:700!important;font-size:12px!important;line-height:1.4!important;
	color:#222!important;-webkit-line-clamp:3}
.ss-item:hover .ss-title{color:var(--accent)!important}
.ss-type{text-transform:none!important;color:#a9a9a9!important;font-size:11.5px!important;margin-top:5px!important;letter-spacing:0!important}
.ss-all{display:block;text-align:center;font-style:italic;color:#8a8a8a!important;font-weight:400!important;
	padding:12px 10px 4px;border-top:1px solid #ececec;margin-top:2px}
.ss-all:hover{background:transparent!important;color:var(--accent)!important}

/* =========================================================
   v15 — premium cards: soft shadows + smooth hover
   ========================================================= */
:root{--ease:cubic-bezier(.2,.7,.2,1)}
.news-grid{gap:30px 30px}
.news-card{background:#fff;border:1px solid #edeef0;border-radius:12px;overflow:hidden;
	box-shadow:0 1px 2px rgba(0,0,0,.05);
	transition:transform .3s var(--ease),box-shadow .3s ease,border-color .3s ease}
.news-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -12px rgba(90,20,20,.28);border-color:#e6d8d8}
.news-card .news-image{margin:0;position:relative;overflow:hidden}
.news-card .news-image img{display:block;transition:transform .6s var(--ease)}
.news-card:hover .news-image img{transform:scale(1.07)}
.news-card .news-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.06));opacity:0;transition:opacity .3s}
.news-card:hover .news-image:after{opacity:1}
.news-card .post-cat{transition:background .25s ease}
.news-card:hover .post-cat{background:var(--accent)}
.news-card h3{padding:14px 16px 0!important}
.news-card h3 a{transition:color .2s ease}
.news-card .post-date{padding:6px 16px 0}
.news-excerpt{padding:8px 16px 18px!important;margin-top:0!important}

/* Module lead (Новости/Объявления big item) */
.module-lead .ml-thumb{border-radius:12px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.1);transition:box-shadow .3s ease,transform .3s var(--ease)}
.module-lead .ml-thumb:hover{transform:translateY(-4px);box-shadow:0 20px 40px -12px rgba(90,20,20,.28)}
.module-lead .ml-img{transition:transform .6s var(--ease)}
.module-lead .ml-thumb:hover .ml-img{transform:scale(1.06)}

/* Announcements (sidebar) smooth hover */
.home-announcements .announcement{border-radius:8px;padding:10px 8px!important;margin:0 0 6px!important;
	transition:background .22s ease,transform .22s var(--ease)}
.home-announcements .announcement:hover{background:#f6f7f9;transform:translateX(3px)}
.home-announcements .announcement-img{border-radius:6px;transition:transform .4s var(--ease)}
.home-announcements .announcement:hover .announcement-img{transform:scale(1.05)}
.home-announcements .announcement h3 a{transition:color .2s}
.home-announcements .announcement:hover h3 a{color:var(--accent)}

/* Slider caption: subtle lift of title on hover */
.tnu-swiper .swiper-slide a{overflow:hidden}
.tnu-swiper .slide-img{transition:transform 6s linear}
.tnu-swiper .swiper-slide-active:hover .slide-img{transform:scale(1.05)}

/* Tiles (if present) */
.home-tile img{transition:transform .5s var(--ease)}
.home-tile{overflow:hidden;border-radius:10px}
.home-tile:hover img{transform:scale(1.06)}

/* Focus-visible accessibility ring */
a:focus-visible,button:focus-visible,.search-field:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* =========================================================
   v16 — search popup rebuilt to MATCH the reference exactly
   ========================================================= */
.main-nav .search-toggle{right:0!important}
.search-popup{position:absolute!important;top:calc(100% + 14px)!important;right:0!important;left:auto!important;
	width:360px!important;max-width:calc(100vw - 24px)!important;background:#fff!important;
	border:1px solid #e8e8e8!important;border-radius:5px!important;box-shadow:0 12px 34px rgba(0,0,0,.16)!important;
	padding:16px!important;z-index:1300!important}
.search-popup[hidden]{display:none!important}
/* dark arrow under the icon (points down to panel) */
.search-popup:before{content:""!important;position:absolute!important;top:-10px!important;right:16px!important;left:auto!important;
	width:0!important;height:0!important;background:transparent!important;transform:none!important;
	border-left:10px solid transparent!important;border-right:10px solid transparent!important;
	border-top:10px solid #1a1a1a!important;border-bottom:0!important}
/* search row: input + BLACK button with a gap */
.search-popup .search-form{display:flex!important;align-items:stretch!important;gap:10px!important;margin:0 0 4px!important;
	padding-bottom:14px;border-bottom:1px solid #ededed}
.search-popup .search-form label,.search-popup label{flex:1 1 auto!important;min-width:0!important;margin:0!important;display:block!important}
.search-popup .search-field{width:100%!important;box-sizing:border-box!important;padding:11px 14px!important;
	border:1px solid #d9d9d9!important;border-radius:5px!important;background:#fff!important;
	font:400 14px/1.2 Roboto,Arial,sans-serif!important;color:#222!important;outline:none!important;
	transition:border-color .15s ease!important}
.search-popup .search-field:focus{border-color:#b5b5b5!important;box-shadow:none!important}
.search-popup .search-submit{flex:0 0 auto!important;padding:11px 22px!important;background:#111!important;color:#fff!important;
	border:0!important;border-radius:5px!important;font:700 14px/1.2 Roboto,Arial,sans-serif!important;cursor:pointer!important;
	transition:background .18s ease!important}
.search-popup .search-submit:hover{background:#000!important}
/* suggestions list to match reference */
.search-suggest{margin-top:6px!important;border-top:0!important;padding-top:0!important;max-height:400px;overflow:auto}
.ss-item{display:flex!important;gap:14px!important;align-items:flex-start!important;padding:14px 2px!important;
	border-bottom:1px solid #efefef!important;border-radius:0!important;background:transparent!important}
.ss-item:last-child{border-bottom:0!important}
.ss-thumb{flex:0 0 46px!important;width:46px!important;height:46px!important;border-radius:3px!important;overflow:hidden;background:#ececec;margin-top:2px}
.ss-thumb img{width:100%!important;height:100%!important;object-fit:cover!important}
.ss-title{font:700 12.5px/1.45 Roboto,Arial,sans-serif!important;color:#222!important;text-transform:uppercase!important;
	display:-webkit-box!important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ss-item:hover .ss-title{color:var(--accent)!important}
.ss-type{color:#b3b3b3!important;font:400 11.5px/1 Roboto,Arial,sans-serif!important;margin-top:7px!important;text-transform:none!important}
.ss-all{display:block!important;text-align:center!important;font-style:italic!important;color:#8a8a8a!important;font-weight:400!important;
	padding:14px 10px 2px!important;border-top:1px solid #efefef!important;margin-top:2px}
.ss-all:hover{background:transparent!important;color:var(--accent)!important}

/* =========================================================
   v17 — news cards: bigger images + comfortable bottom space
   ========================================================= */
/* bigger image area (taller than before) */
.news-card .news-image img,.news-grid .news-image img{aspect-ratio:16/10!important;height:auto!important;width:100%!important;object-fit:cover!important}
/* comfortable internal spacing so text never sticks to the bottom */
.news-card h3{padding:16px 18px 0!important;margin-bottom:0!important}
.news-card .post-date{padding:10px 18px 0!important;margin:0!important}
.news-excerpt{padding:10px 18px 22px!important;margin:0!important;-webkit-line-clamp:4}

/* =========================================================
   v18 — search popup pinned to the icon via JS variables
   ========================================================= */
.search-popup{position:fixed!important;top:var(--sx-top,64px)!important;right:var(--sx-right,10px)!important;
	left:auto!important;bottom:auto!important;width:var(--sx-w,360px)!important;max-width:calc(100vw - 20px)!important}
/* remove the notch entirely (clean floating panel) */
.search-popup:before{display:none!important;content:none!important}

/* =========================================================
   v19 — announcements list tidy + consistent
   ========================================================= */
.home-announcements{margin-top:30px;margin-bottom:40px}
.home-announcements .announcement{display:flex!important;gap:13px!important;align-items:flex-start!important;
	padding:13px 8px!important;margin:0!important;border-bottom:1px solid #ececec;border-radius:8px;
	transition:background .2s ease,transform .2s var(--ease)}
.home-announcements .announcement:last-child{border-bottom:0}
.home-announcements .announcement:hover{background:#f6f7f9;transform:translateX(3px)}
.home-announcements .announcement>a{flex:0 0 78px;width:78px;height:58px;border-radius:6px;overflow:hidden;display:block;background:#ececec}
.home-announcements .announcement-img{width:78px!important;height:58px!important;object-fit:cover!important;display:block;
	transition:transform .45s var(--ease)}
.home-announcements .announcement:hover .announcement-img{transform:scale(1.07)}
.home-announcements .announcement>div{min-width:0;flex:1 1 auto;padding-top:1px}
.home-announcements .announcement h3{margin:0 0 6px!important;
	font:700 13px/1.4 Roboto,Arial,sans-serif!important;text-transform:none;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-announcements .announcement h3 a{color:#242424!important;transition:color .2s ease}
.home-announcements .announcement:hover h3 a{color:var(--accent)!important}
.home-announcements .announcement .post-date{color:#a9a9a9!important;font:400 11.5px/1 Roboto,Arial,sans-serif!important}

/* =========================================================
   v20 — news pagination: round arrows + AJAX swap animation
   ========================================================= */
.news-pagination{display:flex!important;align-items:center;justify-content:center;gap:12px!important;margin:30px 0 6px!important}
.news-pagination a,.news-pagination .np-prev,.news-pagination .np-next{
	width:44px!important;height:44px!important;display:inline-flex!important;align-items:center;justify-content:center;
	border:1px solid #e4dada!important;border-radius:50%!important;color:var(--accent)!important;font-size:22px!important;
	line-height:1!important;background:#fff!important;text-decoration:none;opacity:1!important;
	transition:background .22s var(--ease),color .22s ease,border-color .22s ease,transform .22s var(--ease),box-shadow .22s ease}
.news-pagination a:hover{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;
	transform:translateY(-3px);box-shadow:0 10px 22px -8px rgba(90,20,20,.5)}
.news-pagination .is-disabled{opacity:.3!important;cursor:default!important;color:#999!important;box-shadow:none!important;transform:none!important}
.news-pagination .np-info{border:0!important;width:auto!important;height:auto!important;background:transparent!important;
	color:#8a8a8a!important;font:600 13px/1 Roboto,Arial,sans-serif!important;min-width:44px;text-align:center}
/* swap animation */
.news-grid{transition:opacity .2s ease,transform .2s ease}
.news-grid.is-swapping{opacity:0;transform:translateY(10px);pointer-events:none}
@keyframes tnuCardIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.news-grid.is-entered .news-card{animation:tnuCardIn .5s var(--ease) both}

/* =========================================================
   v21 — pagination: square, centered chevrons, edge-aligned,
   directional slide-in (no full disappear)
   ========================================================= */
.news-pagination{display:flex!important;align-items:center;justify-content:flex-start!important;gap:8px!important;margin:30px 0 8px!important}
.news-pagination .np-arr{width:42px!important;height:42px!important;border-radius:0!important;
	border:1px solid #dcdcdc!important;background:#fff!important;color:#333!important;
	display:inline-flex!important;align-items:center!important;justify-content:center!important;
	font-size:0!important;line-height:0!important;padding:0!important;box-shadow:none!important;
	transition:background .18s ease,color .18s ease,border-color .18s ease}
.news-pagination .np-arr:before{content:""!important;display:block;width:9px;height:9px;
	border-top:2px solid currentColor;border-right:2px solid currentColor;box-sizing:border-box}
.news-pagination .np-prev:before{transform:translateX(2px) rotate(-135deg)}
.news-pagination .np-next:before{transform:translateX(-2px) rotate(45deg)}
.news-pagination a.np-arr:hover{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;transform:none!important}
.news-pagination .np-arr.is-disabled{opacity:1!important;color:#cfcfcf!important;border-color:#ececec!important;cursor:default!important}
.news-pagination .np-info{border:0!important;width:auto!important;height:auto!important;background:transparent!important;
	color:#8a8a8a!important;font:600 13px/1 Roboto,Arial,sans-serif!important;padding:0 6px!important;min-width:auto}
.news-pagination.is-busy{opacity:.6;pointer-events:none}
/* directional slide-in (old cards stay until new are ready) */
.news-grid.is-swapping{opacity:1!important;transform:none!important}
@keyframes tnuInR{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes tnuInL{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
.news-grid.enter-right .news-card{animation:tnuInR .42s var(--ease) both}
.news-grid.enter-left .news-card{animation:tnuInL .42s var(--ease) both}

/* =========================================================
   v22 — card padding fix (user) + smooth staggered card swap
   ========================================================= */
/* user's fix: space lives on the card, not on the clamped excerpt
   (padding on a line-clamped box shows a sliver of the next line) */
.news-card{padding-bottom:15px!important}
.news-excerpt{padding:10px 18px 0!important}

/* kill the previous keyframe entrance */
.news-grid.enter-right .news-card,.news-grid.enter-left .news-card{animation:none!important}

/* swap transition: opacity + blur + slide + slight scale, staggered per card */
.news-grid .news-card{transition:transform .45s var(--ease),opacity .45s var(--ease),filter .45s var(--ease),
	box-shadow .3s ease,border-color .3s ease}
.news-grid.is-out .news-card,.news-grid.is-pre .news-card,.news-grid.is-in .news-card{pointer-events:none}
/* leaving */
.news-grid.is-out.dir-next .news-card{opacity:0;filter:blur(6px);transform:translateX(-26px) scale(.97)}
.news-grid.is-out.dir-prev .news-card{opacity:0;filter:blur(6px);transform:translateX(26px) scale(.97)}
/* start position of incoming cards (no transition) */
.news-grid.is-pre .news-card{transition:none!important;opacity:0;filter:blur(6px)}
.news-grid.is-pre.dir-next .news-card{transform:translateX(26px) scale(.97)}
.news-grid.is-pre.dir-prev .news-card{transform:translateX(-26px) scale(.97)}
/* arriving */
.news-grid.is-in .news-card{opacity:1;filter:none;transform:none}

@media (prefers-reduced-motion:reduce){
	.news-grid .news-card{transition:none!important}
}

/* =========================================================
   v23 — mobile header like the original (54px maroon bar,
   crest logo centered, burger left, search right)
   ========================================================= */
.site-banner__logo .logo-mobile,.mob-search,.lang-switcher--mobile{display:none}

@media(max-width:767px){
	.top-strip{display:none!important}
	.site-banner{background:#872727!important;border-bottom:0!important;position:relative;z-index:40;
		box-shadow:0 3px 8px rgba(0,0,0,.28)}
	.site-banner__inner{height:54px!important;min-height:54px!important;padding:0!important;
		display:flex!important;align-items:center!important;justify-content:center!important}
	.site-banner__logo{margin:0!important;max-width:none!important;display:flex;align-items:center;justify-content:center}
	.site-banner__logo .logo-desktop{display:none!important}
	.site-banner__logo .logo-mobile{display:block!important;width:49px!important;height:48px!important;max-height:none!important;margin:0!important}
	/* burger */
	.site-banner .nav-toggle{display:flex!important;position:absolute!important;left:4px!important;top:50%!important;
		transform:translateY(-50%)!important;width:48px;height:48px;padding:0!important;align-items:center;justify-content:center;
		flex-direction:column;gap:5px;background:transparent;border:0}
	.site-banner .nav-toggle span{width:22px!important;height:2px!important;background:#fff!important;border-radius:0!important}
	/* search */
	.mob-search{display:flex!important;position:absolute;right:4px;top:50%;transform:translateY(-50%);
		width:48px;height:48px;align-items:center;justify-content:center;background:transparent;border:0;color:#fff;cursor:pointer;padding:0}
	.mob-search:focus-visible{outline:2px solid #fff;outline-offset:-4px}
	/* white menu bar hidden until the burger opens it */
	.main-nav{display:none!important;border-bottom:1px solid var(--line)}
	.main-nav.open{display:block!important}
	.main-nav .search-toggle{display:none!important}
	.main-nav__inner{min-height:0!important}
	/* languages inside the opened menu */
	.main-nav.open .lang-switcher--mobile{display:flex!important;gap:4px;list-style:none;margin:0;padding:10px 0;border-top:1px solid var(--line)}
	.lang-switcher--mobile a{display:flex;align-items:center;gap:6px;padding:6px 10px;color:#222;font-size:13px;font-weight:600}
	.lang-switcher--mobile .current-lang a{background:#872727;color:#fff}
	.lang-switcher--mobile img{width:18px;height:12px}
	.site-content{padding-top:24px!important}
}

/* v23.1 — popup must not inherit old mobile margins */
.search-popup{margin:0!important}

/* =========================================================
   v24 — in-place loading: cards stay, content blurs +
   shimmer while loading, then un-blurs card by card
   ========================================================= */
.news-grid .news-card{position:relative}
.news-grid .news-card>*{transition:filter .55s var(--ease),opacity .55s var(--ease);transition-delay:var(--d,0ms)}
.news-grid.is-loading .news-card>*{filter:blur(7px);opacity:.7}
.news-grid.is-loading .news-card{pointer-events:none;transform:none!important;box-shadow:0 1px 2px rgba(0,0,0,.05)!important}
/* soft light sweep across each card while loading (not blurred itself) */
.news-grid .news-card::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;
	background:linear-gradient(105deg,rgba(255,255,255,0) 35%,rgba(255,255,255,.65) 50%,rgba(255,255,255,0) 65%);
	background-size:260% 100%;background-position:130% 0;transition:opacity .35s ease;transition-delay:var(--d,0ms)}
.news-grid.is-loading .news-card::before{opacity:1;animation:tnuShimmer 1.25s linear infinite;animation-delay:var(--d,0ms)}
@keyframes tnuShimmer{from{background-position:130% 0}to{background-position:-130% 0}}
/* the old slide/fade swap classes are no longer used */
.news-grid.is-out .news-card,.news-grid.is-pre .news-card,.news-grid.is-in .news-card{opacity:1!important;filter:none!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
	.news-grid .news-card>*,.news-grid .news-card::before{transition:none!important;animation:none!important}
}

/* =========================================================
   v25 — "Полезные ресурсы": infinite marquee of logo tiles
   ========================================================= */
.home-resources{margin:10px 0 56px}
.res-marquee{position:relative;overflow:hidden;padding:20px 0 30px;
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
	mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
.res-track{display:flex;gap:18px;width:max-content;animation:tnuMarquee var(--dur,60s) linear infinite}
.res-marquee:hover .res-track,.res-marquee:focus-within .res-track{animation-play-state:paused}
/* one set = half the track + half a gap */
@keyframes tnuMarquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 9px))}}

.res-card{position:relative;flex:0 0 230px;height:120px;display:flex;align-items:center;justify-content:center;
	background:#fff;border:1px solid #ececec;box-shadow:0 1px 2px rgba(0,0,0,.04);overflow:hidden;text-decoration:none;
	transition:transform .38s var(--ease),box-shadow .38s ease,border-color .38s ease}
.res-logo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:0 20px 8px;
	transition:transform .38s var(--ease)}
.res-logo img{max-height:64px;max-width:190px;width:auto;height:auto;object-fit:contain;
	filter:grayscale(1);opacity:.6;transition:filter .45s ease,opacity .45s ease}
/* maroon domain strip slides up on hover */
.res-host{position:absolute;left:0;right:0;bottom:0;padding:7px 10px;background:var(--accent);color:#fff;
	font:700 10.5px/1 Roboto,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;text-align:center;
	transform:translateY(101%);transition:transform .38s var(--ease)}
/* diagonal light sweep on hover */
.res-card::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:2;pointer-events:none;
	background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.75),rgba(255,255,255,0));
	transform:skewX(-18deg);transition:left .7s var(--ease)}
.res-card:hover,.res-card:focus-visible{transform:translateY(-6px);border-color:#e3d3d3;
	box-shadow:0 18px 34px -14px rgba(90,20,20,.35)}
.res-card:hover .res-logo,.res-card:focus-visible .res-logo{transform:translateY(-10px)}
.res-card:hover .res-logo img,.res-card:focus-visible .res-logo img{filter:none;opacity:1}
.res-card:hover .res-host,.res-card:focus-visible .res-host{transform:none}
.res-card:hover::before{left:130%}
.res-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

@media(max-width:767px){
	.res-card{flex-basis:180px;height:100px}
	.res-logo img{max-width:150px;max-height:52px}
}
/* reduced motion: no auto-scroll, swipeable row instead */
@media (prefers-reduced-motion:reduce){
	.res-track{animation:none}
	.res-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
	.res-track [aria-hidden="true"]{display:none}
}

/* =========================================================
   v26 — side menu: chevron only on items that have a submenu
   ========================================================= */
.col-menu .side-menu li:not(.menu-item-has-children)>a:after{content:none!important;display:none!important}
.col-menu .side-menu>li:not(.menu-item-has-children)>a{padding-right:16px!important}

/* =========================================================
   v27 — lightbox / gallery for content photos
   ========================================================= */
.tnu-broken{display:none!important}                      /* broken images in old posts */
.entry-content img.tnu-zoomable{cursor:zoom-in;transition:filter .25s ease,opacity .25s ease}
.entry-content img.tnu-zoomable:hover{filter:brightness(.92)}
html.tnu-lb-open{overflow:hidden}

.tnu-lb{position:fixed;inset:0;z-index:5000;display:grid;
	grid-template-columns:72px minmax(0,1fr) 72px;grid-template-rows:56px minmax(0,1fr) auto auto;
	grid-template-areas:"bar bar bar" "prev stage next" ". cap ." "thumbs thumbs thumbs";
	background:rgba(14,11,11,.93);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
	opacity:0;transition:opacity .26s ease}
.tnu-lb[hidden]{display:none}
.tnu-lb.is-open{opacity:1}
.tnu-lb.is-single{grid-template-rows:56px minmax(0,1fr) auto 18px}
.tnu-lb.is-single .tnu-lb__nav,.tnu-lb.is-single .tnu-lb__thumbs{display:none}

/* top bar */
.tnu-lb__bar{grid-area:bar;display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 20px}
.tnu-lb__count{color:rgba(255,255,255,.8);font:600 13px/1 Roboto,Arial,sans-serif;letter-spacing:1px}

/* square buttons (no rounding, like the rest of the site) */
.tnu-lb__btn{width:48px;height:48px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);
	color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;
	transition:background .18s ease,border-color .18s ease}
.tnu-lb__btn:hover,.tnu-lb__btn:focus-visible{background:var(--accent);border-color:var(--accent);outline:none}
.tnu-lb__close:before,.tnu-lb__close:after{content:"";position:absolute;width:20px;height:2px;background:currentColor}
.tnu-lb__close{position:relative}
.tnu-lb__close:before{transform:rotate(45deg)}.tnu-lb__close:after{transform:rotate(-45deg)}
.tnu-lb__nav{align-self:center;justify-self:center;width:52px;height:52px}
.tnu-lb__prev{grid-area:prev}.tnu-lb__next{grid-area:next}
.tnu-lb__nav:before{content:"";width:12px;height:12px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.tnu-lb__prev:before{transform:translateX(3px) rotate(-135deg)}
.tnu-lb__next:before{transform:translateX(-3px) rotate(45deg)}

/* stage + image */
.tnu-lb__stage{grid-area:stage;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:6px 0}
.tnu-lb__img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;
	box-shadow:0 30px 80px -20px rgba(0,0,0,.7);transition:transform .38s cubic-bezier(.2,.7,.2,1),filter .35s ease;
	user-select:none;-webkit-user-drag:none}
.tnu-lb__stage.is-lowres .tnu-lb__img{filter:blur(6px) saturate(.9)}
.tnu-lb__stage.in-next .tnu-lb__img{animation:tnuLbNext .38s cubic-bezier(.2,.7,.2,1)}
.tnu-lb__stage.in-prev .tnu-lb__img{animation:tnuLbPrev .38s cubic-bezier(.2,.7,.2,1)}
.tnu-lb__stage.in-zoom .tnu-lb__img{animation:tnuLbZoom .32s cubic-bezier(.2,.7,.2,1)}
@keyframes tnuLbNext{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:none}}
@keyframes tnuLbPrev{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:none}}
@keyframes tnuLbZoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
/* loading indicator: thin maroon line under the image */
.tnu-lb__spin{position:absolute;left:50%;bottom:0;width:120px;height:2px;margin-left:-60px;overflow:hidden;background:rgba(255,255,255,.12)}
.tnu-lb__spin:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:var(--accent);animation:tnuLbLoad 1s ease-in-out infinite}
.tnu-lb__spin[hidden]{display:none}
@keyframes tnuLbLoad{from{left:-40%}to{left:100%}}

/* caption */
.tnu-lb__cap{grid-area:cap;color:rgba(255,255,255,.85);font:400 14px/1.45 Roboto,Arial,sans-serif;text-align:center;padding:10px 12px 0;max-width:900px;justify-self:center}
.tnu-lb__cap[hidden]{display:none}

/* thumbnails strip */
.tnu-lb__thumbs{grid-area:thumbs;display:flex;gap:6px;overflow-x:auto;padding:12px 16px 16px;justify-content:safe center;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent}
.tnu-lb__thumbs button{flex:0 0 76px;height:54px;padding:0;border:2px solid transparent;background:#222;cursor:pointer;opacity:.45;
	transition:opacity .2s ease,border-color .2s ease}
.tnu-lb__thumbs button:hover{opacity:.85}
.tnu-lb__thumbs button.is-active{opacity:1;border-color:var(--accent)}
.tnu-lb__thumbs img{width:100%;height:100%;object-fit:cover;display:block}

@media(max-width:767px){
	.tnu-lb{grid-template-columns:0 minmax(0,1fr) 0;grid-template-rows:52px minmax(0,1fr) auto auto}
	.tnu-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:rgba(0,0,0,.45);z-index:2}
	.tnu-lb__prev{left:6px}.tnu-lb__next{right:6px}
	.tnu-lb__thumbs button{flex-basis:60px;height:44px}
}
@media (prefers-reduced-motion:reduce){
	.tnu-lb,.tnu-lb__img{transition:none!important;animation:none!important}
}

/* v28 — side menu chevron: user's sizes (thin, small) */
.col-menu .side-menu .menu-item-has-children>a:after{width:4px!important;height:4px!important;
	border-right:1px solid currentColor!important;border-bottom:1px solid currentColor!important}

/* =========================================================
   v29 — CONTENT SYSTEM for all posts & pages
   (normalises legacy content from Word / TinyMCE / Gutenberg)
   ========================================================= */
/* page / article header */
.single-head{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #ececec}
.single-head .single-title{font:700 30px/1.25 Roboto,Arial,sans-serif!important;color:#1a1a1a!important;margin:0 0 10px!important}
.single-head .single-title:only-child{margin-bottom:0!important}
.single-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:#9a9a9a;font-size:12.5px;margin:0}
.single-featured img{display:block;width:100%;height:auto}
.single-featured{margin:0 0 22px}

/* base text */
.entry-content{font:400 16px/1.75 Roboto,Arial,sans-serif!important;color:#262626;overflow-wrap:break-word}
.entry-content>*:first-child{margin-top:0}
.entry-content p{margin:0 0 1.05em}
.entry-content .is-empty{display:none}
.entry-content strong,.entry-content b{font-weight:700}
.entry-content::after{content:"";display:table;clear:both}

/* neutralise pasted Word / PDF / TinyMCE formatting */
.entry-content [style*="font-family"],.entry-content .fontstyle0,.entry-content .fontstyle1,.entry-content .fontstyle2,.entry-content font{font-family:inherit!important}
.entry-content p[style*="font-size"],.entry-content li[style*="font-size"],.entry-content td[style*="font-size"],
.entry-content span[style*="font-size"],.entry-content strong[style*="font-size"],.entry-content em[style*="font-size"],
.entry-content .fontstyle0,.entry-content .fontstyle1,.entry-content .fontstyle2,.entry-content font[size]{font-size:inherit!important;line-height:inherit!important}
.entry-content [style*="background-color: rgb(255, 255, 255)"],.entry-content [style*="background-color:#fff"],
.entry-content [style*="background-color: #fff"],.entry-content [style*="background-color: #FFF"],
.entry-content [style*="background-color: #ffffff"],.entry-content [style*="background-color:#ffffff"],
.entry-content [style*="background-color: white"],.entry-content [style*="background: white"]{background-color:transparent!important}
/* editor "blue" text becomes the brand colour */
.entry-content .has-vivid-cyan-blue-color,.entry-content .has-pale-cyan-blue-color,.entry-content .has-cyan-bluish-gray-color{color:var(--accent)!important}

/* headings */
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{
	font-family:Roboto,Arial,sans-serif!important;color:#1a1a1a;line-height:1.3;font-weight:700;margin:1.6em 0 .6em}
.entry-content h1{font-size:1.75em}
.entry-content h2{font-size:1.45em;position:relative;padding-left:14px}
.entry-content h2:before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;background:var(--accent)}
.entry-content h2.has-text-align-center,.entry-content h2[style*="center"]{padding-left:0}
.entry-content h2.has-text-align-center:before,.entry-content h2[style*="center"]:before{display:none}
.entry-content h3{font-size:1.25em}
.entry-content h4{font-size:1.12em}
.entry-content h5{font-size:.95em;text-transform:uppercase;letter-spacing:.6px}
.entry-content h6{font-size:.9em;color:#6b6b6b}

/* links: one colour, animated underline */
.entry-content a,.entry-content a *{text-decoration:none!important}
.entry-content a{color:var(--accent);background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;
	background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s ease,color .2s ease}
.entry-content a:hover{color:var(--accent-2);background-size:100% 1px}
.entry-content a *{color:inherit!important}
.entry-content a:has(img){background:none}

/* file links: format badge */
.entry-content a.file-link:before{content:attr(data-ext);display:inline-flex;align-items:center;justify-content:center;
	min-width:36px;height:20px;padding:0 5px;margin-right:9px;font:700 10px/1 Roboto,Arial,sans-serif;letter-spacing:.5px;
	color:#fff;background:var(--accent);vertical-align:2px;flex:0 0 auto}
.entry-content a.file-link[data-ext="DOC"]:before{background:#2b579a}
.entry-content a.file-link[data-ext="XLS"]:before{background:#217346}
.entry-content a.file-link[data-ext="PPT"]:before{background:#c43e1c}
.entry-content a.file-link[data-ext="ZIP"]:before,.entry-content a.file-link[data-ext="RTF"]:before{background:#555}

/* paragraphs that are just a link -> tidy rows */
.entry-content p.is-link-row{margin:0;border-bottom:1px solid #ececec;text-align:left!important}
.entry-content p.link-run-start{border-top:1px solid #ececec;margin-top:.5em}
.entry-content p.link-run-end{margin-bottom:1.5em}
.entry-content p.is-link-row>a{display:flex;align-items:center;position:relative;padding:12px 40px 12px 12px;
	color:#222;font-weight:500;line-height:1.45;background:none!important;transition:background-color .2s ease,color .2s ease,padding .25s ease}
.entry-content p.is-link-row>a:after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;
	border-top:1.5px solid var(--accent);border-right:1.5px solid var(--accent);transform:translateY(-50%) rotate(45deg);transition:right .25s ease}
.entry-content p.is-link-row>a:hover{background-color:#f7f1f1!important;color:var(--accent);padding-left:16px}
.entry-content p.is-link-row>a:hover:after{right:12px}

/* lists (not galleries) */
.entry-content ul:not(.blocks-gallery-grid):not(.wp-block-gallery),.entry-content ol{margin:0 0 1.2em;padding-left:1.5em}
.entry-content ul:not(.blocks-gallery-grid):not(.wp-block-gallery):not([style*="list-style-type"]){list-style:none;padding-left:1.4em}
.entry-content ul:not(.blocks-gallery-grid):not(.wp-block-gallery):not([style*="list-style-type"])>li{position:relative}
.entry-content ul:not(.blocks-gallery-grid):not(.wp-block-gallery):not([style*="list-style-type"])>li:before{
	content:"";position:absolute;left:-1.1em;top:.72em;width:6px;height:6px;background:var(--accent)}
.entry-content li{margin:.35em 0}
.entry-content ol>li::marker{color:var(--accent);font-weight:700}
.entry-content li>ul,.entry-content li>ol{margin:.3em 0}

/* tables */
.entry-content .table-scroll,.entry-content .wp-block-table{overflow-x:auto;margin:0 0 1.5em;-webkit-overflow-scrolling:touch}
.entry-content table{width:100%!important;border-collapse:collapse;margin:0;font-size:.94em;background:#fff}
.entry-content table:not(.is-layout) th,.entry-content table:not(.is-layout) td{border:1px solid #e3e3e3!important;padding:10px 12px;vertical-align:top}
.entry-content table:not(.is-layout) thead th,.entry-content table:not(.is-layout) thead td{background:var(--accent);color:#fff;font-weight:700;border-color:var(--accent)!important}
.entry-content table:not(.is-layout) tbody tr:nth-child(even) td{background:#faf7f7}
.entry-content table:not(.is-layout) tbody tr:hover td{background:#f3eaea}
.entry-content table [style*="height"]{height:auto!important}
.entry-content table p{margin:0 0 .4em}
.entry-content table p:last-child{margin:0}
.entry-content table.is-layout,.entry-content table.is-layout td,.entry-content table.is-layout th{border:0!important;background:none!important}
.entry-content table.is-layout td{padding:8px;vertical-align:top;text-align:center}

/* images & figures */
.entry-content img{max-width:100%;height:auto!important}
.entry-content figure{margin:0 0 1.5em;max-width:100%}
.entry-content figcaption,.entry-content .wp-element-caption,.entry-content .wp-caption-text{
	font-size:13px!important;line-height:1.45;color:#808080;text-align:center;font-style:italic;margin-top:8px}
.entry-content .alignleft{float:left;margin:.3em 1.5em 1em 0;max-width:50%}
.entry-content .alignright{float:right;margin:.3em 0 1em 1.5em;max-width:50%}
.entry-content .aligncenter{margin-left:auto;margin-right:auto;text-align:center}
.entry-content .wp-caption{max-width:100%}
/* galleries: tidy tiles + hover */
.entry-content .wp-block-gallery .wp-block-image,.entry-content .blocks-gallery-item{overflow:hidden}
.entry-content .wp-block-gallery img,.entry-content .blocks-gallery-item img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.entry-content .wp-block-gallery .wp-block-image:hover img,.entry-content .blocks-gallery-item:hover img{transform:scale(1.05)}

/* separators, quotes, highlights, embeds */
.entry-content hr,.entry-content .wp-block-separator{border:0!important;height:1px;background:linear-gradient(90deg,transparent,#dccfcf 18%,#dccfcf 82%,transparent);
	margin:2.2em 0;position:relative;overflow:visible;opacity:1}
.entry-content hr:after,.entry-content .wp-block-separator:after{content:"";position:absolute;left:50%;top:50%;width:7px;height:7px;
	background:var(--accent);transform:translate(-50%,-50%) rotate(45deg)}
.entry-content blockquote{margin:1.5em 0;padding:14px 20px;border-left:4px solid var(--accent);background:#faf6f6;font-style:italic;color:#333}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content mark:not([style*="background"]){background:#f6e4e4;color:inherit;padding:0 .2em}
.entry-content iframe{max-width:100%}
.entry-content .wp-block-embed__wrapper iframe,.entry-content iframe[src*="youtube"]{width:100%!important;height:auto!important;aspect-ratio:16/9}
.entry-content .wp-block-embed{margin:0 0 1.5em}
.entry-content pre,.entry-content code{font-family:Consolas,Menlo,monospace;background:#f5f5f5;font-size:.9em}
.entry-content pre{padding:12px 14px;overflow:auto}

@media(max-width:767px){
	.single-head .single-title{font-size:24px!important}
	.entry-content{font-size:15.5px!important}
	.entry-content .alignleft,.entry-content .alignright{float:none;margin:0 auto 1em;max-width:100%}
	.entry-content p.is-link-row>a{padding:11px 34px 11px 8px}
}

/* v29.1 — detected header rows & legacy row heights */
.entry-content table:not(.is-layout) tr.is-head td,.entry-content table:not(.is-layout) tr.is-head th{background:var(--accent)!important;color:#fff!important;border-color:#8e1a1d!important;vertical-align:middle}
.entry-content table:not(.is-layout) tr.is-head *{color:#fff!important}
.entry-content table tr[style*="height"]{height:auto!important}
.entry-content table td p[align="center"]{text-align:center}
/* v29.2 — link rows through wrappers, colour classes inside links, image badge */
.entry-content a [class*="color"],.entry-content a [style*="color"]{color:inherit!important}
.entry-content a mark{background:none!important;padding:0}
.entry-content p.is-link-row>*:not(a){color:inherit!important}
.entry-content p.is-link-row a.row-link{display:flex;align-items:center;position:relative;padding:12px 40px 12px 12px;
	color:#222;font-weight:500;line-height:1.45;background:none!important;transition:background-color .2s ease,color .2s ease,padding .25s ease}
.entry-content p.is-link-row a.row-link:after{content:"";position:absolute;right:16px;top:50%;width:7px;height:7px;
	border-top:1.5px solid var(--accent);border-right:1.5px solid var(--accent);transform:translateY(-50%) rotate(45deg);transition:right .25s ease}
.entry-content p.is-link-row a.row-link:hover{background-color:#f7f1f1!important;color:var(--accent)}
.entry-content p.is-link-row a.row-link:hover{padding-left:16px}
.entry-content p.is-link-row a.row-link:hover:after{right:12px}
.entry-content a.file-link[data-ext="IMG"]:before{background:#6b6b6b}
@media(max-width:767px){.entry-content p.is-link-row a.row-link{padding:11px 34px 11px 8px}}
/* =========================================================
   v30 — related posts, scrollable tables, facts tables, forms
   ========================================================= */
/* chips never escape their card */
.post-item,.post-thumb-link{position:relative}
.single-head .post-cat{display:inline-block;margin-bottom:12px}

/* --- related posts --- */
.block-related{margin-top:44px}
.block-related .cards-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
.block-related .post-item{display:flex!important;flex-direction:column;background:#fff;margin:0!important;
	box-shadow:0 1px 2px rgba(0,0,0,.06),0 6px 18px -10px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.block-related .post-item:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(0,0,0,.06),0 18px 34px -16px rgba(0,0,0,.35)}
.block-related .post-thumb-link{display:block;aspect-ratio:16/10;overflow:hidden;background:#f1eeee}
.block-related .post-thumb-link img{width:100%!important;height:100%!important;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.block-related .post-item:hover .post-thumb-link img{transform:scale(1.06)}
.block-related .post-thumb-link .post-cat{display:none!important}
.block-related .post-body{padding:12px 14px 16px!important;display:flex;flex-direction:column;flex:1}
.block-related .post-title{font:700 14.5px/1.4 Roboto,Arial,sans-serif!important;text-transform:none!important;margin:0 0 8px!important;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.block-related .post-title a{color:#1a1a1a!important;transition:color .2s ease}
.block-related .post-item:hover .post-title a{color:var(--accent)!important}
.block-related .post-meta{font-size:12px!important;color:#9a9a9a;margin:0 0 8px}
.block-related .post-excerpt{font:400 13px/1.55 Roboto,Arial,sans-serif!important;color:#666;margin:0;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1000px){.block-related .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.block-related .cards-grid{grid-template-columns:1fr!important}
	.block-related .post-thumb-link{aspect-ratio:16/9}}

/* --- tables: bounded height, sticky header, tidy scrollbars --- */
.entry-content .table-scroll,.entry-content .wp-block-table{max-height:72vh;overflow:auto;border:1px solid #e3e3e3;
	scrollbar-width:thin;scrollbar-color:#b98b8c #f3eeee;position:relative}
.entry-content .wp-block-table table,.entry-content .table-scroll table{border-style:hidden!important}
.entry-content .table-scroll::-webkit-scrollbar,.entry-content .wp-block-table::-webkit-scrollbar{width:8px;height:8px}
.entry-content .table-scroll::-webkit-scrollbar-track,.entry-content .wp-block-table::-webkit-scrollbar-track{background:#f3eeee}
.entry-content .table-scroll::-webkit-scrollbar-thumb,.entry-content .wp-block-table::-webkit-scrollbar-thumb{background:#c9a3a4}
.entry-content .table-scroll::-webkit-scrollbar-thumb:hover,.entry-content .wp-block-table::-webkit-scrollbar-thumb:hover{background:var(--accent)}
.entry-content .table-scroll::-webkit-scrollbar-button,.entry-content .wp-block-table::-webkit-scrollbar-button{display:none}
.entry-content table:not(.is-layout) thead th,.entry-content table:not(.is-layout) thead td,
.entry-content table:not(.is-layout) tr.is-head td,.entry-content table:not(.is-layout) tr.is-head th{position:sticky;top:0;z-index:2}
.entry-content table:not(.is-layout) td,.entry-content table:not(.is-layout) th{min-width:90px}
.entry-content .wp-block-table figcaption,.entry-content .wp-block-table .wp-element-caption{position:sticky;left:0;padding:8px 12px;margin:0;background:#fff}
.entry-content figure.wp-block-table{margin-bottom:1.5em}

/* facts table: label + big number */
.entry-content table.is-stats{font-size:14px}
.entry-content table.is-stats td,.entry-content table.is-stats th{padding:14px 16px!important;vertical-align:top;background:#fff!important;min-width:140px}
.entry-content table.is-stats tbody tr:hover td{background:#fbf6f6!important}
.entry-content table.is-stats .st-label{display:block;color:#6b6b6b;font-size:13px;line-height:1.4;font-weight:500}
.entry-content table.is-stats .st-num{display:block;margin-top:4px;color:var(--accent);font:700 24px/1.1 Roboto,Arial,sans-serif;letter-spacing:-.3px}
.entry-content table.is-stats td.st-group{background:#faf5f5!important}
.entry-content table.is-stats td.st-group .st-label{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:12px}

/* --- forms (Contact Form 7 and any form in content) --- */
.entry-content .wpcf7{max-width:640px;margin:10px 0 30px;padding:28px 30px 30px;background:#fff;border:1px solid #ececec;border-top:3px solid var(--accent);
	box-shadow:0 10px 30px -18px rgba(0,0,0,.3)}
.entry-content .wpcf7 form>p{margin:0 0 18px}
.entry-content .wpcf7 label{display:block;font:500 13px/1.4 Roboto,Arial,sans-serif;color:#444;letter-spacing:.2px}
.entry-content .wpcf7 label br{display:none}
.entry-content .wpcf7-form-control-wrap{display:block;margin-top:7px}
.entry-content .wpcf7 input[type=text],.entry-content .wpcf7 input[type=email],.entry-content .wpcf7 input[type=tel],
.entry-content .wpcf7 input[type=url],.entry-content .wpcf7 input[type=number],.entry-content .wpcf7 input[type=date],
.entry-content .wpcf7 select,.entry-content .wpcf7 textarea,
.entry-content form:not(.search-form) input[type=text],.entry-content form:not(.search-form) input[type=email],.entry-content form:not(.search-form) textarea{
	width:100%;box-sizing:border-box;height:44px;padding:0 14px;font:400 15px/1.4 Roboto,Arial,sans-serif;color:#222;background:#fafafa;
	border:1px solid #dcdcdc;border-radius:0;outline:0;-webkit-appearance:none;appearance:none;
	transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.entry-content .wpcf7 textarea,.entry-content form:not(.search-form) textarea{height:150px;padding:12px 14px;resize:vertical}
.entry-content .wpcf7 input:hover,.entry-content .wpcf7 textarea:hover,.entry-content .wpcf7 select:hover{border-color:#bdbdbd}
.entry-content .wpcf7 input:focus,.entry-content .wpcf7 textarea:focus,.entry-content .wpcf7 select:focus{
	border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(165,29,33,.12)}
.entry-content .wpcf7 input[type=submit],.entry-content form:not(.search-form) input[type=submit],.entry-content form:not(.search-form) button[type=submit]{
	display:inline-flex;align-items:center;height:46px;padding:0 34px;border:0;border-radius:0;cursor:pointer;
	font:700 13px/1 Roboto,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#fff;
	background:linear-gradient(0deg,#863030,#8a0707 50%,#9c2828);box-shadow:0 8px 18px -10px rgba(138,7,7,.8);
	transition:filter .2s ease,transform .2s ease,box-shadow .2s ease}
.entry-content .wpcf7 input[type=submit]:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 12px 22px -10px rgba(138,7,7,.85)}
.entry-content .wpcf7 input[type=submit]:active{transform:none}
.entry-content .wpcf7 input[type=submit]:disabled{opacity:.6;cursor:default}
.entry-content .wpcf7-spinner{margin:0 0 0 14px;vertical-align:middle}
.entry-content .wpcf7-not-valid{border-color:#c0392b!important;background:#fdf5f5!important}
.entry-content .wpcf7-not-valid-tip{display:block;margin-top:5px;font-size:12px;color:#c0392b}
.entry-content .wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:12px 14px;border:0;border-left:3px solid #999;background:#f6f6f6;font-size:14px}
.entry-content .wpcf7 form.sent .wpcf7-response-output{border-left-color:#2e7d32;background:#f0f7f0;color:#1e5b22}
.entry-content .wpcf7 form.invalid .wpcf7-response-output,.entry-content .wpcf7 form.failed .wpcf7-response-output,
.entry-content .wpcf7 form.unaccepted .wpcf7-response-output{border-left-color:#c0392b;background:#fdf3f3;color:#8e2a20}
.entry-content .wpcf7 .wpcf7-list-item{margin:0 16px 6px 0}
.entry-content .wpcf7 input[type=checkbox],.entry-content .wpcf7 input[type=radio]{accent-color:var(--accent);width:16px;height:16px;vertical-align:-3px;margin-right:6px}
@media(max-width:600px){.entry-content .wpcf7{padding:20px 16px}.entry-content .wpcf7 input[type=submit]{width:100%;justify-content:center}}

.block-related .post-cat{display:none!important}
.post-item>.post-cat{position:absolute!important;left:0!important;top:0!important;bottom:auto!important;right:auto!important;z-index:2;margin:0!important}
body.category .post-item>.post-cat{display:none!important}
/* v31 — active side-menu item, uniform link rows */
.col-menu .side-menu .sub-menu .current-menu-item>a,
.col-menu .side-menu .sub-menu .current_page_item>a{color:var(--accent)!important;font-weight:700!important;
	background:#fff!important;box-shadow:inset 3px 0 0 var(--accent)!important;position:relative}
.col-menu .side-menu .sub-menu .current-menu-item>a:before,
.col-menu .side-menu .sub-menu .current_page_item>a:before{content:"";position:absolute;right:16px;top:50%;width:6px;height:6px;
	background:var(--accent);transform:translateY(-50%) rotate(45deg)}
.col-menu .side-menu>.current-menu-item>a,.col-menu .side-menu>.current_page_item>a{color:var(--accent)!important;font-weight:700!important}
.entry-content p.is-link-row a.row-link strong,.entry-content p.is-link-row a.row-link b,
.entry-content p.is-link-row>strong,.entry-content p.is-link-row>b{font-weight:inherit!important}
.entry-content p.is-link-row{font-size:inherit!important}
/* =========================================================
   v32 — article header, breadcrumbs, partners
   ========================================================= */
/* breadcrumbs */
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font:400 12.5px/1.5 Roboto,Arial,sans-serif!important;color:#9a9a9a;margin:0 0 18px!important;min-width:0}
.breadcrumbs a{color:#777!important;transition:color .2s ease}
.breadcrumbs a:hover{color:var(--accent)!important}
.breadcrumbs>span{color:#c9c9c9;font-size:13px}
.breadcrumbs .bc-current{font-style:normal;color:#aaa;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 0}

/* article / page header */
.single-head{position:relative;margin:0 0 26px!important;padding:0 0 22px!important;border-bottom:1px solid #e9e9e9!important}
.single-head:after{content:"";position:absolute;left:0;bottom:-1px;width:64px;height:3px;background:var(--accent)}
.single-head .post-cat{position:static!important;display:inline-flex!important;align-items:center;height:24px;padding:0 10px!important;margin:0 0 14px!important;
	background:var(--accent)!important;color:#fff!important;font:700 11px/1 Roboto,Arial,sans-serif!important;letter-spacing:.8px;text-transform:uppercase;
	transition:background-color .2s ease}
.single-head .post-cat:hover{background:#7c1518!important}
.single-head .single-title{font:700 32px/1.22 Roboto,Arial,sans-serif!important;letter-spacing:-.3px;color:#161616!important;margin:0 0 14px!important;text-wrap:balance}
.single-page .single-head .single-title{margin-bottom:0!important}
.single-meta{display:flex!important;flex-wrap:wrap;align-items:center;gap:8px 22px!important;margin:0!important;font:400 13px/1 Roboto,Arial,sans-serif!important;color:#8a8a8a!important}
.single-meta .meta-item{display:inline-flex;align-items:center;gap:7px}
.single-meta svg{width:15px;height:15px;color:var(--accent);flex:0 0 auto}
.single-meta .post-date{font-size:inherit!important;color:inherit!important}
.single-meta .post-date:before,.single-meta .single-author{display:none!important}
.single-featured{margin:0 0 26px!important;overflow:hidden;background:#f3f0f0}
.single-featured img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover}
@media(max-width:767px){
	.single-head .single-title{font-size:24px!important}
	.single-head{padding-bottom:18px!important;margin-bottom:20px!important}
}

/* partners */
.home-partners .partner-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:4px}
.partner-card{display:flex;flex-direction:column;background:#fff;border:1px solid #ececec;text-decoration:none!important;color:#333;
	transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;position:relative;overflow:hidden}
.partner-card:before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--accent);transition:width .45s cubic-bezier(.2,.7,.2,1);z-index:1}
.partner-card:hover{transform:translateY(-4px);border-color:#e2d6d6;box-shadow:0 16px 30px -18px rgba(90,10,12,.45)}
.partner-card:hover:before{width:100%}
.partner-logo{height:96px;display:flex;align-items:center;justify-content:center;padding:14px}
.partner-logo img{max-width:100%;max-height:68px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .4s ease,opacity .4s ease,transform .4s ease}
.partner-card:hover .partner-logo img{filter:none;opacity:1;transform:scale(1.05)}
.partner-card.is-mono .partner-logo{background:linear-gradient(135deg,#faf6f6,#f1e8e8)}
.partner-logo b{font:900 22px/1 Roboto,Arial,sans-serif;letter-spacing:1.5px;color:#b9a2a3;transition:color .35s ease,letter-spacing .35s ease}
.partner-card:hover .partner-logo b{color:var(--accent);letter-spacing:2.5px}
.partner-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em;padding:9px 12px 11px;border-top:1px solid #f0f0f0;
	font:500 12px/1.45 Roboto,Arial,sans-serif;color:#555;text-align:center;transition:color .25s ease}
.partner-card:hover .partner-name{color:var(--accent)}
@media(max-width:480px){.home-partners .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* v32.1 — no rounded corners anywhere (site rule); names up to 3 lines */
.home-tile,.home-tile img,.home-tile:before,.home-tile:after,.announcement,.announcement-img,.news-card,.news-card img,.news-image,
.masthead__search,.search-popup,.search-popup input,.search-field,.search-submit,.search-suggest,.search-suggest *,
.side-menu,.side-menu .sub-menu,.sub-menu,.main-nav .sub-menu,.res-card,.res-logo,.partner-card,.post-item,.post-item img,
.entry-content img,.entry-content figure,.entry-content iframe,.wp-block-image img,.wp-block-gallery img,.wp-block-button__link,
.home-main a,.col-menu a,.np-arr,.news-pager *,input,textarea,select,button{border-radius:0!important}
.partner-name{-webkit-line-clamp:3;min-height:4.35em}
html body .search-popup .search-field,html body .search-popup .search-submit,html body .search-popup input{border-radius:0!important}

/* =========================================================
   v33 — partners logo marquee, category archive, numbered pager
   ========================================================= */
/* partners: full-colour logos sliding the opposite way to "Useful resources" */
.partner-marquee{padding:18px 0 26px}
.partner-marquee .res-track{gap:16px;animation-direction:reverse}
.partner-marquee .partner-card{flex:0 0 auto;width:200px;height:118px;display:flex;align-items:center;justify-content:center;
	background:#fff;border:1px solid #ececec;box-shadow:0 1px 2px rgba(0,0,0,.04);position:relative;overflow:hidden;
	transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease,border-color .4s ease}
.partner-marquee .partner-card:before{content:"";position:absolute;left:0;bottom:0;top:auto;height:3px;width:0;background:var(--accent);transition:width .45s cubic-bezier(.2,.7,.2,1)}
.partner-marquee .partner-card:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
	background:linear-gradient(100deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-18deg);transition:left .7s ease;pointer-events:none}
.partner-marquee .partner-card:hover{transform:translateY(-5px);border-color:#e3d7d7;box-shadow:0 18px 32px -18px rgba(90,10,12,.45)}
.partner-marquee .partner-card:hover:before{width:100%}
.partner-marquee .partner-card:hover:after{left:130%}
.partner-marquee .partner-logo{width:100%;height:100%;padding:16px 22px;background:none!important;display:flex;align-items:center;justify-content:center}
.partner-marquee .partner-logo img{max-width:100%;max-height:84px;width:auto;height:auto;object-fit:contain;filter:none!important;opacity:1!important;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.partner-marquee .partner-card:hover .partner-logo img{transform:scale(1.07)}
.partner-marquee .partner-card.is-mono .partner-logo b{font:900 26px/1 Roboto,Arial,sans-serif;letter-spacing:2px;color:var(--accent)}
.partner-marquee .partner-name{display:none!important}
@media(max-width:480px){.partner-marquee .partner-card{width:150px;height:92px}.partner-marquee .partner-logo img{max-height:62px}}

/* category archive */
.archive-header .single-meta{margin-top:2px!important}
.archive-header .archive-desc{margin-top:14px;color:#666;font-size:14.5px;line-height:1.6}
.archive-header .archive-desc p{margin:0}
.arch-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important}
.arch-grid .news-card h3{font:700 16px/1.38 Roboto,Arial,sans-serif!important;text-transform:none;-webkit-line-clamp:3}
.arch-grid .news-card h3 a{color:#1a1a1a}
.arch-grid .news-card .news-excerpt{font:400 13.5px/1.6 Roboto,Arial,sans-serif!important;color:#666;
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.arch-grid .news-card .post-cat,body.category .news-card .post-cat{display:none!important}
/* lead story: full width, image left / text right */
.arch-grid>.news-card:first-child{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);
	grid-template-rows:auto auto 1fr;column-gap:0;padding-bottom:0!important}
.arch-grid>.news-card:first-child .news-image{grid-row:1/4;grid-column:1;min-height:100%}
.arch-grid>.news-card:first-child .news-image a,.arch-grid>.news-card:first-child .news-image img{display:block;height:100%!important;aspect-ratio:auto!important}
.arch-grid>.news-card:first-child .news-image img{min-height:280px;object-fit:cover}
.arch-grid>.news-card:first-child h3{grid-column:2;font-size:22px!important;line-height:1.3!important;-webkit-line-clamp:4;padding:26px 26px 0!important}
.arch-grid>.news-card:first-child .post-date{grid-column:2;padding:12px 26px 0!important}
.arch-grid>.news-card:first-child .news-excerpt{grid-column:2;padding:12px 26px 26px!important;font-size:14.5px!important;-webkit-line-clamp:6}
.arch-grid>.news-card:first-child:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--accent);z-index:2}
.arch-grid>.news-card{position:relative}
@media(max-width:1000px){.arch-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){
	.arch-grid>.news-card:first-child{display:flex!important}
	.arch-grid>.news-card:first-child .news-image img{min-height:0;aspect-ratio:16/10!important;height:auto!important}
	.arch-grid>.news-card:first-child h3{font-size:19px!important;padding:16px 18px 0!important}
	.arch-grid>.news-card:first-child .post-date{padding:10px 18px 0!important}
	.arch-grid>.news-card:first-child .news-excerpt{padding:10px 18px 0!important}
}
@media(max-width:520px){.arch-grid{grid-template-columns:1fr!important;gap:18px!important}}

/* numbered pager (server-rendered + AJAX) */
.arch-pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:34px 0 10px;transition:opacity .25s ease}
.arch-pager.is-busy{opacity:.55;pointer-events:none}
.arch-pager .page-numbers{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 8px;
	border:1px solid #e3e3e3;background:#fff;color:#333!important;font:500 14px/1 Roboto,Arial,sans-serif;text-decoration:none!important;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.arch-pager a.page-numbers:hover{border-color:var(--accent);color:var(--accent)!important;transform:translateY(-2px)}
.arch-pager .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff!important;font-weight:700}
.arch-pager .page-numbers.dots{border-color:transparent;background:none;min-width:24px;color:#999!important}
.arch-pager .prev,.arch-pager .next{width:40px;font-size:0}
.arch-pager .prev:after,.arch-pager .next:after{content:"";width:8px;height:8px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor}
.arch-pager .prev:after{transform:translateX(2px) rotate(-135deg)}
.arch-pager .next:after{transform:translateX(-2px) rotate(45deg)}
.arch-pager .is-disabled{opacity:.35}
@media(max-width:480px){.arch-pager .page-numbers{min-width:36px;height:36px}}

/* v33.1 — no horizontal page scroll from hidden flyouts; flip flyouts at the right edge */
html,body{overflow-x:clip}
.main-nav .menu>li.open-left>.sub-menu{left:auto!important;right:0!important}
.main-nav .sub-menu li.open-left>.sub-menu{left:auto!important;right:100%!important}
.arch-grid .news-card h3{overflow-wrap:anywhere;hyphens:auto}.arch-grid .news-card .news-excerpt{text-align:left!important}

.arch-grid>.news-card:first-child{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.arch-grid>.news-card:first-child h3{font-size:20px!important;overflow-wrap:normal;word-break:normal}

/* logos always in colour */
.res-logo img,.res-card .res-logo img,.res-card:hover .res-logo img{filter:none!important;opacity:1!important}

@media(max-width:700px){
	.arch-grid>.news-card:first-child{flex-direction:column}
	.arch-grid>.news-card:first-child .news-image{min-height:0!important;grid-row:auto}
	.arch-grid>.news-card:first-child .news-image a{height:auto!important}
	.arch-grid>.news-card:first-child .news-image img{height:auto!important;min-height:0!important;aspect-ratio:16/10!important}
	.arch-grid>.news-card:first-child .news-excerpt{padding-bottom:18px!important}
}
/* =========================================================
   v34 — contacts page
   ========================================================= */
.ct-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px}
.ct-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 22px 22px 80px;min-height:96px;background:#fff;border:1px solid #ececec;
	box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;overflow:hidden}
.ct-card:before{content:"";position:absolute;left:0;top:0;width:3px;height:0;background:var(--accent);transition:height .45s cubic-bezier(.2,.7,.2,1)}
.ct-card:hover{transform:translateY(-3px);border-color:#e4d8d8;box-shadow:0 16px 30px -18px rgba(90,10,12,.4)}
.ct-card:hover:before{height:100%}
.ct-card--wide{grid-column:1/-1}
.ct-ico{position:absolute;left:22px;top:22px;width:42px;height:42px;display:flex;align-items:center;justify-content:center;
	background:linear-gradient(0deg,#863030,#8a0707 50%,#9c2828);color:#fff}
.ct-ico svg{width:21px;height:21px}
.ct-label{font:700 11px/1.2 Roboto,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#9a9a9a}
.ct-value{display:flex;flex-direction:column;gap:3px;font:500 16px/1.45 Roboto,Arial,sans-serif;color:#1a1a1a}
.ct-card--wide .ct-value{font-size:18px}
.ct-value a{color:#1a1a1a!important;text-decoration:none!important;transition:color .2s ease;width:max-content;max-width:100%}
.ct-value a:hover{color:var(--accent)!important}

.ct-map{margin-bottom:34px;border:1px solid #ececec;background:#fff}
.ct-tabs{display:flex;border-bottom:1px solid #ececec}
.ct-tab{position:relative;flex:0 0 auto;padding:15px 22px;border:0;background:none;cursor:pointer;font:700 13px/1 Roboto,Arial,sans-serif;
	letter-spacing:.4px;color:#777;transition:color .2s ease,background-color .2s ease}
.ct-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--accent);transform:scaleX(0);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.ct-tab:hover{color:#222;background:#faf7f7}
.ct-tab.is-active{color:var(--accent)}
.ct-tab.is-active:after{transform:scaleX(1)}
.ct-panel{display:none;position:relative}
.ct-panel.is-active{display:block;animation:ctIn .45s ease both}
@keyframes ctIn{from{opacity:0}to{opacity:1}}
.ct-panel iframe{display:block;width:100%;height:420px;border:0}
.ct-open{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;height:36px;padding:0 16px;background:#fff;color:#222!important;
	font:700 12px/1 Roboto,Arial,sans-serif;letter-spacing:.4px;text-decoration:none!important;box-shadow:0 6px 18px -6px rgba(0,0,0,.35);transition:background-color .2s ease,color .2s ease}
.ct-open:hover{background:var(--accent);color:#fff!important}

.ct-bottom{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;align-items:start}
.ct-h{position:relative;margin:0 0 14px;padding-left:14px;font:700 20px/1.3 Roboto,Arial,sans-serif;color:#1a1a1a}
.ct-h:before{content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:4px;background:var(--accent)}
.ct-about p{margin:0 0 18px;font:400 15.5px/1.75 Roboto,Arial,sans-serif;color:#333}
.ct-rector{display:flex;flex-direction:column;gap:4px;padding:14px 18px;background:#faf6f6;border-left:3px solid var(--accent)}
.ct-rector span{font:700 11px/1 Roboto,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#9a9a9a}
.ct-rector strong{font:700 16px/1.4 Roboto,Arial,sans-serif;color:#1a1a1a}
.ct-side{display:flex;flex-direction:column;gap:10px;padding:22px;background:#fff;border:1px solid #ececec;border-top:3px solid var(--accent)}
.ct-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:46px;font:700 13px/1 Roboto,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;
	color:#fff!important;text-decoration:none!important;background:linear-gradient(0deg,#863030,#8a0707 50%,#9c2828);box-shadow:0 8px 18px -10px rgba(138,7,7,.8);
	transition:filter .2s ease,transform .2s ease}
.ct-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}
.ct-btn svg{width:18px;height:18px}
.ct-btn--ghost{background:#fff;color:var(--accent)!important;border:1px solid var(--accent);box-shadow:none}
.ct-btn--ghost:hover{background:var(--accent);color:#fff!important;filter:none}
.ct-social{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:14px;border-top:1px solid #f0f0f0}
.ct-social span{flex:1;font:500 13px/1.3 Roboto,Arial,sans-serif;color:#666}
.ct-soc{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#222;color:#fff!important;transition:background-color .2s ease,transform .2s ease}
.ct-soc:hover{background:var(--accent);transform:translateY(-2px)}
.ct-soc svg{width:18px;height:18px}
@media(max-width:1000px){.ct-cards{grid-template-columns:1fr 1fr}.ct-bottom{grid-template-columns:1fr}}
@media(max-width:560px){
	.ct-cards{grid-template-columns:1fr}
	.ct-card{padding:18px 16px 18px 72px}.ct-ico{left:16px;top:18px}
	.ct-panel iframe{height:320px}
	.ct-tab{flex:1;padding:14px 10px}
}.ct-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ct-tabs{align-items:stretch}
.ct-open{position:static!important;margin-left:auto;align-self:center;height:34px!important;margin-right:10px;gap:7px;box-shadow:none!important;border:1px solid #e3e3e3}
.ct-open svg{width:14px;height:14px}
@media(max-width:640px){.ct-cards{grid-template-columns:1fr!important}.ct-tabs{flex-wrap:wrap}.ct-open{width:100%;justify-content:center;margin:0;border-width:1px 0 0}}.ct-card:not(.ct-card--wide){padding:20px 20px 22px!important}
.ct-card:not(.ct-card--wide) .ct-ico{position:static!important;margin-bottom:10px}
.ct-value a,.ct-card:not(.ct-card--wide) .ct-value{white-space:nowrap}
.ct-card:not(.ct-card--wide) .ct-value{font-size:15.5px}
.slide-title a{color:inherit!important;text-decoration:none!important}

/* v35 — link rows: text flows normally (no flex columns when the link has several inline pieces) */
.entry-content p.is-link-row a.row-link{display:block!important;position:relative;padding:12px 40px 12px 12px}
.entry-content p.is-link-row a.row-link.file-link{padding-left:60px}
.entry-content p.is-link-row a.row-link.file-link:before{position:absolute;left:12px;top:13px;margin:0}
.entry-content p.is-link-row a.row-link:hover{padding-left:16px}
.entry-content p.is-link-row a.row-link.file-link:hover{padding-left:64px}
.entry-content p.is-link-row a.row-link.file-link:hover:before{left:16px}
.entry-content p.is-link-row a.row-link.file-link:before{transition:left .25s ease}
@media(max-width:767px){.entry-content p.is-link-row a.row-link.file-link{padding-left:54px}.entry-content p.is-link-row a.row-link.file-link:before{left:8px}}
/* =========================================================
   v36 — dissertation councils, missing files
   ========================================================= */
.doc-missing{color:#a3a3a3;text-decoration:line-through;text-decoration-color:rgba(0,0,0,.2);cursor:help}

/* council card */
.council-card{display:grid;grid-template-columns:auto 1fr;gap:18px 28px;align-items:start;margin:0 0 30px;padding:24px 26px;background:#fff;
	border:1px solid #ececec;border-left:4px solid var(--accent);box-shadow:0 10px 28px -20px rgba(0,0,0,.35)}
.cc-label{display:block;margin-bottom:6px;font:700 11px/1.2 Roboto,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#9a9a9a}
.cc-code{display:block;font:900 26px/1.1 Roboto,Arial,sans-serif;letter-spacing:.3px;color:var(--accent);white-space:nowrap}
.cc-facts{display:flex;flex-wrap:wrap;gap:12px 30px;margin:0;align-self:center}
.cc-facts dt{font:700 11px/1.2 Roboto,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#9a9a9a;margin:0 0 5px}
.cc-facts dd{margin:0;font:700 17px/1.3 Roboto,Arial,sans-serif;color:#1a1a1a}
.cc-specs{grid-column:1/-1;padding-top:16px;border-top:1px solid #f0eaea}
.cc-specs ul{margin:0!important;padding:0!important;list-style:none!important;display:grid;gap:6px}
.cc-specs li{position:relative;margin:0!important;padding:8px 12px 8px 14px!important;background:#faf7f7;font-size:14.5px;line-height:1.5;border-left:2px solid #e5caca}
.cc-specs li:before{display:none!important}
.cc-specs li b{color:var(--accent);margin-right:4px;white-space:nowrap}

/* list */
.theses-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.theses-head h2{margin:0!important;padding-left:14px!important;font-size:21px!important}
.theses-head h2 span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;margin-left:8px;padding:0 7px;background:var(--accent);color:#fff;font-size:13px;vertical-align:3px}
.theses-filter{flex:0 1 320px;height:42px;padding:0 14px 0 40px;border:1px solid #dcdcdc;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") no-repeat 14px center;
	font:400 14px Roboto,Arial,sans-serif;outline:0;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.theses-filter:focus{border-color:var(--accent);background-color:#fff;box-shadow:0 0 0 3px rgba(165,29,33,.12)}
.thesis{display:grid;grid-template-columns:120px minmax(0,1fr);background:#fff;border:1px solid #ececec;margin-bottom:14px;transition:box-shadow .3s ease,border-color .3s ease}
.thesis:hover{border-color:#e2d6d6;box-shadow:0 14px 30px -20px rgba(90,10,12,.4)}
.thesis[hidden]{display:none}
.thesis-date{padding:18px 14px;background:#faf6f6;border-right:1px solid #f0e6e6;text-align:center}
.thesis-date span{display:block;margin-bottom:6px;font:700 10px/1.3 Roboto,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:#a08a8a}
.thesis-date time{font:700 16px/1.2 Roboto,Arial,sans-serif;color:var(--accent)}
.thesis-body{padding:16px 20px 18px;min-width:0}
.thesis-author{font:700 12.5px/1.4 Roboto,Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#555;margin-bottom:6px}
.entry-content .thesis-title{margin:0 0 12px!important;padding:0!important;font:600 16px/1.45 Roboto,Arial,sans-serif!important}
.entry-content .thesis-title:before{display:none!important}
.entry-content .thesis-title a{color:#1a1a1a!important;background:none!important}
.entry-content .thesis-title a:hover{color:var(--accent)!important}
.entry-content .thesis-title a.file-link:before{vertical-align:1px}
.thesis-docs summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:7px 12px;border:1px solid #e6dada;
	font:700 12px/1 Roboto,Arial,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:var(--accent);user-select:none;transition:background-color .2s ease,color .2s ease}
.thesis-docs summary::-webkit-details-marker{display:none}
.thesis-docs summary:after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s ease}
.thesis-docs[open] summary:after{transform:translateY(1px) rotate(-135deg)}
.thesis-docs summary:hover{background:var(--accent);color:#fff}
.thesis-docs summary b{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;background:#f6ecec;color:var(--accent);font-size:11px}
.thesis-docs summary:hover b{background:rgba(255,255,255,.2);color:#fff}
.entry-content .thesis-docs ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:12px 0 0!important;padding:0!important;list-style:none!important;animation:ctIn .35s ease both}
.entry-content .thesis-docs li{margin:0!important;padding:0!important;border-bottom:1px solid #f2eded}
.entry-content .thesis-docs li:before{display:none!important}
.entry-content .thesis-docs li>a,.entry-content .thesis-docs li>span{display:flex;align-items:center;gap:8px;padding:8px 2px;font-size:13.5px;line-height:1.4;color:#333;background:none!important}
.entry-content .thesis-docs li>a:hover{color:var(--accent)}
.entry-content .thesis-docs li>a.file-link:before{min-width:30px;height:17px;font-size:9px;margin:0}
.theses-empty{padding:30px;text-align:center;color:#999;border:1px dashed #ddd}
@media(max-width:700px){
	.council-card{grid-template-columns:1fr;padding:18px}
	.thesis{grid-template-columns:1fr}
	.thesis-date{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-right:0;border-bottom:1px solid #f0e6e6;text-align:left}
	.thesis-date span{margin:0}
	.entry-content .thesis-docs ul{grid-template-columns:1fr}
	.theses-filter{flex:1 1 100%}
}

.theses-grp{margin:0 0 26px}.theses-grp[hidden]{display:none}.entry-content .theses-grp-title{margin:0 0 12px!important;padding:10px 14px!important;background:#faf5f5;border-left:4px solid var(--accent);font:700 14px/1.3 Roboto,Arial,sans-serif!important;letter-spacing:.6px;color:#1a1a1a}.entry-content .theses-grp-title:before{display:none!important}.theses-grp-title span{display:inline-block;margin-left:8px;padding:2px 7px;background:var(--accent);color:#fff;font-size:11px;letter-spacing:0}

/* =========================================================
   v37 — defense announcements + list
   ========================================================= */
.defense{position:relative;margin:0 0 30px;padding:26px 28px 24px;background:#fff;border:1px solid #ececec;border-top:4px solid var(--accent);box-shadow:0 12px 30px -22px rgba(0,0,0,.4)}
.def-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}
.def-kicker{font:700 12px/1.4 Roboto,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--accent)}
.def-badge{display:inline-block;padding:4px 10px;font:700 11px/1.2 Roboto,Arial,sans-serif;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}
.def-badge.is-soon{background:var(--accent);color:#fff}.def-badge.is-today{background:#2e7d32;color:#fff}.def-badge.is-past{background:#f0eded;color:#8a7f7f}
.entry-content .def-title{margin:0 0 10px!important;padding:0!important;font:700 21px/1.35 Roboto,Arial,sans-serif!important;color:#1a1a1a}
.entry-content .def-title:before{display:none!important}
.entry-content .def-degree{margin:0 0 18px;color:#555;font-size:15px;line-height:1.6}
.def-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0 0 16px;background:#eee7e7;border:1px solid #eee7e7}
.def-facts>div{padding:12px 14px;background:#fff}
.def-facts>div.is-main{background:#faf4f4}
.def-facts dt{margin:0 0 5px;font:700 10.5px/1.2 Roboto,Arial,sans-serif;letter-spacing:.9px;text-transform:uppercase;color:#9a8f8f}
.def-facts dd{margin:0;font:700 16px/1.35 Roboto,Arial,sans-serif;color:#1a1a1a}
.def-facts>div.is-main dd{color:var(--accent);font-size:18px}
.def-note{margin:0 0 14px;padding:12px 16px;border-left:4px solid #c77c02;background:#fdf8ec;font-size:14.5px}
.entry-content .def-place{margin:0 0 16px;color:#444;font-weight:500}
.def-actions{display:flex;flex-wrap:wrap;gap:8px}
.entry-content .def-actions a.def-btn,.entry-content .def-actions a{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;color:#fff!important;background:linear-gradient(0deg,#863030,#8a0707 50%,#9c2828)!important;font:700 13px/1.2 Roboto,Arial,sans-serif;letter-spacing:.5px;text-decoration:none!important;box-shadow:0 8px 18px -10px rgba(138,7,7,.8);transition:filter .2s,transform .2s}
.entry-content .def-actions a:hover{filter:brightness(1.12);transform:translateY(-1px)}
.entry-content .def-actions a.file-link:before{background:rgba(255,255,255,.22)!important}
.entry-content .def-sub{margin:10px 0 14px!important;font-size:19px!important}
@media(max-width:600px){.defense{padding:18px 16px}.def-facts{grid-template-columns:1fr}.entry-content .def-title{font-size:18px!important}}

.def-search{width:100%;margin:0 0 18px}
.entry-content .def-group-title{display:flex;align-items:center;gap:8px;margin:6px 0 12px!important;font-size:19px!important}
.def-group-title span{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 6px;background:var(--accent);color:#fff;font-size:12px}
.def-group{margin-bottom:26px}.def-group[hidden],.def-year[hidden],.def-item[hidden]{display:none!important}
.entry-content a.def-item{display:grid;grid-template-columns:92px minmax(0,1fr);margin:0 0 10px;background:#fff!important;border:1px solid #ececec;color:#1a1a1a!important;text-decoration:none!important;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.entry-content a.def-item:hover{transform:translateY(-2px);border-color:#e2d6d6;box-shadow:0 14px 28px -18px rgba(90,10,12,.45)}
.def-item-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:12px 6px;background:#faf5f5;border-right:1px solid #f0e6e6;color:#8a7f7f;font:500 12px/1.2 Roboto,Arial,sans-serif}
.def-item-date b{font:700 20px/1 Roboto,Arial,sans-serif;color:var(--accent)}
.def-item-date i{font-style:normal;font-weight:700;color:#555}
.is-upcoming .def-item-date{background:var(--accent);border-color:var(--accent);color:rgba(255,255,255,.8)}
.is-upcoming .def-item-date b,.is-upcoming .def-item-date i{color:#fff}
.def-item-body{display:flex;flex-direction:column;gap:5px;padding:12px 16px;min-width:0}
.def-item-name{font:700 13px/1.35 Roboto,Arial,sans-serif;letter-spacing:.5px;text-transform:uppercase}
.def-item-title{font-size:14px;line-height:1.45;color:#444}
.entry-content a.def-item:hover .def-item-name{color:var(--accent)}
.def-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:#9a9a9a}
.def-year{margin:0 0 10px;border:1px solid #ececec;background:#fcfafa}
.def-year>summary{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;list-style:none;font:700 15px/1 Roboto,Arial,sans-serif;color:#1a1a1a}
.def-year>summary::-webkit-details-marker{display:none}
.def-year>summary:after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.6px solid var(--accent);border-bottom:1.6px solid var(--accent);transform:rotate(45deg);transition:transform .25s}
.def-year[open]>summary:after{transform:rotate(-135deg)}
.def-year>summary b{padding:2px 7px;background:#f0e6e6;color:var(--accent);font-size:11px}
.def-year[open]{padding:0 10px 2px}
.def-year[open]>summary{margin:0 -10px 10px;border-bottom:1px solid #f0e6e6}
@media(max-width:520px){.entry-content a.def-item{grid-template-columns:74px minmax(0,1fr)}}
/* =========================================================
   v38 — homepage slider: caption on a gradient, Ken Burns, progress bullets, counter, pause
   ========================================================= */
.tnu-swiper{--tnu-progress:0;background:#1a0f10}
.tnu-swiper .swiper-slide{background:#1a0f10}
.tnu-swiper .swiper-slide:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
	background:linear-gradient(0deg,rgba(20,6,8,.86) 0%,rgba(20,6,8,.55) 26%,rgba(20,6,8,0) 58%),linear-gradient(90deg,rgba(20,6,8,.35),rgba(20,6,8,0) 45%)}
/* Ken Burns: the photo slowly comes closer while its slide is shown */
.tnu-swiper .slide-img{transition:none!important;transform:scale(1.001);transform-origin:60% 45%}
.tnu-swiper .swiper-slide-active .slide-img{animation:tnuKen 9s ease-out both}
.tnu-swiper .swiper-slide-active:hover .slide-img{transform:none}
@keyframes tnuKen{from{transform:scale(1.001)}to{transform:scale(1.07)}}

/* caption */
.tnu-swiper .slide-cap,.tnu-swiper .slide-cap-bottom{position:absolute;top:auto!important;left:0;right:0;bottom:0;z-index:2;max-width:none!important;padding:0 34px 62px;background:none!important;color:#fff}
.tnu-swiper .slide-title{position:relative;max-width:min(720px,78%)!important;margin:0;padding-left:18px;font:700 27px/1.28 Roboto,Arial,sans-serif!important;letter-spacing:-.2px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45);
	opacity:0;transform:translateY(18px);transition:opacity .6s ease .15s,transform .7s cubic-bezier(.2,.7,.2,1) .15s}
.tnu-swiper .slide-title:before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:4px;background:#c0392b;box-shadow:0 0 16px rgba(192,57,43,.6);transform:scaleY(0);transform-origin:top;transition:transform .6s cubic-bezier(.2,.7,.2,1) .35s}
.tnu-swiper .swiper-slide-active .slide-title{opacity:1;transform:none}
.tnu-swiper .swiper-slide-active .slide-title:before{transform:none}
.tnu-swiper .slide-title a{color:#fff!important;background:none!important;transition:color .2s}
.tnu-swiper .slide-title a:hover{color:#ffd9d6!important}

/* arrows */
.tnu-swiper .swiper-button-prev,.tnu-swiper .swiper-button-next{top:auto!important;bottom:18px;margin:0;width:42px!important;height:42px!important;border-radius:0!important;background:rgba(255,255,255,.12)!important;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25)!important;color:#fff;opacity:1;z-index:3;transition:background-color .25s,border-color .25s,transform .25s}
.tnu-swiper .swiper-button-prev{left:auto!important;right:70px!important}
.tnu-swiper .swiper-button-next{right:22px!important}
.tnu-swiper .swiper-button-prev:after,.tnu-swiper .swiper-button-next:after{content:""!important;width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;font-size:0!important}
.tnu-swiper .swiper-button-prev:after{transform:translateX(2px) rotate(-135deg)}
.tnu-swiper .swiper-button-next:after{transform:translateX(-2px) rotate(45deg)}
.tnu-swiper .swiper-button-prev:hover,.tnu-swiper .swiper-button-next:hover{background:var(--accent)!important;border-color:var(--accent)!important}
.tnu-swiper .swiper-button-prev:focus-visible,.tnu-swiper .swiper-button-next:focus-visible,.tnu-slider-ui button:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* bullets with progress, counter, pause */
.tnu-slider-ui{position:absolute;left:34px;right:124px;bottom:30px;z-index:3;display:flex;align-items:center;gap:14px}
.tnu-dots{position:static!important;display:flex;gap:6px;width:auto!important;transform:none!important}
.tnu-dots .swiper-pagination-bullet{position:relative;display:block;width:34px;height:4px;margin:0!important;padding:0;border:0;border-radius:0;background:rgba(255,255,255,.3);opacity:1;cursor:pointer;overflow:hidden;transition:background-color .2s,width .35s cubic-bezier(.2,.7,.2,1)}
.tnu-dots .swiper-pagination-bullet:before{content:"";position:absolute;inset:-8px 0}
.tnu-dots .swiper-pagination-bullet:hover{background:rgba(255,255,255,.55)}
.tnu-dots .swiper-pagination-bullet i{position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.tnu-dots .swiper-pagination-bullet-active{width:58px;background:rgba(255,255,255,.3)}
.tnu-dots .swiper-pagination-bullet-active i{transform:scaleX(var(--tnu-progress));background:#e74c3c}
.tnu-swiper.is-paused .tnu-dots .swiper-pagination-bullet-active i,.tnu-dots:not(:has(i)) .swiper-pagination-bullet-active{transform:scaleX(1)}
.tnu-count{font:500 13px/1 Roboto,Arial,sans-serif;letter-spacing:1px;color:rgba(255,255,255,.7);font-variant-numeric:tabular-nums}
.tnu-count b{font-weight:700;color:#fff}
.tnu-pause{position:relative;width:28px;height:28px;padding:0;border:1px solid rgba(255,255,255,.3);background:none;cursor:pointer;transition:border-color .2s,background-color .2s}
.tnu-pause:before,.tnu-pause:after{content:"";position:absolute;top:8px;width:3px;height:10px;background:#fff}
.tnu-pause:before{left:9px}.tnu-pause:after{left:14px}
.tnu-pause[aria-pressed="true"]:before{left:10px;top:8px;width:0;height:0;background:none;border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.tnu-pause[aria-pressed="true"]:after{display:none}
.tnu-pause:hover{border-color:#fff;background:rgba(255,255,255,.12)}

@media(max-width:767px){
	.tnu-swiper .slide-cap,.tnu-swiper .slide-cap-bottom{padding:0 16px 44px}
	.tnu-swiper .slide-title{max-width:100%!important;padding-left:12px;font-size:16px!important;line-height:1.3!important}
	.tnu-swiper .slide-title:before{width:3px}
	.tnu-swiper .swiper-button-prev,.tnu-swiper .swiper-button-next{display:none}
	.tnu-slider-ui{left:16px;right:16px;bottom:16px;gap:10px}
	.tnu-dots .swiper-pagination-bullet{width:18px}.tnu-dots .swiper-pagination-bullet-active{width:34px}
	.tnu-count{margin-left:auto;font-size:12px}
	.tnu-pause{width:24px;height:24px}.tnu-pause:before,.tnu-pause:after{top:6px}.tnu-pause:before{left:7px}.tnu-pause:after{left:12px}
}
@media(prefers-reduced-motion:reduce){.tnu-swiper .swiper-slide-active .slide-img{animation:none}.tnu-swiper .slide-title,.tnu-swiper .slide-title:before{transition:none}}
.tnu-count{white-space:nowrap}
@media(max-width:767px){
	.tnu-swiper,.tnu-swiper .swiper-slide{aspect-ratio:16/10!important}
	.tnu-swiper .slide-layer .slide-img{position:static;height:100%;width:100%;object-fit:cover}
	.tnu-dots{flex:1;min-width:0}
	.tnu-dots .swiper-pagination-bullet,.tnu-dots .swiper-pagination-bullet-active{flex:1 1 0;width:auto;min-width:6px}
	.tnu-dots .swiper-pagination-bullet-active{flex-grow:2.2}
	.tnu-count{margin-left:0}
}
/* =========================================================
   v39 — mobile: animated burger + slide-in drawer (menu + «Разделы»)
   ========================================================= */
.mdrawer{display:none}
@media(max-width:767px){
	/* burger -> X */
	.site-banner .nav-toggle{width:46px!important;height:46px!important;padding:0!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px!important;background:rgba(255,255,255,.08)!important;border:0!important;transition:background-color .2s}
	.site-banner .nav-toggle:active{background:rgba(255,255,255,.18)!important}
	.site-banner .nav-toggle span{width:22px!important;height:2px!important;background:#fff!important;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .2s,width .3s}
	.site-banner .nav-toggle span:nth-child(2){width:16px!important;align-self:center;transform:translateX(-3px)}
	.site-banner .nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
	.site-banner .nav-toggle.is-active span:nth-child(2){opacity:0;transform:translateX(-12px)}
	.site-banner .nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
	.main-nav,.main-nav.open{display:none!important}

	/* drawer */
	.mdrawer{display:block;position:fixed;inset:0;z-index:100000}
	.mdrawer[hidden]{display:none}
	html.mdrawer-lock,html.mdrawer-lock body{overflow:hidden;touch-action:none}
	.mdrawer-bg{position:absolute;inset:0;background:rgba(18,6,8,.55);backdrop-filter:blur(3px);opacity:0;transition:opacity .35s ease}
	.mdrawer-panel{position:absolute;left:0;top:0;bottom:0;display:flex;flex-direction:column;width:min(88vw,380px);background:#fff;box-shadow:24px 0 60px -20px rgba(0,0,0,.5);transform:translateX(-104%);transition:transform .38s cubic-bezier(.2,.8,.2,1);touch-action:pan-y}
	.mdrawer.is-open .mdrawer-bg{opacity:1}
	.mdrawer.is-open .mdrawer-panel{transform:none}
	.mdrawer-head{position:relative;display:flex;align-items:center;gap:10px;padding:14px 12px 14px 16px;background:linear-gradient(0deg,#863030,#8a0707 50%,#9c2828);color:#fff}
	.mdrawer-logo{display:flex;align-items:center;gap:10px;min-width:0;color:#fff!important;text-decoration:none!important}
	.mdrawer-logo img{flex:0 0 40px;width:40px;height:40px}
	.mdrawer-logo span{font:700 13px/1.25 Roboto,Arial,sans-serif;letter-spacing:.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
	.mdrawer-close{position:relative;flex:0 0 40px;width:40px;height:40px;margin-left:auto;border:0;background:rgba(255,255,255,.12);cursor:pointer;transition:background-color .2s,transform .3s}
	.mdrawer-close:before,.mdrawer-close:after{content:"";position:absolute;left:11px;right:11px;top:19px;height:2px;background:#fff;transform:rotate(45deg)}
	.mdrawer-close:after{transform:rotate(-45deg)}
	.mdrawer-close:active{background:rgba(255,255,255,.25)}
	.mdrawer.is-open .mdrawer-close{animation:mdSpin .45s cubic-bezier(.2,.8,.2,1) .1s both}
	@keyframes mdSpin{from{transform:rotate(-90deg);opacity:0}to{transform:none;opacity:1}}
	.mdrawer-search{padding:12px 14px;border-bottom:1px solid #eee}
	.mdrawer-search .search-form{display:flex;margin:0}
	.mdrawer-search label{flex:1;margin:0}
	.mdrawer-search .search-field{width:100%;height:42px;padding:0 12px 0 38px;border:1px solid #dcdcdc;border-right:0;border-radius:0;background:#fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") no-repeat 12px center;font:400 15px Roboto,Arial,sans-serif;outline:0}
	.mdrawer-search .search-field:focus{border-color:var(--accent);background-color:#fff}
	.mdrawer-search .search-submit{height:42px;padding:0 14px;border:0;border-radius:0;background:var(--accent);color:#fff;font:700 12px/1 Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px}
	.mdrawer-tabs{display:flex;padding:0 6px;border-bottom:1px solid #eee;background:#fcfafa}
	.mdrawer-tabs button{position:relative;flex:1;height:46px;border:0;background:none;font:700 13px/1 Roboto,Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#888;cursor:pointer;transition:color .2s}
	.mdrawer-tabs button:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;background:var(--accent);transform:scaleX(0);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
	.mdrawer-tabs button.is-on{color:var(--accent)}
	.mdrawer-tabs button.is-on:after{transform:scaleX(1)}
	.mdrawer-body{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
	.mdrawer-pane.is-on{animation:mdPane .35s ease both}
	@keyframes mdPane{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}

	/* menu list */
	.mnav,.mnav .sub-menu{list-style:none;margin:0;padding:0}
	.mnav>li{position:relative;border-bottom:1px solid #f0eded}
	.mnav li{position:relative;display:flex;flex-wrap:wrap;align-items:stretch}
	.mnav li>a{flex:1;display:flex;align-items:center;min-height:50px;padding:10px 16px;color:#1a1a1a!important;font:600 15px/1.35 Roboto,Arial,sans-serif;text-decoration:none!important;transition:background-color .15s,color .15s}
	.mnav li>a:active{background:#faf4f4}
	.mnav .current-menu-item>a,.mnav .current_page_item>a{color:var(--accent)!important;box-shadow:inset 3px 0 0 var(--accent);background:#fcf7f7}
	.mnav-tog{position:relative;flex:0 0 50px;width:50px;border:0;border-left:1px solid #f3eeee;background:none;cursor:pointer}
	.mnav-tog:before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-6px 0 0 -4px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
	.mnav li.is-open>.mnav-tog:before{transform:translateY(3px) rotate(-135deg)}
	.mnav li.is-open>a{color:var(--accent)!important}
	.mnav .sub-menu{flex:0 0 100%;display:none;overflow:hidden;background:#faf8f8;transition:height .3s cubic-bezier(.2,.7,.2,1)}
	.mnav li.is-open>.sub-menu{display:block}
	.mnav .sub-menu li{border-top:1px solid #f0eded}
	.mnav .sub-menu li>a{min-height:44px;padding:8px 16px 8px 28px;font-weight:500;font-size:14px;color:#444!important}
	.mnav .sub-menu li>a:before{content:"";flex:0 0 5px;height:5px;margin-right:10px;background:#d4b7b8}
	.mnav .sub-menu .sub-menu li>a{padding-left:42px;font-size:13.5px}
	.mnav .sub-menu .current-menu-item>a:before{background:var(--accent)}
	/* cascade on open */
	.mdrawer.is-open .mdrawer-pane.is-on .mnav>li{animation:mdItem .45s cubic-bezier(.2,.8,.2,1) both}
	.mdrawer.is-open .mnav>li:nth-child(1){animation-delay:.08s}.mdrawer.is-open .mnav>li:nth-child(2){animation-delay:.11s}.mdrawer.is-open .mnav>li:nth-child(3){animation-delay:.14s}.mdrawer.is-open .mnav>li:nth-child(4){animation-delay:.17s}.mdrawer.is-open .mnav>li:nth-child(5){animation-delay:.2s}.mdrawer.is-open .mnav>li:nth-child(6){animation-delay:.23s}.mdrawer.is-open .mnav>li:nth-child(7){animation-delay:.26s}.mdrawer.is-open .mnav>li:nth-child(8){animation-delay:.29s}.mdrawer.is-open .mnav>li:nth-child(n+9){animation-delay:.32s}
	@keyframes mdItem{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}

	/* footer: languages + social */
	.mdrawer-foot{display:flex;align-items:center;gap:10px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #eee;background:#fcfafa}
	.mdrawer-langs{display:flex;flex:1;gap:4px;margin:0;padding:0;list-style:none}
	.mdrawer-langs li{flex:1;margin:0}
	.mdrawer-langs a{display:flex;align-items:center;justify-content:center;gap:5px;height:36px;border:1px solid #e3dada;background:#fff;color:#444!important;font:600 12px/1 Roboto,Arial,sans-serif;text-decoration:none!important}
	.mdrawer-langs .current-lang a{background:var(--accent);border-color:var(--accent);color:#fff!important}
	.mdrawer-langs img{width:16px!important;height:11px!important}
	.mdrawer-soc{display:flex;gap:4px}
	.mdrawer-soc a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#222;color:#fff!important;font:700 14px/1 Arial,sans-serif;text-decoration:none!important}
	.mdrawer-soc a:active{background:var(--accent)}

	/* the side «Меню» moves into the drawer on phones — content comes first */
	.col-menu>.block-head:first-child,.col-menu>nav{display:none!important}
}
@media(max-width:767px) and (prefers-reduced-motion:reduce){.mdrawer-panel,.mdrawer-bg,.mnav .sub-menu{transition:none}.mdrawer.is-open .mnav>li,.mdrawer-pane.is-on,.mdrawer.is-open .mdrawer-close{animation:none}}
/* v40 — only one dropdown at a time: a mouse-clicked item must not stay open through :focus-within */
@media(min-width:1001px){
	.main-nav .menu>li:focus-within:not(:hover):not(.is-open)>.sub-menu{display:none!important}
	.main-nav .menu>li:has(>a:focus-visible)>.sub-menu,.main-nav .menu>li:has(.sub-menu a:focus-visible)>.sub-menu{display:block!important}
}
/* news pagination belongs to the news block: breathing room before the next section */
.news-pagination{margin:22px 0 46px!important;padding-bottom:26px;border-bottom:1px solid #eee}
@media(max-width:767px){.news-pagination{margin:18px 0 36px!important;padding-bottom:22px}}
/* drawer: flags only; main menu top level in capitals like the desktop bar, sub-items as typed */
@media(max-width:767px){
	.mdrawer-langs{flex:0 0 auto}
	.mdrawer-langs li{flex:0 0 auto}
	.mdrawer-langs a{width:46px;height:36px;padding:0;font-size:0!important;gap:0}
	.mdrawer-langs img{width:22px!important;height:15px!important;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
	.mdrawer-langs .current-lang a{background:#fff;border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}
	.mdrawer-foot{justify-content:space-between}
	#mnav-main>li>a{font:700 13.5px/1.35 Roboto,Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px}
	#mnav-main .sub-menu li>a,#mnav-side li>a{text-transform:none;letter-spacing:0}
}
/* =========================================================
   v41 — footer
   ========================================================= */
.site-footer.sf{position:relative;margin-top:50px;padding:0;background:#17181c;color:#b9bcc3;font:400 14px/1.65 Roboto,Arial,sans-serif}
.sf:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#8a0707,#a51d21 40%,#c0392b 70%,#8a0707)}
.sf:after{content:"";position:absolute;inset:4px 0 auto;height:260px;pointer-events:none;background:radial-gradient(600px 220px at 12% 0,rgba(165,29,33,.22),transparent 70%)}
.sf-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr 1fr 1fr .95fr;gap:40px;padding:54px 16px 44px}
.sf-h{position:relative;margin:0 0 18px;padding-bottom:12px;font:700 13px/1.3 Roboto,Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#fff}
.sf-h:after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:#c0392b}
.sf-logo{display:inline-block;margin-bottom:18px}
.sf-logo img{display:block;width:auto;max-width:190px;height:auto;max-height:110px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.35))}
.sf-brand .sf-h{margin-top:0}
.sf-about{margin:0 0 14px;color:#b9bcc3}
.sf-about b,.sf-about strong{color:#fff}
.sf-rector{display:flex;flex-direction:column;gap:2px;margin:0;padding:10px 14px;background:rgba(255,255,255,.04);border-left:3px solid #c0392b;color:#fff;font-weight:600}
.sf-rector span{font:700 10.5px/1.2 Roboto,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#8d9099}
.sf-contacts{list-style:none;margin:0 0 16px;padding:0}
.sf-contacts li{display:flex;gap:12px;margin:0 0 14px}
.sf-contacts svg{flex:0 0 18px;width:18px;height:18px;margin-top:2px;color:#e0625a}
.sf-contacts span{display:flex;flex-direction:column}
.sf a{color:#d6d8dd;text-decoration:none;transition:color .2s}
.sf a:hover{color:#fff}
.sf-more{display:inline-flex;font-weight:700;font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;color:#e0625a!important}
.sf-more:hover{color:#fff!important}
.sf-menu{list-style:none;margin:0;padding:0;columns:1}
.sf-menu li{margin:0}
.sf-menu a{position:relative;display:block;padding:6px 0 6px 16px;line-height:1.4;transition:color .2s,padding-left .25s}
.sf-menu a:before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-top:1.5px solid #c0392b;border-right:1.5px solid #c0392b;transform:rotate(45deg);transition:left .25s}
.sf-menu a:hover{padding-left:20px}
.sf-menu a:hover:before{left:4px}
.sf-soc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.sf-soc a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;transition:background-color .25s,border-color .25s,transform .25s}
.sf-soc a:hover{background:#a51d21;border-color:#a51d21;transform:translateY(-3px)}
.sf-soc svg{width:20px;height:20px}
.sf-btn{display:inline-flex;align-items:center;gap:10px;height:44px;margin-bottom:20px;padding:0 20px;background:linear-gradient(0deg,#863030,#8a0707 50%,#9c2828);color:#fff!important;font:700 12.5px/1 Roboto,Arial,sans-serif;letter-spacing:.8px;text-transform:uppercase;box-shadow:0 10px 22px -12px rgba(192,57,43,.9);transition:filter .2s,transform .2s}
.sf-btn:hover{filter:brightness(1.15);transform:translateY(-2px)}
.sf-btn svg{width:18px;height:18px}
.sf-langs{display:flex;gap:6px;margin:0;padding:0;list-style:none}
.sf-langs li{margin:0}
.sf-langs a{display:flex;align-items:center;justify-content:center;width:46px;height:34px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);transition:border-color .2s,background-color .2s}
.sf-langs a:hover{border-color:#fff}
.sf-langs .current-lang a{border-color:#c0392b;box-shadow:inset 0 -3px 0 #c0392b}
.sf-langs img{width:22px!important;height:15px!important}
.sf-bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.08);background:#111215}
.sf-bottom-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;font-size:13px;color:#8d9099}
.sf-up{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.14);background:none;color:#d6d8dd;font:600 12px/1 Roboto,Arial,sans-serif;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:border-color .2s,color .2s,background-color .2s}
.sf-up:before{content:"";width:7px;height:7px;margin-top:4px;border-top:1.6px solid currentColor;border-left:1.6px solid currentColor;transform:rotate(45deg)}
.sf-up:hover{border-color:#c0392b;background:#a51d21;color:#fff}
.sf :focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:1000px){.sf-grid{grid-template-columns:1fr 1fr;gap:34px}}
@media(max-width:600px){
	.sf-grid{grid-template-columns:1fr;gap:30px;padding:40px 16px 30px}
	.sf-brand{text-align:center}
	.sf-brand .sf-h:after{left:50%;margin-left:-14px}
	.sf-rector{text-align:left}
	.sf-col{padding-top:26px;border-top:1px solid rgba(255,255,255,.07)}
	.sf-menu{columns:2;column-gap:16px}
	.sf-menu a{font-size:13.5px}
	.sf-bottom-in{flex-direction:column-reverse;text-align:center;padding:18px 16px 22px}
}
.sf-menu a{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sf-menu li{break-inside:avoid}

@media(max-width:600px){.sf-grid{padding-left:0!important;padding-right:0!important}.sf-bottom-in{padding-left:0;padding-right:0}}
