
:root {
    --km-bg: #F8FAFC;
    --km-surface: #FFFFFF;
    --km-primary: #0F172A; /* Navy */
    --km-accent: #D97706; /* Bronze/Gold */
    --km-text: #334155;
    --km-text-light: #64748B;
    --km-border: #E2E8F0;
    --km-font-head: 'Merriweather', serif;
    --km-font-body: 'Inter', sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: var(--km-bg); color: var(--km-text); font-family: var(--km-font-body); line-height: 1.6; }
a { text-decoration: none; color: inherit; }
.km-wrap { max-width: 1600px; width: 95%; margin: 0 auto; padding: 0; }

/* Header */
.km-top-bar { background: var(--km-primary); color: white; padding: 20px 0; border-bottom: 4px solid var(--km-accent); }
.km-top-bar-top { display: flex; flex-direction: column; align-items: center; gap: 15px; margin-bottom: 0; }
.km-brand { font-family: var(--km-font-head); font-size: 2.5rem; font-weight: 700; color: white; letter-spacing: 1px; }
.km-brand span { color: var(--km-accent); }
.km-nav-links { display: flex; gap: 20px; }
.km-nav-links a { font-weight: 500; font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.5px; transition: color 0.3s; }
.km-nav-links a:hover, .km-nav-links a.km-current { color: var(--km-accent); }

/* Main Grid */
.km-main-area { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; margin: 40px auto; }
@media (max-width: 768px) { 
    .km-main-area { grid-template-columns: 1fr; } 
    .km-nav-links { flex-wrap: wrap; justify-content: center; gap: 10px; }
    .km-nav-links a { font-size: 0.85rem; }
}

/* Articles */
.km-post-block { background: var(--km-surface); border: 1px solid var(--km-border); border-radius: 4px; overflow: hidden; margin-bottom: 30px; box-shadow: 0 2px 10px rgba(0,0,0,0.02); transition: transform 0.3s; }
.km-post-block:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.km-post-thumb { width: 100%; height: 250px; object-fit: cover; border-bottom: 1px solid var(--km-border); }
.km-post-body { padding: 25px; }
.km-post-tag { font-size: 0.8rem; color: var(--km-accent); text-transform: uppercase; font-weight: 600; margin-bottom: 10px; display: block; }
.km-post-head { font-family: var(--km-font-head); font-size: 1.5rem; color: var(--km-primary); margin-bottom: 15px; line-height: 1.3; }
.km-post-excerpt { color: var(--km-text-light); margin-bottom: 20px; }
.km-btn-more { font-weight: 600; color: var(--km-primary); border-bottom: 2px solid var(--km-accent); padding-bottom: 2px; }

/* Sidebar */
.km-side-widget { background: var(--km-surface); padding: 25px; border: 1px solid var(--km-border); border-top: 4px solid var(--km-primary); margin-bottom: 30px; }
.km-widget-head { font-family: var(--km-font-head); font-size: 1.2rem; color: var(--km-primary); margin-bottom: 20px; border-bottom: 1px solid var(--km-border); padding-bottom: 10px; }
.km-hot-link { margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dashed var(--km-border); }
.km-hot-link:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.km-hot-link a { font-weight: 500; color: var(--km-primary); transition: color 0.2s; }
.km-hot-link a:hover { color: var(--km-accent); }

/* Footer */
.km-bottom-bar { background: var(--km-primary); color: white; padding: 50px 0; margin-top: 50px; }
.km-bottom-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; }
.km-bottom-bar h3 { font-family: var(--km-font-head); color: var(--km-accent); margin-bottom: 20px; }
.km-bottom-bar ul { list-style: none; }
.km-bottom-bar ul li { margin-bottom: 10px; }
.km-bottom-bar ul li a { color: #CBD5E1; transition: color 0.2s; }
.km-bottom-bar ul li a:hover { color: white; }
.km-copy-text { text-align: center; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px; margin-top: 40px; color: #94A3B8; font-size: 0.85rem; }

/* Forms & Modals */
form { display: flex; flex-direction: column; gap: 15px; margin-top: 20px; }
input, textarea { padding: 12px; border: 1px solid var(--km-border); font-family: var(--km-font-body); border-radius: 4px; }
button { padding: 12px 24px; background: var(--km-accent); color: white; border: none; font-weight: 600; cursor: pointer; border-radius: 4px; transition: background 0.3s; }
button:hover { background: #B45309; }
.km-popup-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15,23,42,0.8); z-index: 1000; align-items: center; justify-content: center; backdrop-filter: blur(4px); }
.km-popup-overlay.km-current { display: flex; }
.km-popup-overlay-content { background: white; padding: 40px; border-radius: 8px; text-align: center; max-width: 400px; width: 90%; }
.km-popup-overlay-content h3 { font-family: var(--km-font-head); color: var(--km-primary); margin-bottom: 15px; }

/* Page Content */
.km-static-area { background: white; padding: 40px; border: 1px solid var(--km-border); border-top: 4px solid var(--km-accent); margin-bottom: 40px; }
.km-static-area h2 { font-family: var(--km-font-head); color: var(--km-primary); margin-bottom: 20px; }
.km-static-area p { margin-bottom: 15px; }

/* About Page Styles */
.km-about-banner { text-align: center; max-width: 800px; margin: 0 auto 40px auto; }
.km-about-banner h2 { font-size: 2.5rem; margin-bottom: 20px; color: var(--km-primary); }
.km-about-banner p { font-size: 1.1rem; color: var(--km-text-light); line-height: 1.8; }
.km-about-layout { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; margin-top: 40px; }
.km-about-item { background: var(--km-surface); border: 1px solid var(--km-border); border-top: 4px solid var(--km-accent); padding: 30px; border-radius: 6px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); text-align: center; transition: transform 0.3s; }
.km-about-item:hover { transform: translateY(-5px); }
.km-about-svg { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; background: rgba(217, 119, 6, 0.1); color: var(--km-accent); border-radius: 50%; margin-bottom: 20px; }
.km-about-svg svg { width: 32px; height: 32px; }
.km-about-item h3 { font-family: var(--km-font-head); color: var(--km-primary); margin-bottom: 15px; font-size: 1.3rem; }
.km-about-item p { color: var(--km-text); font-size: 0.95rem; line-height: 1.6; }
