*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

:root {
--color-primary: #1e88e5;
--color-primary-dark: #0d47a1;
--color-primary-light: #42a5f5;
--color-accent: #00e5ff;
--color-accent-dark: #00b8d4;
--color-bg: #f0f4f8;
--color-bg-dark: #0a1628;
--color-bg-mid: #0d2040;
--color-text: #1a2332;
--color-text-muted: #4a5568;
--color-white: #ffffff;
--color-card-bg: #ffffff;
--color-border: #d1dce8;
--font-heading: 'Syne', sans-serif;
--font-body: 'DM Sans', sans-serif;
--font-nav: 'Inter', sans-serif;
--font-mono: 'JetBrains Mono', monospace;
--shadow-sm: 0 2px 8px rgba(0,0,0,0.07);
--shadow-md: 0 4px 20px rgba(0,0,0,0.12);
--shadow-lg: 0 8px 40px rgba(0,0,0,0.18);
--radius: 10px;
--radius-lg: 18px;
--transition: 0.3s ease;
}

html {
scroll-behavior: smooth;
font-size: 16px;
}

body {
font-family: var(--font-body);
color: var(--color-text);
background: var(--color-bg);
line-height: 1.7;
overflow-x: hidden;
}

a {
color: var(--color-primary);
text-decoration: none;
transition: color var(--transition);
}

a:hover {
color: var(--color-primary-light);
}

img {
max-width: 100%;
height: auto;
display: block;
}

ul {
list-style: none;
}

h1, h2, h3, h4 {
font-family: var(--font-heading);
line-height: 1.25;
color: var(--color-text);
}

.container {
max-width: 1180px;
margin: 0 auto;
padding: 0 24px;
}

.page-loader {
position: fixed;
inset: 0;
background: var(--color-bg-dark);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
transition: opacity 0.5s ease, visibility 0.5s ease;
}

.page-loader.hidden {
opacity: 0;
visibility: hidden;
pointer-events: none;
}

.loader-ring {
width: 48px;
height: 48px;
border: 3px solid rgba(255,255,255,0.1);
border-top-color: var(--color-accent);
border-radius: 50%;
animation: spin 0.8s linear infinite;
}

@keyframes spin {
to { transform: rotate(360deg); }
}

.cookie-banner {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: var(--color-bg-dark);
color: var(--color-white);
z-index: 1000;
padding: 18px 24px;
transform: translateY(100%);
transition: transform 0.4s ease;
border-top: 2px solid var(--color-primary);
}

.cookie-banner.visible {
transform: translateY(0);
}

.cookie-content {
max-width: 1000px;
margin: 0 auto;
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

.cookie-content p {
flex: 1;
font-size: 0.9rem;
color: rgba(255,255,255,0.82);
min-width: 200px;
}

.cookie-content p a {
color: var(--color-accent);
text-decoration: underline;
}

.cookie-buttons {
display: flex;
gap: 12px;
flex-shrink: 0;
}

.btn-cookie-accept,
.btn-cookie-reject {
padding: 9px 22px;
border: none;
border-radius: 6px;
font-family: var(--font-nav);
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
transition: all var(--transition);
letter-spacing: 0.3px;
}

.btn-cookie-accept {
background: var(--color-accent);
color: var(--color-bg-dark);
}

.btn-cookie-accept:hover {
background: var(--color-accent-dark);
}

.btn-cookie-reject {
background: transparent;
color: rgba(255,255,255,0.65);
border: 1px solid rgba(255,255,255,0.25);
}

.btn-cookie-reject:hover {
background: rgba(255,255,255,0.08);
color: var(--color-white);
}

.site-header {
position: sticky;
top: 0;
z-index: 500;
background: rgba(10, 22, 40, 0.96);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(30, 136, 229, 0.3);
}

.header-inner {
max-width: 1180px;
margin: 0 auto;
padding: 0 24px;
height: 68px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}

.site-logo {
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
flex-shrink: 0;
}

.logo-icon {
flex-shrink: 0;
}

.logo-text {
font-family: var(--font-heading);
font-size: 1.3rem;
color: var(--color-white);
letter-spacing: 0.3px;
}

.logo-text strong {
color: var(--color-accent);
}

.main-nav {
display: flex;
}

.nav-list {
display: flex;
align-items: center;
gap: 4px;
}

.nav-link {
font-family: var(--font-nav);
font-size: 0.88rem;
font-weight: 500;
color: rgba(255,255,255,0.75);
padding: 8px 14px;
border-radius: 6px;
letter-spacing: 0.3px;
transition: all var(--transition);
}

.nav-link:hover,
.nav-link.active {
color: var(--color-accent);
background: rgba(255,255,255,0.06);
}

.nav-dropdown {
position: relative;
}

.nav-dropdown > .nav-link::after {
content: ' \25BE';
font-size: 0.7rem;
}

.dropdown-menu {
position: absolute;
top: calc(100% + 8px);
left: 0;
background: var(--color-bg-mid);
border: 1px solid rgba(30, 136, 229, 0.3);
border-radius: var(--radius);
min-width: 220px;
padding: 8px 0;
opacity: 0;
visibility: hidden;
transform: translateY(-8px);
transition: all var(--transition);
box-shadow: var(--shadow-lg);
}

.nav-dropdown:hover .dropdown-menu,
.nav-dropdown.open .dropdown-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.dropdown-menu li a {
display: block;
padding: 10px 18px;
font-family: var(--font-nav);
font-size: 0.85rem;
color: rgba(255,255,255,0.7);
transition: all var(--transition);
}

.dropdown-menu li a:hover {
color: var(--color-accent);
background: rgba(255,255,255,0.05);
padding-left: 24px;
}

.burger-btn {
display: none;
flex-direction: column;
gap: 5px;
background: none;
border: none;
cursor: pointer;
padding: 8px;
}

.burger-line {
display: block;
width: 24px;
height: 2px;
background: var(--color-white);
border-radius: 2px;
transition: all var(--transition);
}

.burger-btn.open .burger-line:nth-child(1) {
transform: translateY(7px) rotate(45deg);
}

.burger-btn.open .burger-line:nth-child(2) {
opacity: 0;
}

.burger-btn.open .burger-line:nth-child(3) {
transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu {
display: none;
position: fixed;
top: 68px;
left: 0;
right: 0;
background: var(--color-bg-mid);
border-bottom: 2px solid rgba(30, 136, 229, 0.4);
padding: 16px 0;
transform: translateY(-110%);
opacity: 0;
transition: all var(--transition);
z-index: 400;
}

.mobile-menu.open {
transform: translateY(0);
opacity: 1;
}

.mobile-menu ul li a {
display: block;
padding: 12px 24px;
font-family: var(--font-nav);
font-size: 0.95rem;
color: rgba(255,255,255,0.8);
transition: all var(--transition);
}

.mobile-menu ul li a:hover {
color: var(--color-accent);
background: rgba(255,255,255,0.05);
padding-left: 32px;
}

.hero-section {
position: relative;
min-height: 600px;
display: flex;
align-items: center;
overflow: hidden;
background: linear-gradient(135deg, var(--color-bg-dark) 0%, var(--color-bg-mid) 60%, #0a2a5e 100%);
}

.hero-bg {
position: absolute;
inset: 0;
z-index: 0;
}

.hero-bg img {
width: 100%;
height: 100%;
object-fit: cover;
opacity: 0.15;
}

.hero-overlay {
position: absolute;
inset: 0;
background: linear-gradient(90deg, rgba(10,22,40,0.95) 0%, rgba(10,22,40,0.7) 55%, rgba(10,22,40,0.3) 100%);
z-index: 1;
}

.hero-content {
position: relative;
z-index: 2;
width: 100%;
max-width: 1180px;
margin: 0 auto;
padding: 90px 24px;
}

.hero-inner {
max-width: 620px;
}

.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(0, 229, 255, 0.1);
border: 1px solid rgba(0, 229, 255, 0.3);
color: var(--color-accent);
font-family: var(--font-mono);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 1px;
text-transform: uppercase;
padding: 6px 14px;
border-radius: 20px;
margin-bottom: 24px;
}

.hero-badge::before {
content: '';
width: 6px;
height: 6px;
background: var(--color-accent);
border-radius: 50%;
animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}

.hero-content h1 {
font-size: clamp(2.2rem, 4.5vw, 3.6rem);
color: var(--color-white);
margin-bottom: 20px;
line-height: 1.15;
}

.hero-content h1 span {
color: var(--color-accent);
}

.hero-content p {
font-size: 1.1rem;
color: rgba(255,255,255,0.75);
margin-bottom: 36px;
max-width: 520px;
line-height: 1.7;
}

.hero-cta {
display: flex;
gap: 16px;
flex-wrap: wrap;
}

.btn-primary {
display: inline-block;
background: var(--color-primary);
color: var(--color-white);
font-family: var(--font-nav);
font-weight: 600;
font-size: 0.9rem;
letter-spacing: 0.5px;
padding: 13px 28px;
border-radius: 8px;
transition: all var(--transition);
border: 2px solid var(--color-primary);
}

.btn-primary:hover {
background: var(--color-primary-dark);
border-color: var(--color-primary-dark);
color: var(--color-white);
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(30, 136, 229, 0.4);
}

.btn-outline {
display: inline-block;
background: transparent;
color: rgba(255,255,255,0.8);
font-family: var(--font-nav);
font-weight: 600;
font-size: 0.9rem;
letter-spacing: 0.5px;
padding: 13px 28px;
border-radius: 8px;
border: 2px solid rgba(255,255,255,0.25);
transition: all var(--transition);
}

.btn-outline:hover {
background: rgba(255,255,255,0.08);
border-color: rgba(255,255,255,0.5);
color: var(--color-white);
}

.section {
padding: 80px 0;
}

.section-alt {
background: #e8eef5;
}

.section-dark {
background: var(--color-bg-dark);
}

.section-header {
text-align: center;
margin-bottom: 52px;
}

.section-tag {
display: inline-block;
font-family: var(--font-mono);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--color-primary);
margin-bottom: 12px;
}

.section-dark .section-tag {
color: var(--color-accent);
}

.section-header h2 {
font-size: clamp(1.8rem, 3vw, 2.5rem);
margin-bottom: 14px;
}

.section-dark .section-header h2 {
color: var(--color-white);
}

.section-header p {
font-size: 1.05rem;
color: var(--color-text-muted);
max-width: 580px;
margin: 0 auto;
}

.section-dark .section-header p {
color: rgba(255,255,255,0.65);
}

.articles-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}

.article-card {
background: var(--color-card-bg);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-sm);
transition: transform var(--transition), box-shadow var(--transition);
display: flex;
flex-direction: column;
border: 1px solid var(--color-border);
}

.article-card:hover {
transform: translateY(-6px);
box-shadow: var(--shadow-md);
}

.card-img-wrap {
position: relative;
height: 210px;
overflow: hidden;
background: var(--color-bg-mid);
}

.card-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}

.article-card:hover .card-img-wrap img {
transform: scale(1.06);
}

.card-category {
position: absolute;
top: 14px;
left: 14px;
background: var(--color-primary);
color: var(--color-white);
font-family: var(--font-mono);
font-size: 0.7rem;
font-weight: 500;
letter-spacing: 1px;
text-transform: uppercase;
padding: 4px 10px;
border-radius: 4px;
}

.card-body {
padding: 22px 24px 24px;
flex: 1;
display: flex;
flex-direction: column;
}

.card-meta {
font-size: 0.8rem;
color: var(--color-text-muted);
font-family: var(--font-mono);
margin-bottom: 10px;
}

.card-body h3 {
font-size: 1.15rem;
margin-bottom: 10px;
line-height: 1.4;
}

.card-body h3 a {
color: var(--color-text);
}

.card-body h3 a:hover {
color: var(--color-primary);
}

.card-body p {
font-size: 0.92rem;
color: var(--color-text-muted);
flex: 1;
margin-bottom: 18px;
line-height: 1.65;
}

.card-link {
font-family: var(--font-nav);
font-size: 0.82rem;
font-weight: 600;
color: var(--color-primary);
letter-spacing: 0.3px;
display: inline-flex;
align-items: center;
gap: 6px;
}

.card-link::after {
content: '\2192';
transition: transform var(--transition);
}

.card-link:hover::after {
transform: translateX(4px);
}

.stats-section {
padding: 70px 0;
background: linear-gradient(135deg, var(--color-bg-dark) 0%, var(--color-bg-mid) 100%);
}

.stats-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px;
}

.stat-item {
text-align: center;
padding: 32px 20px;
border-radius: var(--radius-lg);
background: rgba(255,255,255,0.04);
border: 1px solid rgba(255,255,255,0.08);
transition: all var(--transition);
}

.stat-item:hover {
background: rgba(255,255,255,0.07);
transform: translateY(-4px);
}

.stat-number {
font-family: var(--font-heading);
font-size: 2.8rem;
font-weight: 800;
color: var(--color-accent);
line-height: 1;
margin-bottom: 8px;
}

.stat-label {
font-family: var(--font-nav);
font-size: 0.88rem;
color: rgba(255,255,255,0.6);
letter-spacing: 0.5px;
}

.highlight-section {
padding: 80px 0;
}

.highlight-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center;
}

.highlight-img {
position: relative;
border-radius: var(--radius-lg);
overflow: hidden;
height: 420px;
}

.highlight-img img {
width: 100%;
height: 100%;
object-fit: cover;
}

.highlight-img::after {
content: '';
position: absolute;
inset: 0;
border: 2px solid rgba(30, 136, 229, 0.4);
border-radius: var(--radius-lg);
pointer-events: none;
}

.highlight-content .section-tag {
display: block;
text-align: left;
}

.highlight-content h2 {
font-size: clamp(1.7rem, 2.8vw, 2.3rem);
margin-bottom: 18px;
}

.highlight-content p {
color: var(--color-text-muted);
margin-bottom: 16px;
font-size: 0.97rem;
}

.highlight-list {
margin: 20px 0 28px;
}

.highlight-list li {
padding: 8px 0 8px 24px;
position: relative;
color: var(--color-text-muted);
font-size: 0.95rem;
}

.highlight-list li::before {
content: '';
position: absolute;
left: 0;
top: 17px;
width: 8px;
height: 8px;
background: var(--color-primary);
border-radius: 50%;
}

.tools-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.tool-card {
background: var(--color-card-bg);
border-radius: var(--radius);
padding: 28px 24px;
border: 1px solid var(--color-border);
border-left: 4px solid var(--color-primary);
box-shadow: var(--shadow-sm);
transition: all var(--transition);
}

.tool-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-md);
border-left-color: var(--color-accent);
}

.tool-card-icon {
width: 48px;
height: 48px;
background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
}

.tool-card-icon svg {
width: 24px;
height: 24px;
fill: none;
stroke: var(--color-white);
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.tool-card h3 {
font-size: 1rem;
margin-bottom: 8px;
font-family: var(--font-nav);
font-weight: 600;
}

.tool-card p {
font-size: 0.88rem;
color: var(--color-text-muted);
line-height: 1.6;
}

.page-hero {
background: linear-gradient(135deg, var(--color-bg-dark) 0%, var(--color-bg-mid) 100%);
padding: 72px 0 60px;
text-align: center;
}

.page-hero h1 {
font-size: clamp(1.9rem, 3.5vw, 2.9rem);
color: var(--color-white);
margin-bottom: 14px;
}

.page-hero p {
font-size: 1.05rem;
color: rgba(255,255,255,0.7);
max-width: 560px;
margin: 0 auto;
}

.breadcrumb {
font-family: var(--font-mono);
font-size: 0.8rem;
color: rgba(255,255,255,0.45);
margin-bottom: 18px;
}

.breadcrumb a {
color: rgba(255,255,255,0.55);
}

.breadcrumb a:hover {
color: var(--color-accent);
}

.breadcrumb span {
margin: 0 8px;
}

.article-layout {
display: grid;
grid-template-columns: 1fr 320px;
gap: 52px;
padding: 64px 0;
}

.article-main h2 {
font-size: 1.65rem;
margin: 38px 0 16px;
color: var(--color-text);
}

.article-main h3 {
font-size: 1.2rem;
margin: 28px 0 12px;
color: var(--color-primary-dark);
font-family: var(--font-nav);
font-weight: 600;
}

.article-main p {
margin-bottom: 18px;
color: var(--color-text-muted);
font-size: 0.97rem;
line-height: 1.75;
}

.article-main ul,
.article-main ol {
margin: 0 0 18px 22px;
color: var(--color-text-muted);
font-size: 0.97rem;
}

.article-main li {
margin-bottom: 8px;
}

.article-main a {
color: var(--color-primary);
text-decoration: underline;
}

.article-img {
border-radius: var(--radius);
overflow: hidden;
margin: 28px 0;
}

.article-img img {
width: 100%;
height: 340px;
object-fit: cover;
}

.article-img figcaption {
font-size: 0.8rem;
color: var(--color-text-muted);
padding: 8px 12px;
background: #edf2f7;
font-style: italic;
font-family: var(--font-mono);
}

.article-meta {
display: flex;
align-items: center;
gap: 20px;
padding: 16px 0 28px;
border-bottom: 1px solid var(--color-border);
margin-bottom: 28px;
flex-wrap: wrap;
}

.article-meta span {
font-size: 0.82rem;
color: var(--color-text-muted);
font-family: var(--font-mono);
}

.article-sidebar {
position: sticky;
top: 88px;
align-self: start;
}

.sidebar-widget {
background: var(--color-card-bg);
border-radius: var(--radius);
padding: 24px;
margin-bottom: 24px;
box-shadow: var(--shadow-sm);
border: 1px solid var(--color-border);
}

.sidebar-widget h3 {
font-size: 0.95rem;
font-family: var(--font-nav);
font-weight: 700;
margin-bottom: 16px;
padding-bottom: 10px;
border-bottom: 2px solid var(--color-primary);
color: var(--color-text);
}

.sidebar-links li {
padding: 8px 0;
border-bottom: 1px solid var(--color-border);
}

.sidebar-links li:last-child {
border-bottom: none;
}

.sidebar-links a {
font-size: 0.88rem;
color: var(--color-text-muted);
}

.sidebar-links a:hover {
color: var(--color-primary);
}

.sidebar-info p {
font-size: 0.86rem;
color: var(--color-text-muted);
margin-bottom: 10px;
}

.sidebar-info strong {
color: var(--color-text);
}

.rating-box {
background: linear-gradient(135deg, var(--color-bg-dark), var(--color-bg-mid));
border-radius: var(--radius);
padding: 24px;
margin-bottom: 24px;
border: 1px solid rgba(30, 136, 229, 0.3);
}

.rating-box h3 {
font-size: 0.95rem;
font-family: var(--font-nav);
font-weight: 700;
color: var(--color-white);
margin-bottom: 16px;
}

.rating-score {
font-family: var(--font-heading);
font-size: 3rem;
font-weight: 800;
color: var(--color-accent);
line-height: 1;
margin-bottom: 6px;
}

.rating-label {
font-family: var(--font-mono);
font-size: 0.75rem;
color: rgba(255,255,255,0.5);
text-transform: uppercase;
letter-spacing: 1px;
margin-bottom: 16px;
}

.rating-bars {
}

.rating-row {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 10px;
}

.rating-row-label {
font-size: 0.8rem;
color: rgba(255,255,255,0.65);
width: 90px;
flex-shrink: 0;
}

.rating-bar-track {
flex: 1;
height: 6px;
background: rgba(255,255,255,0.1);
border-radius: 3px;
overflow: hidden;
}

.rating-bar-fill {
height: 100%;
background: var(--color-primary);
border-radius: 3px;
}

.rating-row-val {
font-family: var(--font-mono);
font-size: 0.78rem;
color: rgba(255,255,255,0.55);
width: 28px;
text-align: right;
}

.contact-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
padding: 64px 0;
align-items: start;
}

.contact-info h2 {
font-size: 1.9rem;
margin-bottom: 18px;
}

.contact-info p {
color: var(--color-text-muted);
margin-bottom: 16px;
font-size: 0.97rem;
}

.contact-details {
margin: 28px 0;
background: var(--color-card-bg);
border-radius: var(--radius);
padding: 24px;
box-shadow: var(--shadow-sm);
border: 1px solid var(--color-border);
}

.contact-detail-item {
display: flex;
align-items: flex-start;
gap: 14px;
padding: 14px 0;
border-bottom: 1px solid var(--color-border);
}

.contact-detail-item:last-child {
border-bottom: none;
}

.contact-detail-icon {
width: 40px;
height: 40px;
background: linear-gradient(135deg, var(--color-primary-dark), var(--color-primary));
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.contact-detail-icon svg {
width: 20px;
height: 20px;
fill: none;
stroke: var(--color-white);
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.contact-detail-text strong {
display: block;
font-size: 0.82rem;
font-family: var(--font-nav);
font-weight: 700;
color: var(--color-text);
margin-bottom: 3px;
text-transform: uppercase;
letter-spacing: 0.5px;
}

.contact-detail-text span,
.contact-detail-text a {
font-size: 0.95rem;
color: var(--color-text-muted);
}

.contact-detail-text a:hover {
color: var(--color-primary);
}

.contact-note {
background: #ebf4ff;
border-left: 4px solid var(--color-primary);
padding: 16px 18px;
border-radius: 0 var(--radius) var(--radius) 0;
}

.contact-note p {
font-size: 0.88rem;
color: var(--color-text-muted);
margin: 0;
}

.contact-aside {
background: linear-gradient(135deg, var(--color-bg-dark), var(--color-bg-mid));
border-radius: var(--radius-lg);
padding: 36px;
border: 1px solid rgba(30, 136, 229, 0.3);
}

.contact-aside h3 {
font-size: 1.3rem;
color: var(--color-white);
margin-bottom: 16px;
}

.contact-aside p {
font-size: 0.9rem;
color: rgba(255,255,255,0.65);
margin-bottom: 14px;
}

.contact-aside ul {
margin-left: 0;
}

.contact-aside ul li {
font-size: 0.9rem;
color: rgba(255,255,255,0.6);
padding: 6px 0 6px 18px;
position: relative;
}

.contact-aside ul li::before {
content: '';
position: absolute;
left: 0;
top: 14px;
width: 6px;
height: 6px;
background: var(--color-accent);
border-radius: 50%;
}

.about-layout {
padding: 64px 0;
}

.about-intro {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center;
margin-bottom: 64px;
}

.about-img {
border-radius: var(--radius-lg);
overflow: hidden;
height: 380px;
}

.about-img img {
width: 100%;
height: 100%;
object-fit: cover;
}

.about-text h2 {
font-size: 1.9rem;
margin-bottom: 18px;
}

.about-text p {
color: var(--color-text-muted);
margin-bottom: 14px;
font-size: 0.97rem;
}

.about-values {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 48px;
}

.value-card {
background: var(--color-card-bg);
border-radius: var(--radius);
padding: 28px 22px;
text-align: center;
box-shadow: var(--shadow-sm);
border: 1px solid var(--color-border);
border-top: 4px solid var(--color-primary);
transition: all var(--transition);
}

.value-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-md);
}

.value-card h3 {
font-size: 1rem;
font-family: var(--font-nav);
font-weight: 700;
margin-bottom: 10px;
}

.value-card p {
font-size: 0.88rem;
color: var(--color-text-muted);
}

.policy-content {
max-width: 820px;
margin: 0 auto;
padding: 64px 24px;
}

.policy-content h2 {
font-size: 1.4rem;
margin: 36px 0 14px;
color: var(--color-primary-dark);
}

.policy-content p,
.policy-content li {
color: var(--color-text-muted);
font-size: 0.95rem;
margin-bottom: 12px;
line-height: 1.75;
}

.policy-content ul {
margin-left: 20px;
margin-bottom: 18px;
}

.policy-content li {
list-style: disc;
}

.site-footer {
background: var(--color-bg-dark);
color: var(--color-white);
padding: 60px 0 0;
}

.footer-inner {
max-width: 1180px;
margin: 0 auto;
padding: 0 24px 48px;
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 40px;
}

.footer-logo {
font-family: var(--font-heading);
font-size: 1.3rem;
color: var(--color-white);
display: inline-block;
margin-bottom: 12px;
}

.footer-logo strong {
color: var(--color-accent);
}

.footer-tagline {
font-size: 0.88rem;
color: rgba(255,255,255,0.45);
line-height: 1.65;
}

.footer-nav h3 {
font-family: var(--font-mono);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--color-accent);
margin-bottom: 16px;
}

.footer-nav ul li {
margin-bottom: 8px;
}

.footer-nav ul li a {
font-size: 0.9rem;
color: rgba(255,255,255,0.55);
transition: color var(--transition);
}

.footer-nav ul li a:hover {
color: var(--color-white);
}

.footer-contact h3 {
font-family: var(--font-mono);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 1.5px;
text-transform: uppercase;
color: var(--color-accent);
margin-bottom: 16px;
}

.footer-contact p {
font-size: 0.9rem;
color: rgba(255,255,255,0.55);
margin-bottom: 8px;
}

.footer-contact a {
color: rgba(255,255,255,0.6);
}

.footer-contact a:hover {
color: var(--color-accent);
}

.footer-bottom {
border-top: 1px solid rgba(255,255,255,0.08);
padding: 20px 24px;
max-width: 1180px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}

.footer-bottom p {
font-size: 0.82rem;
color: rgba(255,255,255,0.35);
}

.footer-bottom a {
color: rgba(255,255,255,0.45);
}

.footer-bottom a:hover {
color: var(--color-accent);
}

.footer-update {
font-size: 0.78rem;
color: rgba(255,255,255,0.25);
}

.comparison-table {
width: 100%;
border-collapse: collapse;
margin: 28px 0;
font-size: 0.92rem;
}

.comparison-table th {
background: var(--color-bg-mid);
color: var(--color-white);
padding: 12px 16px;
text-align: left;
font-family: var(--font-nav);
font-weight: 600;
font-size: 0.85rem;
}

.comparison-table td {
padding: 12px 16px;
border-bottom: 1px solid var(--color-border);
color: var(--color-text-muted);
}

.comparison-table tr:last-child td {
border-bottom: none;
}

.comparison-table tr:nth-child(even) td {
background: #f5f8fc;
}

.check-yes {
color: #22c55e;
font-weight: 700;
}

.check-no {
color: #ef4444;
font-weight: 700;
}

.check-partial {
color: #f59e0b;
font-weight: 700;
}

.pros-cons {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin: 28px 0;
}

.pros-box,
.cons-box {
border-radius: var(--radius);
padding: 22px;
}

.pros-box {
background: #f0fdf4;
border: 1px solid #bbf7d0;
}

.cons-box {
background: #fff5f5;
border: 1px solid #fecaca;
}

.pros-box h4 {
color: #15803d;
font-family: var(--font-nav);
font-weight: 700;
margin-bottom: 12px;
font-size: 0.95rem;
}

.cons-box h4 {
color: #dc2626;
font-family: var(--font-nav);
font-weight: 700;
margin-bottom: 12px;
font-size: 0.95rem;
}

.pros-box ul,
.cons-box ul {
margin-left: 18px;
}

.pros-box li {
list-style: disc;
color: #166534;
font-size: 0.9rem;
margin-bottom: 6px;
}

.cons-box li {
list-style: disc;
color: #991b1b;
font-size: 0.9rem;
margin-bottom: 6px;
}

.info-box {
background: #ebf4ff;
border-left: 4px solid var(--color-primary);
padding: 18px 20px;
border-radius: 0 var(--radius) var(--radius) 0;
margin: 24px 0;
}

.info-box p {
font-size: 0.92rem;
color: var(--color-text-muted);
margin: 0;
}

@media (max-width: 1024px) {
.articles-grid {
grid-template-columns: repeat(2, 1fr);
}

.stats-grid {
grid-template-columns: repeat(2, 1fr);
}

.tools-grid {
grid-template-columns: repeat(2, 1fr);
}

.footer-inner {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 768px) {
.burger-btn {
display: flex;
}

.mobile-menu {
display: block;
}

.main-nav {
display: none;
}

.highlight-inner,
.about-intro,
.contact-layout,
.article-layout,
.pros-cons {
grid-template-columns: 1fr;
gap: 32px;
}

.article-sidebar {
position: static;
}

.hero-content {
padding: 60px 24px;
}

.articles-grid {
grid-template-columns: 1fr;
}

.tools-grid {
grid-template-columns: 1fr;
}

.about-values {
grid-template-columns: 1fr;
}

.footer-inner {
grid-template-columns: 1fr 1fr;
gap: 28px;
}

.footer-bottom {
flex-direction: column;
text-align: center;
}

.comparison-table {
font-size: 0.82rem;
}

.comparison-table th,
.comparison-table td {
padding: 10px 12px;
}
}

@media (max-width: 480px) {
.stats-grid {
grid-template-columns: 1fr 1fr;
}

.footer-inner {
grid-template-columns: 1fr;
}

.cookie-content {
flex-direction: column;
gap: 16px;
}

.hero-cta {
flex-direction: column;
}
}
