body{font-family:"Google Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.025em;line-height:1.25}
.gov-link{text-decoration-thickness:max(1px,0.0625rem);text-underline-offset:.1ex;transition:all .2s cubic-bezier(0.4,0,0.2,1)}
.gov-link:hover{text-decoration-thickness:max(3px,0.1875rem,0.12em);text-decoration-color:#003078}
.gov-header-border{border-bottom:10px solid #1d70b8;box-shadow:0 4px 6px -1px #0000001a}
.site-logo{transition:transform .2s}
.site-logo:hover{transform:scale(1.05)}
.article-card{transition:all .3s cubic-bezier(0.4,0,0.2,1);border:1px solid #e5e7eb;position:relative;overflow:hidden}
.article-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#1d70b8 0%,#00703c 100%);transform:scaleX(0);transition:transform .3s}
.article-card:hover{box-shadow:0 20px 25px -5px #0000001a 0 10px 10px -5px #0000000a;transform:translateY(-4px);border-color:#1d70b8}
.article-card:hover::before{transform:scaleX(1)}
.img-overlay{position:relative;overflow:hidden}
.img-overlay img{transition:transform .5s ease}
.img-overlay:hover img{transform:scale(1.1)}
.hero-gradient{background:linear-gradient(to top,#000000e6 0%,#000000b3 30%,#0006 60%,transparent 100%)}
.dept-badge{background:linear-gradient(135deg,#1d70b8 0%,#003078 100%);color:#fff;padding:.5rem 1rem;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;display:inline-block;position:relative;overflow:hidden}
.dept-badge::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width 0.6s,height .6s}
.dept-badge:hover::after{width:300px;height:300px}
.category-tag{background:#f3f2f1;color:#003078;padding:.25rem .75rem;font-size:.75rem;font-weight:600;border-radius:9999px;transition:all .2s;display:inline-block}
.category-tag:hover{background:#1d70b8;color:#fff;transform:translateY(-2px)}
nav a{position:relative}
nav a::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#fff;transform:scaleX(0);transition:transform .2s}
nav a:hover::after{transform:scaleX(1)}
nav a:hover{text-decoration:none}
.topic-pill{transition:all .2s;padding:.25rem .75rem;border-radius:9999px}
.topic-pill:hover{background:#f3f2f1;transform:translateY(-2px);text-decoration:none}
.section-divider{height:4px;background:linear-gradient(90deg,#1d70b8 0%,#00703c 50%,#1d70b8 100%);background-size:200% 100%;animation:gradient 3s ease infinite}
@keyframes gradient {
0%,100%{background-position:0 50%}
50%{background-position:100% 50%}
}
.featured-badge{background:#d4351c;color:#fff;padding:.375rem .75rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;box-shadow:0 4px 6px #d4351c4d;animation:pulse-badge 2s infinite}
@keyframes pulse-badge {
0%,100%{transform:scale(1)}
50%{transform:scale(1.05)}
}
.sidebar-panel{border-left:4px solid #1d70b8;transition:all .3s}
.sidebar-panel:hover{border-left-color:#00703c;transform:translateX(6px);box-shadow:-4px 0 8px #00703c1a}
.btn{transition:all .3s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden}
.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width 0.6s,height .6s}
.btn:hover::before{width:300px;height:300px}
.text-shadow{text-shadow:0 2px 4px #00000080}
.text-shadow-light{text-shadow:0 1px 2px #0000004d}
input[type="text"]{transition:all .2s}
input[type="text"]:focus{outline:3px solid #fd0;outline-offset:0}
.dropdown-menu{animation:slideDown .2s ease}
@keyframes slideDown {
from{opacity:0;transform:translateY(-10px)}
to{opacity:1;transform:translateY(0)}
}
.skeleton{background:linear-gradient(90deg,#f3f2f1 0%,#e5e7eb 50%,#f3f2f1 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}
@keyframes shimmer {
0%{background-position:-200% 0}
100%{background-position:200% 0}
}
.magazine-grid{display:grid;gap:2rem}
@media (min-width: 768px) {
.magazine-grid{grid-template-columns:repeat(2,1fr)}
}
@media (min-width: 1024px) {
.magazine-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 768px) {
nav ul{flex-direction:column;align-items:flex-start}
}
@media print {
nav,footer,.sidebar{display:none}
.article-card{box-shadow:none;border:1px solid #ccc}
}
.article-content{font-size:18px;line-height:1.75;margin:0 auto;color:#0b0c0c}
.article-content p{margin-bottom:1.5rem}
.article-content h2{font-size:1.5rem;font-weight:700;margin-top:2rem;margin-bottom:1rem;color:#0b0c0c}
.article-content h3{font-size:1.25rem;font-weight:700;margin-top:1.5rem;margin-bottom:.75rem;color:#0b0c0c}
.article-content ul,.article-content ol{margin-bottom:1.5rem;padding-left:2rem}
.article-content li{margin-bottom:.5rem}
.article-intro{font-size:1.25rem;line-height:1.6;color:#505a5f}
.loading{opacity:.6;pointer-events:none}
.spinner{border:3px solid #f3f3f3;border-top:3px solid #1d70b8;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:20px auto}
@keyframes spin {
0%{transform:rotate(0deg)}
100%{transform:rotate(360deg)}
}
.header-scrolled{box-shadow:0 4px 12px #00000026}
html{scroll-behavior:smooth}
.featured-article{border-left:6px solid #d4351c}
.featured-article:hover{box-shadow:0 25px 50px -12px #00000040}
.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite}
@keyframes loading {
0%{background-position:200% 0}
100%{background-position:-200% 0}
}
.skeleton-text{height:1rem;margin-bottom:.5rem;border-radius:.25rem}
.skeleton-title{height:1.5rem;margin-bottom:1rem;border-radius:.25rem;width:80%}
.skeleton-image{height:200px;border-radius:.5rem}
h2{font-size:22px!important;margin:5px 0 20px!important}
.post ul{list-style-type:disc}
.post table{width:100%}
.post table td{text-align:left!important}
.post table th{text-align:left!important}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

