:root{
    --bg:#fbfdfc;
    --text:#12202a;
    --muted:#6b7280;
    --border:rgba(17, 24, 39, .08);
    --accent:#22c55e;
    --link:#15803d;
    --max:1180px;
}

*{box-sizing:border-box}

body{
    margin:0;
    font:16.5px/1.85 system-ui,-apple-system,Segoe UI,Roboto;
    color:var(--text);
    background:
            radial-gradient(1000px 500px at 15% 0%, rgba(34,197,94,.10), transparent 55%),
            radial-gradient(900px 450px at 85% 10%, rgba(14,165,233,.08), transparent 55%),
            var(--bg);
    font-weight:400;
}

a{color:inherit;text-decoration:none}
a:hover{opacity:.9}

.container{
    max-width:var(--max);
    margin:0 auto;
    padding:0 22px;
}

/* Header */
.header{
    border-bottom:1px solid var(--border);
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(12px);
}
.header__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:72px;
}
.brand{
    font-weight:600; /* БЫЛО жирно → стало легко */
    letter-spacing:.2px;
}
.nav a{
    margin-left:22px;
    font-weight:500;
    color:var(--muted);
}
.nav a.active{
    color:var(--text);
    font-weight:500;
}

/* Main layout */
main{padding:56px 0 92px;}
.page{
    display:grid;
    grid-template-columns: 1fr 320px;
    gap:72px;
    align-items:start;
}

/* Featured */
.featured{
    display:grid;
    grid-template-columns: 1.05fr 1fr;
    gap:40px;
}

.featured img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:0;
    box-shadow:0 16px 50px rgba(0,0,0,.08);
}

.featured .kicker{
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:500;
}

.featured h1{
    font-size:44px;
    line-height:1.25;
    margin:16px 0 14px;
    font-weight:500;          /* КЛЮЧЕВО */
    letter-spacing:-.2px;
}

.featured .meta{
    font-size:14px;
    color:var(--muted);
    margin-bottom:24px;
}

.featured p{
    max-width:60ch;
    font-size:17px;
    line-height:1.85;
    color:var(--muted);
}

/* Button */
.btn{
    display:inline-flex;
    align-items:center;
    padding:12px 22px;
    border:1px solid rgba(34,197,94,.25);
    background:rgba(34,197,94,.10);
    font-weight:500;
    letter-spacing:.02em;
    border-radius:0;
    color:#14532d;
}
.btn:hover{
    background:rgba(34,197,94,.15);
}

/* Big posts */
.big-posts{
    margin-top:64px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:44px;
}

.big-post{
    padding:20px 18px 22px;
    background:rgba(255,255,255,.65);
    border:1px solid var(--border);
    border-radius:0;
    backdrop-filter:blur(10px);
}

.big-post img{
    width:100%;
    height:230px;
    object-fit:cover;
    border-radius:0;
    box-shadow:0 14px 40px rgba(0,0,0,.08);
}

.big-post .meta{
    font-size:13px;
    color:var(--muted);
    margin:16px 0 10px;
    font-weight:400;
}

.big-post h2{
    font-size:20px;
    line-height:1.45;
    font-weight:500;   /* БОЛЬШАЯ разница */
    letter-spacing:-.1px;
}

.big-post h2 a:hover{
    color:var(--accent);
}

.big-post .readmore{
    margin-top:12px;
    display:inline-block;
    font-size:14px;
    color:var(--muted);
    border-bottom:1px solid rgba(17,24,39,.2);
}

/* Sidebar */
.sidebar{
    padding:24px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.6);
    border-radius:0;
    backdrop-filter:blur(10px);
}

.sidebar h3{
    font-size:17px;
    font-weight:500;
    margin:0 0 18px;
}

/* Categories */
.cat-list{
    list-style:none;
    padding:0;
    margin:0 0 42px;
}
.cat-list li{
    padding:10px 0;
    border-bottom:1px solid rgba(0,0,0,.05);
}
.cat-list a{
    font-weight:500;
    color:var(--link);
}

/* Latest posts */
.latest-mini li{
    display:flex;
    gap:14px;
    margin-bottom:20px;

}

.latest-mini img{
    width:80px;
    height:80px;
    object-fit:cover;
    border-radius:0;
}

.latest-mini strong{
    font-weight:500;
    line-height:1.4;
}

.latest-mini small{
    font-size:13px;
    color:var(--muted);
}

/* Footer */
.footer{
    padding:38px 0;
    background:rgba(255,255,255,.7);
    border-top:1px solid var(--border);
}
.footer__links a{
    font-weight:500;
    color:var(--muted);
}

/* Excerpt */
.card-excerpt{
    font-size:15px;
    line-height:1.75;
    color:var(--muted);
}

/* Responsive */
@media (max-width:1100px){
    .big-posts{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:980px){
    .page{grid-template-columns:1fr;}
    .featured{grid-template-columns:1fr;}
    .featured img{height:300px;}
}
@media (max-width:560px){
    .big-posts{grid-template-columns:1fr;}
    .featured h1{font-size:36px;}
}
/* ===============================
   Latest Posts — clean & airy
   =============================== */

.latest-mini{
    margin-top:8px;
    padding: 0;
}

.latest-mini li{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:14px;
    padding:14px 0;
    margin:0;
    border-bottom:1px solid rgba(0,0,0,.05);
}

.latest-mini li:last-child{
    border-bottom:none;
}

/* Image */
.latest-mini img{
    width:64px;
    height:64px;
    object-fit:cover;
    border-radius:0;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

/* Text block */
.latest-mini strong{
    font-size:15px;
    line-height:1.45;
    font-weight:500;        /* легче */
    letter-spacing:-.1px;
    margin-bottom:4px;
    display:block;

    /* аккуратное ограничение */
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.latest-mini strong a{
    color:var(--text);
}

.latest-mini strong a:hover{
    color:var(--accent);
}

/* Date */
.latest-mini small{
    display:block;
    font-size:12.5px;
    color:var(--muted);
    margin-top:2px;
}
/* ===============================
   Featured on Home: image on top
   =============================== */
.featured{
    display:grid;
    grid-template-columns: 1fr !important; /* вместо 2 колонок */
    gap:22px !important;
    align-items:start !important;
}

/* картинка сверху */
.featured img{
    width:100% !important;
    height:420px !important;  /* можно 360/420/480 */
    object-fit:cover !important;
    border-radius:0 !important;
    display:block !important;
}

/* блок текста снизу */
.featured > div{
    padding-top:0 !important;
}

/* чуть аккуратнее типографика под вертикальный формат */
.featured h1{
    font-size:42px !important;
    line-height:1.22 !important;
    margin:12px 0 10px !important;
    font-weight:500 !important;
}

.featured .meta{
    margin-bottom:18px !important;
}

/* на мобильных — ниже высоту */
@media (max-width: 980px){
    .featured img{
        height:300px !important;
    }
}

/* ===============================
   Categories — calm & editorial
   =============================== */

.cat-list{
    margin:10px 0;
    padding:0;
    list-style:none;
}

/* каждая категория — как строка-журнал */
.cat-list li{
    padding:10px 0;
    border-bottom:1px solid rgba(0,0,0,.04);
    position:relative;
}

/* ссылка */
.cat-list a{
    display:inline-block;
    font-size:15.5px;
    font-weight:500;
    color:var(--link);
    letter-spacing:.01em;
    padding-left:18px; /* место под маркер */
    transition:color .2s ease;
}

/* тонкий маркер слева */
.cat-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:6px;
    height:6px;
    background:var(--accent);
    transform:translateY(-50%);
    opacity:.35;
}

/* hover */
.cat-list li:hover::before{
    opacity:1;
}

.cat-list a:hover{
    color:var(--accent);
    opacity:1;
}

/* компактнее на мобильных */
@media (max-width: 980px){
    .cat-list a{
        font-size:15px;
    }
}
/* ===============================
   Posts grid: 2 columns (not 3)
   =============================== */

.big-posts{
    grid-template-columns: repeat(2, 1fr) !important;
    gap:56px !important; /* больше воздуха между карточками */
}

/* немного увеличим картинку — смотрится лучше при 2 колонках */
.big-post img{
    height:260px !important;
}

/* мобильная версия — по одной */
@media (max-width: 980px){
    .big-posts{
        grid-template-columns:1fr !important;
        gap:40px !important;
    }
}
article img{
    border-radius: 0 !important;
}

/* FORCE: logo + brand in one row */
.brand-wrap{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    flex-direction:row !important;
    white-space:nowrap !important;
}

.brand-wrap img{
    display:block !important;
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
}

.brand-wrap .brand{
    display:block !important;
    margin:0 !important;
    line-height:1 !important;
}
