:root {
  --bg-color:#f8fafc;
  --text-color:#1e293b;
  --accent-color:#005b9f;
  --accent-hover:#004080;
  --card-bg:#ffffff;
  --border-color:#e2e8f0;
}
body { margin:0;font-family:'Segoe UI',Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.6;display:flex;flex-direction:column;min-height:100vh; }
header { background-color:var(--card-bg);border-bottom:1px solid var(--border-color);padding:10px 20px;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px rgba(0,0,0,0.05); }
.header-inner { max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center; }
.logo { height:50px; }
.lang-switch-wrapper { display:flex;align-items:center;background-color:#f1f5f9;border-radius:20px;padding:3px;border:1px solid var(--border-color); }
.lang-btn { background:none;border:none;cursor:pointer;font-weight:bold;color:#475569;padding:4px 12px;font-size:13px;border-radius:15px;transition:background-color 0.2s,color 0.2s;outline:none; }
.lang-btn:hover { color:var(--text-color); }
.lang-btn.active { background-color:var(--accent-color);color:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.1); }

main { max-width:1200px;margin:0 auto;padding:20px;flex-grow:1;width:100%;box-sizing:border-box; }
.hero { text-align:center;padding:80px 20px;background:url('img/hero_bg.png') center/cover no-repeat;color:#fff;border-radius:8px;margin-bottom:40px;box-shadow:0 6px 12px rgba(0,0,0,0.15);position:relative;overflow:hidden; }
.hero::before { content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,40,70,0.6);z-index:1; }
.hero-content { position:relative;z-index:2;max-width:800px;margin:0 auto; }
.hero h1 { margin:0 0 15px 0;font-size:3em;text-shadow:0 2px 4px rgba(0,0,0,0.5); }
.hero p { margin:0;font-size:1.4em;text-shadow:0 1px 2px rgba(0,0,0,0.5); }
.hero a { color:#fff;text-decoration:underline; }

.partners { margin-bottom:50px;text-align:center; }
.partners h2 { margin:0 0 40px 0;color:#1e293b;font-size:1.8em;font-weight:400;text-transform:uppercase;letter-spacing:2px;position:relative;display:inline-block;padding-bottom:12px; }
.partners h2::after { content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background-color:var(--accent-color); }
.partner-grid { display:flex;flex-wrap:wrap;justify-content:space-between;gap:2%;row-gap:30px; }
.partner-card { background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,0.05);transition:box-shadow 0.3s,border-color 0.3s;display:flex;flex-direction:column;flex:1 1 48%;min-width:300px; }
.partner-card:hover { box-shadow:0 10px 20px rgba(0,0,0,0.12);border-color:#cbd5e1; }
.partner-logo-wrap { height:120px;display:flex;align-items:center;justify-content:center;padding:20px;background-color:#f8fafc;border-bottom:1px solid var(--border-color); }
.partner-logo { width:40%; min-width:120px;max-width:200px;object-fit:contain; }
.partner-content { padding:20px;flex-grow:1;display:flex;flex-direction:column; }
.partner-desc-wrap { height:110px;display:flex;align-items:center;justify-content:center;text-align:center;margin-bottom:15px; }
.partner-desc { margin:0;font-size:0.95em;color:#475569;font-style:italic;line-height:1.35; padding:0 5vw; }
.partner-divider { border:0;border-top:1px solid var(--border-color);margin:0 0 15px 0;width:100%; }
.partner-content h4 { margin:15px 0 8px 0;color:var(--accent-color);font-size:0.85em;text-transform:uppercase;letter-spacing:1px;font-weight:700;display:block;text-align:center;filter:saturate(20%);transition:filter 0.3s; }
.partner-card:hover .partner-content h4 { filter:saturate(100%); }
.partner-content ul { margin:0 0 15px 0;padding-left:0;font-size:0.9em;color:#334155;list-style-type:none;text-align:center; }
.partner-content ul li { margin-bottom:2px; }
.link-list { list-style-type:none;padding-left:0 !important; }
.link-list li { margin-bottom:8px; }
.link-list a { display:inline-block;padding:6px 12px;background-color:#f1f5f9;color:var(--accent-color);text-decoration:none;border-radius:6px;font-weight:bold;transition:filter 0.3s,background-color 0.2s,color 0.2s;width:100%;box-sizing:border-box;text-align:center;border:1px solid var(--border-color);filter:saturate(20%); }
.partner-card:hover .link-list a { filter:saturate(100%); }
.link-list a:hover { background-color:var(--accent-color);color:#fff; }

.site-footer { background-color:#1e293b;color:#cbd5e1;padding:40px 20px 20px 20px;margin-top:auto; }
.site-footer-header { text-align:center; }
.site-footer h2 { margin:0 0 40px 0;color:#fff;font-size:1.4em;font-weight:400;text-transform:uppercase;letter-spacing:2px;position:relative;display:inline-block;padding-bottom:12px; }
.site-footer h2::after { content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background-color:var(--accent-color); }
.footer-contact { max-width:1200px;margin:0 auto;border-bottom:1px solid #334155;padding-bottom:30px;margin-bottom:20px; }
.contact-grid { display:flex;justify-content:space-between;text-align:center;gap:2%; }
.contact-grid div { flex:1 1 30%;padding:10px; }
.contact-grid a { color:#38bdf8;text-decoration:none; }
.contact-grid a:hover { text-decoration:underline; }
.footer-bottom { text-align:center;font-size:0.9em;color:#94a3b8; }

.cookie-consent { position:fixed;bottom:20px;left:50%;transform:translateX(-50%);width:80%;max-width:800px;background-color:#ffffff;color:#1e293b;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;z-index:1000;box-shadow:0 10px 25px rgba(0,0,0,0.2);border-left:5px solid var(--accent-color);border-radius:8px;box-sizing:border-box; gap:10px; }
.cookie-consent.hidden { display:none; }
.cookie-consent p { margin:0;font-size:1em;font-weight:500; line-height:1.2; }
.cookie-consent button { background-color:var(--accent-color);color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-weight:bold;margin:0 auto;white-space:nowrap; }
.cookie-consent button:hover { background-color:var(--accent-hover); }

@media (max-width:800px) { .contact-grid { flex-direction:column;gap:20px; } .contact-grid div { flex:1 1 auto; } }
@media (max-width:768px) { .hero h1 { font-size:2.2em; } .hero p { font-size:1.1em; } }
@media (max-width:600px) { .cookie-consent { flex-direction:column;text-align:center;padding:15px; } .cookie-consent button { margin:15px 0 0 0;width:100%; } }
