@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400&family=Playfair+Display:wght@600;700&family=Space+Grotesk:wght@400;500;600;700&family=Outfit:wght@300;400;500;600&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
--bg-primary:#0e1117;
--bg-secondary:#161b22;
--bg-card:#1c2128;
--bg-accent:#21262d;
--text-primary:#e6edf3;
--text-secondary:#8b949e;
--text-muted:#6e7681;
--accent:#58a6ff;
--accent-dark:#1f6feb;
--accent-glow:rgba(88,166,255,.15);
--green:#3fb950;
--border:#30363d;
--border-light:#484f58;
--radius:12px;
--radius-lg:20px;
--shadow:0 8px 32px rgba(0,0,0,.3);
--shadow-sm:0 2px 8px rgba(0,0,0,.2);
--font-heading:'Playfair Display',serif;
--font-body:'DM Sans',sans-serif;
--font-alt:'Space Grotesk',sans-serif;
--font-light:'Outfit',sans-serif;
--max-width:1200px;
--header-h:72px
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:#79c0ff}

.page-loader{position:fixed;inset:0;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .4s,visibility .4s}
.page-loader.hidden{opacity:0;visibility:hidden}
.loader-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:rgba(14,17,23,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);z-index:1000;display:flex;align-items:center}
.header-inner{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:var(--font-alt);font-weight:700;font-size:1.25rem;color:var(--text-primary);letter-spacing:-.02em}
.logo span{color:var(--accent)}

nav{display:flex;align-items:center;gap:28px}
nav a{font-family:var(--font-light);font-weight:400;font-size:.9rem;color:var(--text-secondary);letter-spacing:.01em;position:relative;padding:4px 0}
nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent);transition:width .3s}
nav a:hover{color:var(--text-primary)}
nav a:hover::after{width:100%}

.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;z-index:1001}
.burger span{display:block;width:22px;height:2px;background:var(--text-primary);transition:transform .3s,opacity .3s}
.burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-nav{position:fixed;top:var(--header-h);right:-100%;width:280px;height:calc(100vh - var(--header-h));background:var(--bg-secondary);border-left:1px solid var(--border);padding:32px 24px;transition:right .35s ease;z-index:999;overflow-y:auto}
.mobile-nav.open{right:0}
.mobile-nav a{display:block;font-family:var(--font-light);font-size:1rem;color:var(--text-secondary);padding:14px 0;border-bottom:1px solid var(--border)}
.mobile-nav a:hover{color:var(--text-primary)}
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:998;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.mobile-overlay.show{opacity:1;visibility:visible}

.hero{margin-top:var(--header-h);padding:80px 24px 60px;background:linear-gradient(135deg,var(--bg-primary) 0%,#111827 50%,var(--bg-primary) 100%);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 70%);pointer-events:none}
.hero-inner{max-width:var(--max-width);margin:0 auto;position:relative;z-index:1}
.hero-badge{display:inline-block;font-family:var(--font-alt);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:var(--accent-glow);border:1px solid rgba(88,166,255,.2);padding:6px 16px;border-radius:100px;margin-bottom:24px}
.hero h1{font-family:var(--font-heading);font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.2;margin-bottom:20px;color:var(--text-primary)}
.hero p{font-family:var(--font-light);font-size:1.1rem;color:var(--text-secondary);max-width:620px;line-height:1.8}
.hero-meta{display:flex;gap:32px;margin-top:32px;flex-wrap:wrap}
.hero-meta-item{display:flex;flex-direction:column;gap:4px}
.hero-meta-item .label{font-family:var(--font-alt);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}
.hero-meta-item .value{font-family:var(--font-body);font-size:.95rem;color:var(--text-primary);font-weight:500}

main{max-width:var(--max-width);margin:0 auto;padding:60px 24px}

.section-label{font-family:var(--font-alt);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin-bottom:10px}
.section-title{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:600;margin-bottom:16px;color:var(--text-primary)}
.section-desc{font-family:var(--font-light);font-size:1rem;color:var(--text-secondary);max-width:600px;line-height:1.8;margin-bottom:40px}

.articles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:28px;margin-bottom:60px}
.article-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.article-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--border-light)}
.article-card-img{width:100%;height:220px;object-fit:cover}
.article-card-body{padding:28px}
.article-card-tag{font-family:var(--font-alt);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin-bottom:12px}
.article-card-body h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:600;margin-bottom:10px;line-height:1.35}
.article-card-body h3 a{color:var(--text-primary)}
.article-card-body h3 a:hover{color:var(--accent)}
.article-card-body p{font-size:.92rem;color:var(--text-secondary);line-height:1.7;margin-bottom:20px}
.article-card-footer{display:flex;align-items:center;justify-content:space-between}
.article-card-footer .read-link{font-family:var(--font-alt);font-size:.82rem;font-weight:500;color:var(--accent)}
.article-card-footer .read-link:hover{color:#79c0ff}
.article-card-footer .date{font-size:.78rem;color:var(--text-muted)}

.info-section{padding:60px 0}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.info-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px;transition:border-color .3s}
.info-box:hover{border-color:var(--accent)}
.info-box-icon{width:48px;height:48px;border-radius:12px;background:var(--accent-glow);display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:1.3rem}
.info-box h4{font-family:var(--font-alt);font-size:1.05rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}
.info-box p{font-size:.9rem;color:var(--text-secondary);line-height:1.7}

.article-page{margin-top:var(--header-h);padding:60px 24px}
.article-page-inner{max-width:780px;margin:0 auto}
.article-hero-img{width:100%;height:360px;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:36px}
.article-page-inner .article-badge{display:inline-block;font-family:var(--font-alt);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green);background:rgba(63,185,80,.1);border:1px solid rgba(63,185,80,.2);padding:5px 14px;border-radius:100px;margin-bottom:16px}
.article-page-inner h1{font-family:var(--font-heading);font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;line-height:1.25;margin-bottom:16px}
.article-page-inner .article-meta{font-family:var(--font-light);font-size:.88rem;color:var(--text-muted);margin-bottom:40px}

.article-content h2{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;margin:40px 0 16px;color:var(--text-primary);padding-top:16px;border-top:1px solid var(--border)}
.article-content h3{font-family:var(--font-alt);font-size:1.15rem;font-weight:600;margin:28px 0 12px;color:var(--text-primary)}
.article-content p{font-size:1rem;color:var(--text-secondary);line-height:1.85;margin-bottom:18px}
.article-content ul,.article-content ol{margin:0 0 20px 24px;color:var(--text-secondary)}
.article-content li{margin-bottom:8px;line-height:1.7;font-size:.95rem}
.article-content img{border-radius:var(--radius);margin:24px 0}
.article-content .img-caption{font-size:.8rem;color:var(--text-muted);text-align:center;margin-top:-16px;margin-bottom:24px}
.article-content blockquote{border-left:3px solid var(--accent);padding:16px 24px;margin:24px 0;background:var(--accent-glow);border-radius:0 var(--radius) var(--radius) 0}
.article-content blockquote p{color:var(--text-primary);margin-bottom:0}

.article-nav{display:flex;justify-content:space-between;margin-top:48px;padding-top:28px;border-top:1px solid var(--border);gap:16px;flex-wrap:wrap}
.article-nav a{font-family:var(--font-alt);font-size:.9rem;font-weight:500;color:var(--accent)}
.article-nav a:hover{color:#79c0ff}

.tip-box{background:rgba(63,185,80,.06);border:1px solid rgba(63,185,80,.15);border-radius:var(--radius);padding:20px 24px;margin:24px 0}
.tip-box h4{font-family:var(--font-alt);font-size:.9rem;color:var(--green);margin-bottom:8px}
.tip-box p{font-size:.92rem;color:var(--text-secondary);margin-bottom:0}

.detail-table{width:100%;border-collapse:collapse;margin:24px 0}
.detail-table th,.detail-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--border);font-size:.92rem}
.detail-table th{font-family:var(--font-alt);font-weight:600;color:var(--text-primary);background:var(--bg-accent)}
.detail-table td{color:var(--text-secondary)}

.static-page{margin-top:var(--header-h);padding:60px 24px}
.static-page-inner{max-width:780px;margin:0 auto}
.static-page-inner h1{font-family:var(--font-heading);font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:700;margin-bottom:12px}
.static-page-inner .page-updated{font-size:.85rem;color:var(--text-muted);margin-bottom:36px}
.static-page-inner h2{font-family:var(--font-alt);font-size:1.2rem;font-weight:600;margin:36px 0 12px;color:var(--text-primary)}
.static-page-inner h3{font-family:var(--font-alt);font-size:1.05rem;font-weight:600;margin:24px 0 10px;color:var(--text-primary)}
.static-page-inner p{font-size:.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}
.static-page-inner ul{margin:0 0 20px 24px;color:var(--text-secondary)}
.static-page-inner li{margin-bottom:6px;line-height:1.7;font-size:.92rem}

.contact-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:32px 0}
.contact-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px}
.contact-box .contact-label{font-family:var(--font-alt);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:8px}
.contact-box .contact-value{font-size:.95rem;color:var(--text-primary)}

footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:48px 24px 32px;margin-top:80px}
.footer-inner{max-width:var(--max-width);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-about .footer-logo{font-family:var(--font-alt);font-weight:700;font-size:1.15rem;color:var(--text-primary);margin-bottom:12px}
.footer-about .footer-logo span{color:var(--accent)}
.footer-about p{font-size:.88rem;color:var(--text-secondary);line-height:1.7}
.footer-col h4{font-family:var(--font-alt);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:16px}
.footer-col a{display:block;font-size:.88rem;color:var(--text-secondary);padding:5px 0;transition:color .2s}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:.8rem;color:var(--text-muted)}
.footer-bottom a{color:var(--text-muted);font-size:.8rem}
.footer-bottom a:hover{color:var(--accent)}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border);padding:20px 24px;z-index:2000;transform:translateY(100%);transition:transform .4s ease;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.cookie-banner.show{transform:translateY(0)}
.cookie-banner p{font-size:.88rem;color:var(--text-secondary);max-width:600px;line-height:1.6}
.cookie-banner p a{color:var(--accent);text-decoration:underline}
.cookie-btns{display:flex;gap:10px}
.btn-accept,.btn-reject{font-family:var(--font-alt);font-size:.82rem;font-weight:600;padding:10px 22px;border-radius:8px;border:none;cursor:pointer;transition:background .2s,color .2s}
.btn-accept{background:var(--accent);color:#fff}
.btn-accept:hover{background:var(--accent-dark)}
.btn-reject{background:var(--bg-accent);color:var(--text-secondary);border:1px solid var(--border)}
.btn-reject:hover{background:var(--bg-card);color:var(--text-primary)}

@media(max-width:768px){
nav{display:none}
.burger{display:flex}
.hero{padding:60px 20px 40px}
.hero h1{font-size:1.8rem}
.hero-meta{gap:20px}
.articles-grid{grid-template-columns:1fr}
.info-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr;gap:28px}
.footer-bottom{flex-direction:column;text-align:center}
.article-hero-img{height:220px}
.article-page{padding:40px 16px}
.static-page{padding:40px 16px}
.contact-info-grid{grid-template-columns:1fr}
.cookie-banner{flex-direction:column;text-align:center;gap:16px}
}

@media(max-width:480px){
.hero h1{font-size:1.5rem}
.article-card-img{height:180px}
.article-page-inner h1{font-size:1.5rem}
}
