@keyframes shimmer{0%{background-position:-800px 0}100%{background-position:800px 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;border-radius:var(--border-radius-sm)}.skeleton-featured{display:grid;grid-template-columns:1.15fr 0.85fr;gap:var(--space-2xl);align-items:stretch;border:1px solid var(--color-gray-200);border-radius:var(--border-radius-xl);overflow:hidden}.skeleton-featured__img{height:100%}.skeleton-featured__content{padding:var(--space-xl) var(--space-2xl) var(--space-xl) 0;display:flex;flex-direction:column;justify-content:center;gap:var(--space-md)}.skeleton-line{height:14px;border-radius:var(--border-radius-sm)}.skeleton-line--tag{width:80px;height:22px;border-radius:var(--border-radius-full)}.skeleton-line--title{height:28px}.skeleton-line--title+.skeleton-line--title{width:70%}.skeleton-line--text{height:14px;width:90%}.skeleton-line--text+.skeleton-line--text{width:60%}.skeleton-line--btn{height:38px;width:160px;margin-top:var(--space-sm);border-radius:var(--border-radius-md)}.skeleton-carousel-card{flex:0 0 280px;border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);overflow:hidden}.skeleton-carousel-card__img{height:165px}.skeleton-carousel-card__body{padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.portal-article--skeleton{display:grid;grid-template-columns:130px 1fr;gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--color-gray-200)}.portal-article--skeleton .skeleton-thumb{height:90px;border-radius:var(--border-radius-md)}.portal-article--skeleton .skeleton-content{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-xs)}.portal-page .navbar{background-color:var(--color-primary-dark)!important;box-shadow:var(--shadow-sm)}.portal-page .navbar .navbar__menu a:not(.navbar__cta){color:var(--color-white)!important}.portal-page .navbar .navbar__menu a:not(.navbar__cta):hover{color:var(--color-accent-light)!important}.portal-page .navbar__hamburger span{background-color:var(--color-white)!important}.portal-page{background-color:var(--color-white);padding-top:var(--navbar-height)}.portal-header{padding:var(--space-xl) 0 var(--space-md);border-bottom:1px solid var(--color-gray-200);background-color:var(--color-off-white)}.portal-header__breadcrumb{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-gray-500);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em;flex-wrap:nowrap;overflow:hidden;min-width:0}.portal-header__breadcrumb i{flex-shrink:0}.portal-header__breadcrumb a{flex-shrink:0;color:var(--color-gray-500);text-decoration:none;transition:color var(--transition-fast)}.portal-header__breadcrumb a:hover{color:var(--color-accent)}#portal-article-view .portal-header__breadcrumb span:last-child{display:block;min-width:0;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(to right,black 80%,transparent 100%);-webkit-mask-image:linear-gradient(to right,black 80%,transparent 100%)}.portal-header__title{font-size:clamp(1.8rem, 5vw, 2.5rem);font-weight:var(--font-weight-black);color:var(--color-primary);line-height:1.1;margin-bottom:6px;letter-spacing:-.01em}.portal-header__title span{color:var(--color-accent)}.portal-header__desc{font-size:var(--font-size-sm);color:var(--color-gray-500);max-width:600px;line-height:var(--line-height-relaxed);margin:0}.portal-bar{padding:var(--space-xs) 0;border-bottom:1px solid var(--color-gray-200);background:rgba(255,255,255,.95);position:sticky;top:var(--navbar-height);z-index:var(--z-dropdown);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.portal-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.portal-count{font-size:.75rem;color:var(--color-gray-500);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em}.portal-bar__controls{display:flex;align-items:center;gap:var(--space-sm)}.portal-search{position:relative}.portal-search__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-gray-400);font-size:.85rem;pointer-events:none}.portal-search__input{width:180px;padding:6px 10px 6px 28px;border:1px solid var(--color-gray-300);border-radius:var(--border-radius-full);font-size:.78rem;font-family:var(--font-family);color:var(--color-primary);background:var(--color-white);outline:0;transition:all var(--transition-fast)}.portal-search__input:focus{border-color:var(--color-primary);width:240px}.portal-filter-container{position:relative}.portal-filter-toggle{display:inline-flex;align-items:center;gap:6px;background:var(--color-white);border:1px solid var(--color-gray-300);padding:6px 14px;border-radius:var(--border-radius-full);font-size:.75rem;font-weight:var(--font-weight-semibold);font-family:var(--font-family);color:var(--color-gray-600);cursor:pointer;transition:all var(--transition-fast)}.portal-filter-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.portal-filter-toggle.is-active{background-color:rgba(41,40,93,.08);border-color:var(--color-primary);color:var(--color-primary)}.portal-filters-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-md);min-width:320px;display:none;flex-direction:column;gap:var(--space-xs);animation:dropdownIn .2s ease}.portal-filters-dropdown.is-open{display:flex}@keyframes dropdownIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.portal-filters-dropdown__title{font-size:.68rem;font-weight:var(--font-weight-bold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.portal-filters{display:flex;flex-wrap:wrap;gap:6px}.portal-filter-btn{background:var(--color-off-white);border:1px solid var(--color-gray-200);color:var(--color-gray-600);padding:5px 10px;border-radius:var(--border-radius-full);font-size:.7rem;font-weight:var(--font-weight-medium);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast)}.portal-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.portal-filter-btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.portal-content{padding:var(--space-xl) 0 var(--space-4xl)}.portal-list{display:flex;flex-direction:column;max-width:var(--max-width-narrow);margin:0 auto}.portal-article{display:grid;grid-template-columns:160px 1fr;gap:var(--space-lg);align-items:start;text-decoration:none;color:inherit;cursor:pointer;padding:var(--space-lg) 0;border-bottom:1px solid var(--color-gray-200);transition:opacity var(--transition-fast)}.portal-article:hover{opacity:.95}.portal-article__thumb-wrapper{width:100%;aspect-ratio:4/3;border-radius:var(--border-radius-md);overflow:hidden;background-color:var(--color-gray-100)}.portal-article__thumb{width:100%;height:100%;background-size:cover;background-position:center;transition:transform var(--transition-slow)}.portal-article:hover .portal-article__thumb{transform:scale(1.03)}.portal-article__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-light) 0,var(--color-primary) 100%);color:rgba(255,255,255,.15);font-size:2.2rem}.portal-article__content{display:flex;flex-direction:column;gap:4px}.portal-article__meta{display:flex;align-items:center;gap:var(--space-xs);font-size:.7rem;font-weight:var(--font-weight-semibold);color:var(--color-gray-400);text-transform:uppercase;letter-spacing:.05em}.portal-article__meta time{color:var(--color-accent)}.portal-article__title{font-size:1.15rem;font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:var(--line-height-snug);margin:0;transition:color var(--transition-fast)}.portal-article:hover .portal-article__title{color:var(--color-accent)}.portal-article__desc{font-size:.88rem;color:var(--color-gray-500);line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portal-mini-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) 0;gap:8px;color:var(--color-gray-400);font-size:.72rem;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.08em}.portal-mini-loader__lottie{width:50px;height:50px}.portal-empty{text-align:center;padding:var(--space-3xl) 0;color:var(--color-gray-500)}.portal-empty i{font-size:3rem;color:var(--color-gray-300);margin-bottom:var(--space-md)}.portal-empty h3{font-size:var(--font-size-lg);color:var(--color-primary);margin-bottom:8px}.portal-empty__reset{margin-top:var(--space-md);background:0 0;border:1px solid var(--color-primary);color:var(--color-primary);padding:8px 20px;border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast)}.portal-empty__reset:hover{background:var(--color-primary);color:var(--color-white)}.portal-article--skeleton{pointer-events:none}.portal-article--skeleton .portal-article__desc,.portal-article--skeleton .portal-article__meta,.portal-article--skeleton .portal-article__thumb-wrapper,.portal-article--skeleton .portal-article__title{background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-200) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;color:transparent!important}.portal-article--skeleton .portal-article__meta{width:120px;height:14px}.portal-article--skeleton .portal-article__title{height:24px}.portal-article--skeleton .portal-article__desc{height:40px}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.container--narrow{max-width:800px;margin:0 auto}.single-article{padding-bottom:var(--space-4xl)}.single-article__header{padding:var(--space-2xl) 0 var(--space-lg)}.single-article__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-sm)}.single-article__tag{background:rgba(41,40,93,.08);color:var(--color-primary);font-size:.7rem;font-weight:var(--font-weight-semibold);padding:4px 10px;border-radius:var(--border-radius-full);text-transform:uppercase;letter-spacing:.05em}.single-article__title{font-size:clamp(2rem, 5vw, 2.8rem);font-weight:var(--font-weight-black);color:var(--color-primary-dark);line-height:1.15;margin-bottom:var(--space-md);letter-spacing:-.02em}.single-article__meta{display:flex;align-items:center;gap:var(--space-xs);font-size:.85rem;color:var(--color-gray-500);margin-bottom:var(--space-md)}.single-article__meta .dot{color:var(--color-gray-300)}.single-article__hero-img{width:100%;aspect-ratio:16/9;border-radius:var(--border-radius-lg);background-size:cover;background-position:center;margin-bottom:var(--space-2xl);box-shadow:var(--shadow-md)}.single-article__body{font-size:1.08rem;line-height:1.8;color:var(--color-gray-700)}.single-article__body h2{font-size:1.6rem;font-weight:var(--font-weight-bold);color:var(--color-primary);margin:var(--space-2xl) 0 var(--space-md)}.single-article__body h3{font-size:1.3rem;font-weight:var(--font-weight-bold);color:var(--color-primary);margin:var(--space-xl) 0 var(--space-xs)}.single-article__body{font-size:1.1rem;line-height:1.85;color:var(--color-gray-800);letter-spacing:-.003em}.single-article__body p{margin-bottom:var(--space-xl);text-align:justify;text-justify:inter-word;hyphens:auto}.single-article__body p:first-of-type{font-size:1.2rem;line-height:1.8;color:var(--color-primary-dark);font-weight:var(--font-weight-medium)}.single-article__body h2{font-size:1.6rem;font-weight:var(--font-weight-bold);color:var(--color-primary);margin:var(--space-2xl) 0 var(--space-md);line-height:1.3}.single-article__body h3{font-size:1.3rem;font-weight:var(--font-weight-bold);color:var(--color-primary);margin:var(--space-xl) 0 var(--space-xs)}.single-article__body ol,.single-article__body ul{margin-bottom:var(--space-xl);padding-left:var(--space-xl);line-height:1.75}.single-article__body li{margin-bottom:8px}.single-article__body blockquote{border-left:4px solid var(--color-accent);padding:var(--space-lg) var(--space-xl);margin:var(--space-2xl) 0;font-style:italic;font-size:1.12rem;color:var(--color-primary);background:linear-gradient(135deg,var(--color-off-white) 0,#f4f6fa 100%);border-radius:0 var(--border-radius-md) var(--border-radius-md) 0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.03)}.single-article__body a{color:var(--color-accent);text-decoration:underline;font-weight:var(--font-weight-semibold)}.single-article__footer{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--color-gray-200)}.single-article__related{margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-gray-200)}.single-article__related-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--space-lg)}.single-article__related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg)}.related-card{display:flex;flex-direction:column;gap:var(--space-sm);text-decoration:none;color:inherit}.related-card__thumb{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;border-radius:var(--border-radius-md);transition:opacity var(--transition-fast)}.related-card:hover .related-card__thumb{opacity:.9}.related-card__tag{font-size:.7rem;font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--color-accent)}.related-card__title{font-size:.98rem;font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1.35;transition:color var(--transition-fast)}.related-card:hover .related-card__title{color:var(--color-accent)}.related-card__date{font-size:var(--font-size-xs);color:var(--color-gray-500)}.single-article__footer .btn--outline{background-color:transparent;color:var(--color-primary)!important;border:1px solid var(--color-gray-300)!important;font-weight:var(--font-weight-semibold);transition:background-color var(--transition-fast),color var(--transition-fast)}.single-article__footer .btn--outline:hover{background-color:var(--color-primary);color:var(--color-white)!important;border-color:var(--color-primary)!important}.portal-hero-featured{padding:var(--space-xl) 0;background:var(--color-white)}.featured-card{display:grid;grid-template-columns:1.15fr 0.85fr;gap:var(--space-2xl);align-items:stretch;background:var(--color-off-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-xl);overflow:hidden;text-decoration:none;color:inherit;cursor:pointer}.featured-card:hover .featured-card__title{color:var(--color-accent)}.featured-card__img-wrapper{width:100%;height:100%;overflow:hidden;position:relative}.featured-card__img{width:100%;height:100%;background-size:cover;background-position:center;transition:opacity var(--transition-fast)}.featured-card:hover .featured-card__img{opacity:.93}.featured-card__content{padding:var(--space-xl) var(--space-2xl) var(--space-xl) 0;display:flex;flex-direction:column;justify-content:center;gap:var(--space-md)}.featured-card__tag{align-self:flex-start;font-size:.75rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);background:rgba(229,30,50,.08);padding:4px 12px;border-radius:var(--border-radius-full)}.featured-card__title{font-size:clamp(1.4rem, 2.2vw, 1.95rem);font-weight:var(--font-weight-black);color:var(--color-primary);line-height:1.25;transition:color var(--transition-fast)}.featured-card__excerpt{font-size:var(--font-size-base);color:var(--color-gray-600);line-height:1.6}.featured-card__meta{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-gray-500)}.portal-carousel-section{padding:var(--space-xl) 0 var(--space-2xl);background:var(--color-off-white);border-top:1px solid var(--color-gray-200);border-bottom:1px solid var(--color-gray-200)}.portal-carousel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.portal-carousel__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.portal-carousel__nav{display:flex;gap:var(--space-xs)}.portal-carousel__btn{width:38px;height:38px;border-radius:var(--border-radius-full);border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.portal-carousel__btn:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.portal-carousel__track-container{overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:6px}.portal-carousel__track-container::-webkit-scrollbar{display:none}.portal-carousel__track{display:flex;gap:var(--space-lg)}.carousel-card{flex:0 0 280px;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}.carousel-card:hover .carousel-card__title{color:var(--color-accent)}.carousel-card__thumb{width:100%;height:165px;background-size:cover;background-position:center;transition:opacity var(--transition-fast)}.carousel-card:hover .carousel-card__thumb{opacity:.92}.carousel-card__body{padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.carousel-card__tag{font-size:.72rem;font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--color-accent)}.carousel-card__title{font-size:1.02rem;font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1.35;transition:color var(--transition-fast)}.carousel-card__meta{margin-top:auto;padding-top:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-gray-500)}@media (max-width:640px){.portal-article{grid-template-columns:100px 1fr;gap:var(--space-md);padding:var(--space-md) 0}.portal-article__thumb-wrapper{aspect-ratio:1/1}.portal-article__placeholder{font-size:1.5rem}.portal-article__title{font-size:.95rem}.portal-article__desc{display:none}.portal-search__input{width:140px}.portal-search__input:focus{width:170px}.portal-filters-dropdown{right:auto;left:0;width:calc(100vw - 32px)}.single-article__geo-box{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}