:root{--ink:#1a1a1a;--text:#333333;--muted:#6b6b6b;--line:#e7e7e4;--line-soft:#f1f1ee;--bg:#ffffff;--bg-alt:#f7f7f5;--accent:#1E5B8C;--accent-dark:#144065;--accent-soft:#e8f0f6;--radius:6px;--gutter:2rem;--max:1180px}
@media(min-width:768px){:root{--gutter:2.5rem}}
@media(min-width:1200px){:root{--gutter:3rem}}
.container{max-width:var(--max);margin:0 auto;padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
.site-header {
  position: sticky; top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-header .container.nav { max-width: 1480px; }
.site-header .container.nav { margin-left: auto; margin-right: auto; padding-left: max(var(--gutter), env(safe-area-inset-left)); padding-right: max(var(--gutter), env(safe-area-inset-right)); }
.nav { display: flex; align-items: center; min-height: 72px; padding-top: 0.75rem; padding-bottom: 0.75rem; gap: .5rem; }
.brand { display: inline-flex; align-items: center; gap: 0.6rem; flex-shrink: 0; text-decoration: none; margin-right: auto; }
.brand-icon { display: block; width: 30px; height: 30px; flex-shrink: 0; }
.brand-text { font-weight: 700; font-size: 1.4rem; letter-spacing: -0.02em; color: var(--accent); line-height: 1; }
.nav-links { display: flex; align-items: center; list-style: none; margin: 0; padding: 0; gap: 0.05rem; font-size: .86rem; flex-wrap: nowrap; min-width: 0; }
@media (max-width: 1440px) { .nav-links { font-size: .82rem; gap: 0; } .nav-links a { padding: .4rem .3rem; } .site-header .container.nav { padding-left: 1.25rem; padding-right: 1.25rem; } .nav-cta { padding: .55rem .8rem; margin-left: .25rem; } }
@media (max-width: 1340px) { .nav-links { font-size: .785rem; } .nav-links a { padding: .38rem .24rem; } .brand-text { font-size: 1.25rem; } .nav-cta { padding: .5rem .68rem; font-size: .8rem; } .langswitch-btn { font-size: .76rem; padding: .35rem .5rem; } .langswitch { margin-left: .2rem; } }
@media (max-width: 1240px) { .nav-links { font-size: .75rem; } .nav-links a { padding: .36rem .19rem; } .brand-text { font-size: 1.15rem; } .nav-cta { padding: .48rem .58rem; font-size: .76rem; } }
.nav-links a { display: inline-block; color: var(--text); padding: .4rem .5rem; border-radius: var(--radius); font-weight: 500; white-space: nowrap; transition: color .15s, background .15s; }
.nav-links a:hover { color: var(--accent); background: var(--bg-alt); }
.nav-cta { display: inline-flex; align-items: center; gap: .4rem; padding: .6rem .95rem; background: var(--accent); color: #fff !important; border-radius: var(--radius); font-size: .86rem; font-weight: 600; white-space: nowrap; line-height: 1; transition: background .15s; margin-left: .35rem; }
.nav-cta:hover { background: var(--accent-dark); color: #fff !important; }
.menu-toggle { display: none; width: 40px; height: 40px; background: transparent; border: 1px solid var(--line); border-radius: var(--radius); cursor: pointer; padding: 0; position: relative; }
.menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { position: absolute; display: block; height: 2px; background: var(--ink); transition: transform .2s, top .2s; }
.menu-toggle span { width: 18px; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.menu-toggle span::before, .menu-toggle span::after { content: ''; width: 18px; left: 0; }
.menu-toggle span::before { top: -6px; }
.menu-toggle span::after { top: 6px; }
.menu-toggle.is-open span { background: transparent; }
.menu-toggle.is-open span::before { top: 0; transform: rotate(45deg); }
.menu-toggle.is-open span::after { top: 0; transform: rotate(-45deg); }
@media (max-width: 1090px) {
  .nav-links { display: none; }
  .menu-toggle { display: flex; align-items: center; justify-content: center; }
  .nav-mobile { position: fixed; top: 72px; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--line); padding: 1rem max(var(--gutter), env(safe-area-inset-right)) 1.5rem max(var(--gutter), env(safe-area-inset-left)); transform: translateY(-110%); transition: transform .3s ease, visibility .3s; visibility: hidden; z-index: 99; }
  .nav-mobile.is-open { transform: translateY(0); visibility: visible; }
  .nav-mobile ul { list-style: none; padding: 0; margin: 0; }
  .nav-mobile a { display: block; padding: .85rem .25rem; color: var(--text); border-bottom: 1px solid var(--line-soft); font-weight: 500; }
  .nav-mobile .nav-cta { color: #fff !important; margin-top: 1rem; display: flex; justify-content: center; align-items: center; gap: .45rem; width: 100%; box-sizing: border-box; padding: .7rem 1.25rem; font-size: .9rem; border-bottom: none; text-align: center; }
}
@media (min-width: 1091px) { .nav-mobile { display: none; } }
@media (max-width: 1090px) { .nav-cta { display: none; } }
.langswitch{margin-left:.4rem}
.langswitch{position:relative;flex-shrink:0}
.langswitch-btn{display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-alt,#f7f7f5);border:1px solid var(--line,#e7e7e4);color:var(--ink,#1a1a1a);font-family:inherit;font-size:.82rem;font-weight:700;padding:.4rem .6rem;border-radius:var(--radius,8px);cursor:pointer;letter-spacing:.02em}
.langswitch-btn:hover{border-color:var(--accent,#1E5B8C);color:var(--accent,#1E5B8C)}
.langswitch-caret{font-size:.7em;opacity:.7}
.langswitch-menu{display:none;position:absolute;right:0;top:calc(100% + .35rem);min-width:165px;background:#fff;border:1px solid var(--line,#e7e7e4);border-radius:var(--radius,8px);box-shadow:0 10px 30px -8px rgba(0,0,0,.18);padding:.3rem;z-index:300}
.langswitch-menu.open{display:block}
.langswitch-menu a{display:flex;align-items:center;gap:.55rem;padding:.5rem .65rem;font-size:.88rem;font-weight:500;color:var(--text,#333);border-radius:6px;text-decoration:none;white-space:nowrap}
.langswitch-menu a:hover{background:var(--bg-alt,#f7f7f5);color:var(--accent,#1E5B8C)}
.langswitch-menu a.active{color:var(--accent,#1E5B8C);font-weight:700}
.flag{display:inline-block;width:20px;height:14px;border-radius:2px;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.10);line-height:0}
.flag svg{display:block;width:100%;height:100%}
.langswitch-btn .flag{width:18px;height:12px}