.news-section{
position:relative;
padding:120px 0;
overflow:hidden;
background:
radial-gradient(circle at 14% 18%, rgba(95,201,223,.12), transparent 18%),
radial-gradient(circle at 86% 20%, rgba(17,143,166,.12), transparent 20%);
}

.news-section::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(rgba(1,51,58,.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(1,51,58,.03) 1px, transparent 1px);
background-size:52px 52px;
mask-image:none;
opacity:0;
pointer-events:none;
}

.news-shell{
position:relative;
z-index:1;
min-width:0;
}

.news-heading{
max-width:760px;
margin:0 auto 48px;
text-align:center;
}

.news-carousel{
position:relative;
}

.news-carousel__nav{
display:flex;
align-items:center;
justify-content:flex-start;
gap:12px;
margin:0 0 20px;
}

.news-carousel__btn{
width:54px;
height:54px;
display:inline-flex;
align-items:center;
justify-content:center;
flex:0 0 auto;
border:1px solid rgba(255,255,255,.12);
border-radius:18px;
background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
box-shadow:0 18px 38px rgba(0,0,0,.14);
color:#e9fbff;
font-size:32px;
line-height:1;
cursor:pointer;
transition:transform .22s ease, background .22s ease, border-color .22s ease, opacity .22s ease;
}

.news-carousel__btn:hover{
transform:translateY(-1px);
background:linear-gradient(180deg, rgba(255,255,255,.1), rgba(255,255,255,.05));
border-color:rgba(95,201,223,.24);
}

.news-carousel__btn[disabled]{
opacity:.45;
cursor:default;
transform:none;
}

.news-carousel__viewport{
min-width:0;
overflow:hidden;
padding-bottom:12px;
}

.news-all-link{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:180px;
min-height:52px;
padding:0 22px;
margin-top:24px;
border-radius:16px;
background:linear-gradient(135deg, #118fa6, #5fc9df);
box-shadow:0 18px 35px rgba(17,143,166,.24);
color:#fff;
font-size:15px;
font-weight:800;
text-decoration:none;
transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}

.news-all-link:hover{
transform:translateY(-2px);
box-shadow:0 22px 40px rgba(17,143,166,.3);
filter:brightness(1.04);
}

.news-kicker{
display:inline-flex;
align-items:center;
gap:10px;
padding:10px 16px;
margin-bottom:18px;
border-radius:999px;
background:rgba(17,143,166,.08);
border:1px solid rgba(95,201,223,.16);
color:#d7f6fb;
font-size:14px;
}

.news-kicker::before{
content:"";
width:8px;
height:8px;
border-radius:50%;
background:#69d8e6;
box-shadow:0 0 12px rgba(105,216,230,.72);
}

.news-title{
margin:0 0 16px;
font-size:clamp(32px, 4vw, 46px);
line-height:1.2;
color:#fff;
}

.news-text{
margin:0;
font-size:17px;
line-height:1.9;
color:rgba(232,244,247,.76);
}

.news-grid{
display:grid;
grid-template-columns:1.3fr 1fr 1fr;
gap:24px;
min-width:0;
align-items:stretch;
}

.news-grid--slider{
display:flex;
gap:24px;
overflow-x:auto;
padding:0 4px 10px;
scroll-snap-type:x mandatory;
overscroll-behavior-x:contain;
scrollbar-width:none;
cursor:grab;
touch-action:pan-x pan-y pinch-zoom;
-webkit-overflow-scrolling:touch;
direction:ltr;
}

.news-grid--slider::-webkit-scrollbar{
display:none;
}

.news-grid--slider.is-dragging{
cursor:grabbing;
scroll-snap-type:none;
}

.news-card{
position:relative;
display:flex;
flex-direction:column;
flex:0 0 calc((100% - 48px) / 3);
height:100%;
min-height:100%;
border-radius:30px;
background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
border:1px solid rgba(255,255,255,.10);
box-shadow:0 22px 48px rgba(0,0,0,.18);
overflow:hidden;
min-width:0;
scroll-snap-align:start;
scroll-snap-stop:always;
direction:rtl;
}

.news-card-media{
display:block;
position:relative;
height:clamp(210px, 19vw, 250px);
min-height:210px;
background:rgba(6,24,36,.72);
overflow:hidden;
}

.news-card-media > .news-card-image,
.news-card-media > img,
.news-card-placeholder{
display:block;
position:absolute;
inset:0;
width:100%;
height:100%;
min-width:100%;
min-height:100%;
max-width:none;
object-fit:cover;
object-position:center center;
}

.news-card-media > .news-card-image,
.news-card-media > img{
width:100% !important;
height:100% !important;
min-width:100% !important;
min-height:100% !important;
max-width:none !important;
object-fit:cover !important;
object-position:center center !important;
transform:scale(1.04);
}

.news-card-placeholder{
background:
radial-gradient(circle at 70% 18%, rgba(95,201,223,.18), transparent 24%),
linear-gradient(135deg, rgba(12,45,63,.94), rgba(5,18,28,.92));
}

.news-card-body{
display:flex;
flex-direction:column;
padding:22px 24px 24px;
height:100%;
}

.news-card-meta{
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
flex-wrap:wrap;
margin-bottom:16px;
font-size:13px;
color:rgba(232,244,247,.64);
}

.news-tag{
display:inline-flex;
align-items:center;
justify-content:center;
width:max-content;
padding:9px 14px;
margin-bottom:18px;
border-radius:999px;
background:rgba(17,143,166,.08);
border:1px solid rgba(17,143,166,.12);
color:#118fa6;
font-size:13px;
font-weight:700;
}

.news-card h3{
margin:0 0 14px;
font-size:22px;
line-height:1.4;
color:#fff;
overflow-wrap:anywhere;
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:2;
overflow:hidden;
min-height:calc(22px * 1.4 * 2);
}

.news-card h3 a{
color:inherit;
text-decoration:none;
}

.news-card p{
margin:0 0 18px;
font-size:15px;
line-height:1.95;
color:rgba(232,244,247,.72);
display:-webkit-box;
-webkit-box-orient:vertical;
-webkit-line-clamp:3;
overflow:hidden;
min-height:calc(15px * 1.95 * 3);
}

.news-card a{
margin-top:auto;
color:#8feaf5;
font-weight:700;
text-decoration:none;
}

.news-empty{
padding:38px 30px;
border-radius:28px;
background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
border:1px solid rgba(255,255,255,.08);
text-align:center;
}

.news-empty h3{
margin:0 0 12px;
font-size:28px;
color:#fff;
}

.news-empty p{
margin:0;
font-size:16px;
line-height:1.9;
color:rgba(232,244,247,.76);
}

@media (max-width: 1100px){
.news-grid--slider{
gap:20px;
}

.news-grid--slider .news-card{
flex-basis:calc((100% - 20px) / 2);
}
}

@media (max-width: 900px){
.news-card{
min-height:auto;
border-radius:24px;
}

.news-card-media{
height:220px;
min-height:220px;
}

.news-card-body{
padding:20px;
}
}

@media (max-width: 767px){
.news-section{
padding:88px 0;
}

.news-carousel__nav{
margin-bottom:16px;
}

.news-carousel__btn{
width:48px;
height:48px;
border-radius:16px;
font-size:28px;
}

.news-grid--slider{
gap:18px;
padding:4px 0 10px;
scroll-padding-inline:0;
}

.news-grid--slider .news-card{
flex-basis:100%;
scroll-snap-align:center;
}

.news-card-media{
height:200px;
min-height:200px;
}
}
