/* Floating navigation, shared by every route and both themes. */
.header{top:12px;margin:12px 20px 0;border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--paper) 88%,transparent);box-shadow:0 8px 32px #17263508;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.header .header-inner{width:100%;max-width:1440px;padding:8px 24px;min-height:100px;gap:12px;margin:auto}
.header .brand{margin-right:auto}
.header .brand img{width:195px;height:83px}
.header #nav{position:static;display:flex;flex-direction:row;align-items:center;gap:3px;margin:0 auto;padding:5px;border:1px solid var(--line);border-radius:50px;background:color-mix(in srgb,var(--pale) 65%,transparent);font-size:13px;white-space:nowrap}
.header #nav a{padding:11px 16px;border-radius:30px;color:var(--ink);transition:background .25s,color .25s,box-shadow .25s}
.header #nav a:hover,.header #nav a[aria-current=page]{background:var(--paper);color:var(--blue);box-shadow:0 2px 8px #1726350a}
.header .header-phone{display:block;padding:12px 10px;font-size:13px;letter-spacing:-.02em}
.header .header-vk,.header .theme-toggle,.header .menu-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);transition:background .25s,transform .25s,border-color .25s}
.header .header-vk{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}
.header .header-vk svg{width:23px;height:23px}
.header .header-vk:hover{transform:translateY(-2px);background:var(--blue-dark)}
.header .theme-toggle:hover,.header .menu-toggle:hover{background:var(--pale)}
.header a:focus-visible,.header button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.header .menu-toggle{display:none}
@media(max-width:1200px){.header .header-phone{display:none}.header #nav a{padding:11px 13px}.header .header-inner{padding-inline:20px}}
@media(max-width:950px){
 .header{top:8px;margin:8px 12px 0;border-radius:21px}
 .header .header-inner{min-height:88px;padding:6px 16px;gap:10px}
 .header .brand img{width:175px;height:75px}
 .header .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px}
 .header .menu-toggle span{width:18px;height:1.5px;margin:0;transition:transform .25s}
 .header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}
 .header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
 .header #nav{position:absolute;top:calc(100% + 9px);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:4px;padding:12px;margin:0;border-radius:20px;background:var(--paper);box-shadow:0 16px 40px #17263520;font-size:16px;white-space:normal;max-height:calc(100dvh - 125px);overflow:auto}
 .header #nav.open{display:flex;animation:header-menu-in .3s cubic-bezier(.16,1,.3,1)}
 .header #nav a{padding:16px 18px;border-radius:12px}
 .header #nav a:hover,.header #nav a[aria-current=page]{background:var(--pale);box-shadow:none}
}
@media(max-width:480px){.header{margin-inline:8px}.header .header-inner{padding:5px 10px;gap:6px;min-height:80px}.header .brand img{width:150px;height:64px}}
@media(max-width:360px){.header .brand img{width:124px;height:58px}.header .header-inner{padding-inline:8px;gap:4px}}
@keyframes header-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.header #nav.open{animation:none}.header a,.header button,.header .menu-toggle span{transition:none}.header .header-vk:hover{transform:none}}
/* Glass edition: one optical surface, softly lit edges, no nested navigation frame. */
.header{--glass:rgba(248,251,255,.67);--glass-edge:rgba(255,255,255,.88);--glass-hover:rgba(255,255,255,.62);width:calc(100% - 48px);max-width:1180px;margin:18px auto 0;top:16px;border-radius:32px;border:1px solid var(--glass-edge);background:linear-gradient(115deg,rgba(255,255,255,.38),transparent 38%,rgba(193,212,231,.12)),var(--glass);backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #b5c6d433,0 12px 36px #263e5812,0 2px 6px #263e5808;isolation:isolate;transition:box-shadow .4s,background .4s}
[data-theme=dark] .header{--glass:rgba(29,40,51,.65);--glass-edge:rgba(210,230,248,.22);--glass-hover:rgba(210,232,255,.12);background:linear-gradient(115deg,rgba(191,216,239,.13),transparent 40%,rgba(138,173,206,.06)),var(--glass);box-shadow:inset 0 1px 0 #e7f3ff33,inset 0 -1px 0 #07111a66,0 14px 40px #0003,0 2px 6px #0002}
.header::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at 12% 0%,#fff3,transparent 48%);z-index:-1}
.header .header-inner{min-height:86px;padding:6px 18px;gap:9px}
.header .brand img{width:170px;height:72px}
.header #nav{border:0;background:transparent;padding:0;gap:2px}
.header #nav a{padding:13px 14px;font-size:13px;font-weight:500;border:1px solid transparent;transition:background .3s,box-shadow .3s,transform .35s cubic-bezier(.2,.8,.2,1)}
.header #nav a:hover,.header #nav a[aria-current=page]{color:var(--ink);background:var(--glass-hover);border-color:var(--glass-edge);box-shadow:inset 0 1px 0 #ffffff55,0 3px 10px #17263508}
.header #nav a:hover{transform:translateY(-1px)}
.header .header-phone{font-size:12px;padding-inline:8px}
.header .header-vk,.header .theme-toggle,.header .menu-toggle{border-color:var(--glass-edge);background:linear-gradient(145deg,#ffffff30,#ffffff05);color:var(--ink);box-shadow:inset 0 1px 0 #ffffff55,0 3px 9px #1726350a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.header .header-vk:hover,.header .theme-toggle:hover,.header .menu-toggle:hover{background:var(--glass-hover);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff66,0 6px 15px #17263515}
.header .header-vk:active,.header .theme-toggle:active,.header .menu-toggle:active{transform:scale(.94)}
@media(max-width:1200px){.header .header-phone{display:none}.header .header-inner{padding-inline:18px}}
@media(max-width:950px){.header{width:calc(100% - 32px);max-width:700px;top:12px;margin-top:12px;border-radius:29px}.header .header-inner{min-height:82px;padding:5px 16px}.header .brand img{width:164px;height:70px}.header #nav{top:calc(100% + 12px);padding:12px;border:1px solid var(--glass-edge);border-radius:26px;background:var(--glass);backdrop-filter:blur(36px) saturate(170%);-webkit-backdrop-filter:blur(36px) saturate(170%);box-shadow:inset 0 1px 0 #ffffff44,0 18px 40px #17263525}.header #nav a{font-size:16px;padding:16px 20px}.header #nav a:hover,.header #nav a[aria-current=page]{background:var(--glass-hover)}}
@media(max-width:480px){.header{width:calc(100% - 20px);top:10px;margin-top:10px;border-radius:25px}.header .header-inner{min-height:76px;padding:5px 10px;gap:6px}.header .brand img{width:148px;height:63px}}
@media(max-width:360px){.header .header-inner{gap:4px;padding-inline:8px}.header .brand img{width:118px;height:58px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header,.header #nav{background:var(--paper)}}
@media(prefers-reduced-transparency:reduce){.header,.header #nav{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.header,.header #nav a{transition:none}.header #nav a:hover,.header .header-vk:hover,.header .theme-toggle:hover,.header .menu-toggle:hover{transform:none}}
/* Dropdown stays legible where nested backdrop filters are not composited. */
@media(max-width:950px){.header #nav{background:linear-gradient(135deg,#ffffff55,transparent),rgba(245,249,253,.96)}[data-theme=dark] .header #nav{background:linear-gradient(135deg,#d7eaff10,transparent),rgba(24,34,44,.96)}}
/* Three independent glass islands, with navigation as the visual centre. */
.header,[data-theme=dark] .header{width:calc(100% - 64px);max-width:1400px;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:auto;pointer-events:none}
.header::before{display:none}
.header .header-inner{padding:0;min-height:80px;display:grid;grid-template-columns:190px 1fr auto;gap:18px;align-items:center}
.header .brand,.header #nav,.header-actions{pointer-events:auto;border:1px solid var(--glass-edge);background:linear-gradient(130deg,#ffffff24,transparent 55%),var(--glass);backdrop-filter:blur(28px) saturate(170%);-webkit-backdrop-filter:blur(28px) saturate(170%);box-shadow:inset 0 1px 0 #ffffff55,inset 0 -1px 0 #94aac522,0 8px 28px #17263512;border-radius:26px}
.header .brand{margin:0;padding:8px 16px;display:flex;align-items:center;justify-content:center}
.header .brand img{width:156px;height:66px}
.header #nav{justify-self:center;justify-content:center;margin:0;padding:8px;gap:2px;border-radius:40px}
.header #nav a{font-size:14px;padding:14px 17px;line-height:1.25}
.header-actions{display:flex;align-items:center;gap:7px;padding:8px;border-radius:40px}
.header .header-discuss{display:flex;gap:18px;align-items:center;white-space:nowrap;padding:14px 18px;border-radius:30px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:600;transition:transform .25s,opacity .25s}
.header .header-discuss:hover{transform:translateY(-1px);opacity:.88}
.header .header-discuss span{font-size:18px;line-height:1}
.header .header-phone{display:none}
.header .header-vk,.header .theme-toggle{border:0;box-shadow:none;background:transparent}
@media(max-width:1200px){.header{width:calc(100% - 40px)}.header .header-inner{grid-template-columns:170px 1fr auto;gap:12px}.header .brand{padding:8px 10px}.header .brand img{width:148px;height:63px}.header #nav a{font-size:13px;padding:14px 12px}.header .header-discuss{padding:14px;gap:9px}}
@media(min-width:951px) and (max-width:1080px){.header .header-discuss{display:none}}
@media(max-width:950px){.header{max-width:800px;width:calc(100% - 32px)}.header .header-inner{grid-template-columns:170px 1fr;gap:12px;min-height:78px}.header-actions{justify-self:end}.header #nav{display:none;position:absolute;top:calc(100% + 12px);left:0;right:0;justify-self:stretch;border-radius:26px;padding:12px;background:rgba(245,249,253,.97)}[data-theme=dark] .header #nav{background:rgba(24,34,44,.97)}.header #nav.open{display:flex}.header #nav a{padding:17px 20px;font-size:17px}.header .header-discuss{display:flex}.header .menu-toggle{border:0;box-shadow:none;background:transparent}.header .brand img{width:148px;height:63px}}
@media(max-width:620px){.header .header-discuss{display:none}.header{width:calc(100% - 24px)}.header .header-inner{grid-template-columns:160px 1fr;gap:10px}.header .brand{padding:6px 10px;border-radius:23px}.header .brand img{width:138px;height:59px}.header-actions{gap:3px;padding:6px}.header .header-vk,.header .theme-toggle,.header .menu-toggle{flex-basis:44px;width:44px;height:44px}}
@media(max-width:360px){.header{width:calc(100% - 16px)}.header .header-inner{grid-template-columns:140px 1fr;gap:6px}.header .brand img{width:120px;height:54px}.header-actions{padding:4px;gap:1px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header .brand,.header #nav,.header-actions{background:var(--paper)}}
@media(prefers-reduced-transparency:reduce){.header .brand,.header #nav,.header-actions{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.header .header-discuss{transition:none}.header .header-discuss:hover{transform:none}}
@media(max-width:1200px){.header.header{width:calc(100% - 40px)}}
@media(max-width:950px){.header.header{width:calc(100% - 32px);max-width:800px}}
@media(max-width:620px){.header.header{width:calc(100% - 24px)}}
@media(max-width:360px){.header.header{width:calc(100% - 16px)}}
/* Unified translucent header; the brand sits directly on the shared surface. */
.header.header,[data-theme=dark] .header.header{width:calc(100% - 48px);max-width:1400px;background:var(--glass);border:1px solid var(--glass-edge);border-radius:26px;backdrop-filter:blur(28px) saturate(150%);-webkit-backdrop-filter:blur(28px) saturate(150%);box-shadow:0 8px 30px #17263514,inset 0 1px 0 #ffffff33;pointer-events:auto}
.header .header-inner{grid-template-columns:160px minmax(0,1fr) auto auto;gap:18px;padding:10px 20px;min-height:90px}
.header .brand,.header #nav,.header .header-actions{border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:0}
.header .brand{padding:0}
.header .brand img{width:156px;height:66px}
.header #nav{padding:0;gap:0}
.header #nav a{padding:12px 10px;font-size:13px}
.header-contact{display:flex;flex-direction:column;gap:5px;max-width:246px;pointer-events:auto}
.header-contact>a:first-child{font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.header .header-address{font-size:11px;line-height:1.4;color:var(--muted);max-width:240px}
.header .header-address:hover{color:var(--ink)}
.header .header-actions{padding:0;gap:5px}
.header .header-discuss{display:none}
@media(max-width:1200px){.header .header-inner{gap:12px;padding-inline:16px;grid-template-columns:150px minmax(0,1fr) auto auto}.header #nav a{padding-inline:8px;font-size:12px}.header-contact{max-width:215px}.header .header-address{font-size:10px}}
@media(max-width:1080px) and (min-width:951px){.header .header-inner{grid-template-columns:140px minmax(0,1fr) auto;column-gap:16px;row-gap:0}.header .brand{grid-row:1/3}.header #nav{grid-column:2;grid-row:1}.header-contact{grid-column:2;grid-row:2;max-width:none;flex-direction:row;align-items:center;justify-content:center;gap:10px}.header-contact>a:first-child{font-size:12px}.header .header-address{max-width:205px;font-size:10px}.header-actions{grid-column:3;grid-row:1/3}}
@media(max-width:950px){.header.header,[data-theme=dark] .header.header{width:calc(100% - 24px);max-width:800px}.header .header-inner{grid-template-columns:1fr auto;gap:8px;padding:10px 14px}.header .brand{justify-content:flex-start;grid-column:1;grid-row:1}.header .header-actions{grid-column:2;grid-row:1}.header-contact{grid-column:1/-1;grid-row:2;max-width:none;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:15px;padding-top:8px;border-top:1px solid var(--glass-edge)}.header-contact>a:first-child{font-size:13px}.header .header-address{max-width:255px;font-size:11px;text-align:right}.header #nav{grid-column:auto;grid-row:auto;background:rgba(245,249,253,.97);border:1px solid var(--glass-edge);border-radius:24px;padding:12px}.header #nav a{font-size:16px;padding:16px 18px}[data-theme=dark] .header #nav{background:rgba(24,34,44,.97)}}
@media(max-width:480px){.header .header-inner{padding:8px 12px;gap:7px}.header .brand img{width:138px;height:59px}.header-contact{gap:12px;padding-top:9px;padding-bottom:3px}.header .header-address{max-width:190px;font-size:10px}.header-contact>a:first-child{font-size:12px}}
@media(max-width:360px){.header .header-inner{padding:8px;gap:4px}.header .brand img{width:120px;height:54px}.header-contact{gap:8px}.header-contact>a:first-child{font-size:11px}.header .header-address{font-size:9px;max-width:165px}}
@media(prefers-reduced-transparency:reduce){.header.header,[data-theme=dark] .header.header{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}}
/* Liquid Glass surface only: existing layout and controls stay unchanged. */
.header.header{
 background:linear-gradient(115deg,rgba(255,255,255,.34),rgba(255,255,255,.08) 42%,rgba(255,255,255,.22)),rgba(246,247,247,.58);
 border-color:rgba(255,255,255,.72);
 backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%);
 box-shadow:inset 0 1px 1px rgba(255,255,255,.9),inset 1px 0 1px rgba(255,255,255,.42),inset 0 -1px 1px rgba(118,130,139,.16),0 10px 32px rgba(34,43,48,.1);
}
[data-theme=dark] .header.header{
 background:linear-gradient(115deg,rgba(255,255,255,.14),rgba(255,255,255,.025) 42%,rgba(255,255,255,.08)),rgba(47,50,52,.62);
 border-color:rgba(255,255,255,.25);
 box-shadow:inset 0 1px 1px rgba(255,255,255,.35),inset 1px 0 1px rgba(255,255,255,.12),inset 0 -1px 1px rgba(0,0,0,.18),0 12px 36px rgba(0,0,0,.2);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.header.header{background:#f4f5f5}[data-theme=dark] .header.header{background:#2f3234}}
@media(prefers-reduced-transparency:reduce){.header.header{background:#f4f5f5;backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=dark] .header.header{background:#2f3234}}
