*{box-sizing:border-box}
:root{
 --bg:#f4f5f6;
 --paper:#fff;
 --text:#18212a;
 --muted:#6d7680;
 --line:#e1e5e9;
 --accent:#234d68;
 --accent2:#dfeaf0;
 --dark:#12202a;
}
html{scroll-behavior:smooth}
body{
 margin:0;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
 background:var(--bg);
 color:var(--text);
 line-height:1.6
}
a{text-decoration:none;color:inherit}
img{display:block;width:100%}

.topbar{
 background:var(--dark);
 color:#cbd5dc;
 font-size:13px
}
.topbar-inner{
 max-width:1180px;
 margin:auto;
 padding:8px 24px;
 display:flex;
 justify-content:space-between;
 gap:20px
}

header{
 position:sticky;
 top:0;
 z-index:20;
 background:rgba(255,255,255,.96);
 backdrop-filter:blur(12px);
 border-bottom:1px solid var(--line)
}
.header-inner{
 max-width:1180px;
 margin:auto;
 min-height:78px;
 padding:0 24px;
 display:flex;
 align-items:center;
 gap:38px
}
.brand{
 display:flex;
 align-items:center;
 gap:12px;
 min-width:205px
}
.logo{
 width:44px;
 height:44px;
 border-radius:14px;
 background:linear-gradient(145deg,#17384b,#6a91a9);
 position:relative;
 overflow:hidden
}
.logo:before{
 content:"";
 position:absolute;
 width:24px;
 height:14px;
 border-radius:50%;
 border:3px solid rgba(255,255,255,.88);
 left:7px;
 top:11px;
 transform:rotate(-15deg)
}
.logo:after{
 content:"";
 position:absolute;
 width:8px;
 height:8px;
 border-radius:50%;
 background:white;
 right:7px;
 bottom:7px
}
.brand-text strong{
 display:block;
 font-size:22px;
 letter-spacing:.7px;
 line-height:1
}
.brand-text span{
 display:block;
 font-size:10px;
 color:#7c8790;
 text-transform:uppercase;
 letter-spacing:1.7px;
 margin-top:5px
}

nav{
 margin-left:auto;
 display:flex;
 align-items:center;
 gap:24px;
 flex-wrap:wrap
}
nav a{
 font-size:14px;
 font-weight:600;
 color:#394650
}
nav a:hover{color:var(--accent)}
.nav-btn{
 background:var(--accent);
 color:white!important;
 padding:9px 15px;
 border-radius:8px
}

.hero{
 max-width:1180px;
 margin:34px auto 0;
 padding:0 24px
}
.hero-box{
 min-height:590px;
 border-radius:22px;
 overflow:hidden;
 display:flex;
 align-items:flex-end;
 background:
 linear-gradient(90deg,rgba(9,20,28,.82),rgba(9,20,28,.14)),
 url('https://images.unsplash.com/photo-1516035069371-29a1b244cc32?auto=format&fit=crop&w=1800&q=85') center/cover
}
.hero-content{
 color:white;
 padding:58px;
 max-width:760px
}
.kicker{
 display:inline-block;
 font-size:12px;
 text-transform:uppercase;
 letter-spacing:1.8px;
 font-weight:700
}
.hero h1{
 margin:12px 0 18px;
 font-size:clamp(44px,7vw,76px);
 line-height:1;
 letter-spacing:-2.5px
}
.hero p{
 max-width:650px;
 font-size:18px;
 color:rgba(255,255,255,.9)
}
.meta{
 margin-top:26px;
 display:flex;
 gap:18px;
 font-size:13px;
 color:rgba(255,255,255,.72)
}

section{
 max-width:1180px;
 margin:auto;
 padding:75px 24px 0
}
.section-head{
 display:flex;
 justify-content:space-between;
 align-items:end;
 gap:30px;
 margin-bottom:28px
}
.section-head h2{
 margin:5px 0 0;
 font-size:34px;
 letter-spacing:-1px
}
.section-head p{
 margin:0;
 color:var(--muted);
 max-width:490px
}

.grid{
 display:grid;
 grid-template-columns:1.5fr 1fr 1fr;
 gap:20px
}
.card{
 background:var(--paper);
 border:1px solid var(--line);
 border-radius:17px;
 overflow:hidden;
 transition:.2s
}
.card:hover{transform:translateY(-3px)}
.card img{
 height:235px;
 object-fit:cover
}
.card.big img{height:370px}
.card-body{padding:22px}
.card-body small{
 color:var(--accent);
 text-transform:uppercase;
 font-weight:700;
 letter-spacing:1px
}
.card-body h3{
 margin:7px 0 8px;
 font-size:21px;
 line-height:1.25
}
.card.big h3{font-size:29px}
.card-body p{
 margin:0;
 color:var(--muted)
}

.categories{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:16px
}
.category{
 background:var(--accent2);
 min-height:145px;
 border-radius:15px;
 padding:27px
}
.category .icon{font-size:28px}
.category strong{
 display:block;
 font-size:19px;
 margin-top:20px
}
.category small{color:#647681}

.article-list{
 background:white;
 border:1px solid var(--line);
 border-radius:18px;
 overflow:hidden
}
.article-row{
 display:grid;
 grid-template-columns:180px 1fr 120px;
 gap:24px;
 align-items:center;
 padding:21px;
 border-bottom:1px solid var(--line)
}
.article-row:last-child{border-bottom:0}
.article-row img{
 width:180px;
 height:115px;
 object-fit:cover;
 border-radius:11px
}
.article-row h3{
 margin:0 0 6px;
 font-size:20px
}
.article-row p{
 margin:0;
 color:var(--muted)
}
.article-date{
 text-align:right;
 color:#89939a;
 font-size:13px
}

.banner{
 background:var(--dark);
 color:white;
 border-radius:20px;
 padding:52px;
 display:grid;
 grid-template-columns:1.2fr .8fr;
 gap:45px
}
.banner h2{
 margin:8px 0;
 font-size:38px
}
.banner p{color:#c2ccd2}
.banner-side{
 border:1px solid rgba(255,255,255,.18);
 border-radius:14px;
 padding:28px;
 color:#d6dfe4
}

.page{
 max-width:900px;
 margin:auto;
 padding:80px 24px;
 min-height:70vh
}
.page h1{
 font-size:52px;
 line-height:1.05;
 letter-spacing:-1.5px;
 margin-bottom:20px
}
.page p{
 color:var(--muted);
 font-size:17px
}
.info{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:18px;
 margin-top:35px
}
.info-card{
 background:white;
 border:1px solid var(--line);
 border-radius:14px;
 padding:27px
}

footer{
 margin-top:80px;
 background:#101a21;
 color:#ccd6dc
}
.footer-grid{
 max-width:1180px;
 margin:auto;
 padding:52px 24px;
 display:grid;
 grid-template-columns:1.5fr 1fr 1fr 1fr;
 gap:40px
}
.footer-brand{
 font-size:23px;
 font-weight:800
}
.footer-grid strong{
 display:block;
 margin-bottom:12px
}
.footer-grid a{
 display:block;
 color:#95a1a8;
 font-size:14px;
 margin:7px 0
}
.copy{
 max-width:1180px;
 margin:auto;
 padding:18px 24px 30px;
 border-top:1px solid rgba(255,255,255,.08);
 color:#76828a;
 font-size:13px
}

@media(max-width:900px){
 .grid{grid-template-columns:1fr 1fr}
 .card.big{grid-column:1/-1}
 .categories{grid-template-columns:1fr 1fr}
 .banner{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
 .topbar{display:none}
 .header-inner{
   flex-direction:column;
   align-items:flex-start;
   padding-top:16px;
   padding-bottom:16px
 }
 nav{margin-left:0;gap:14px}
 .hero{padding:0 12px;margin-top:18px}
 .hero-box{min-height:510px}
 .hero-content{padding:30px}
 .grid,.categories,.info{grid-template-columns:1fr}
 .article-row{
   grid-template-columns:105px 1fr;
   gap:14px
 }
 .article-row img{
   width:105px;
   height:85px
 }
 .article-date{display:none}
 .footer-grid{grid-template-columns:1fr}
}
