.site-header { position: sticky; top: 0; z-index: 50; background: rgba(4, 11, 21, 0.78); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 104px; gap: 24px; }
.site-header .brand { display: flex; flex: 0 0 auto; align-items: center; }
.site-header .brand img { display: block; height: auto; width: 300px; max-width: 65vw; object-fit: contain; }
.site-nav { display: flex; align-items: center; gap: 36px; }
.site-nav > ul { display: flex; gap: 32px; list-style: none; margin: 0; padding: 0; align-items: center; }
.site-nav a { color: var(--text); font-size: 14.5px; font-weight: 500; }
.site-nav > ul > li > a:hover { color: var(--cyan); }
.nav-toggle { display: none; background: none; border: 0; color: var(--text); padding: 8px; cursor: pointer; }
.nav-toggle .icon { width: 26px; height: 26px; }
.nav-toggle-close { display: none; }
@media (max-width: 1050px) {
.header-inner { min-height: 88px; gap: 12px; }
.site-header .brand img { width: 225px; }
.nav-toggle { display: inline-flex; }
.site-nav { position: fixed; inset: 88px 0 auto 0; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 24px 24px; background: rgba(4, 11, 21, 0.98); border-bottom: 1px solid var(--line); transform: translateY(-120%); transition: transform 0.25s; max-height: calc(100vh - 88px); overflow-y: auto; }
.site-nav > ul { flex-direction: column; align-items: stretch; gap: 0; }
.site-nav > ul > li > a { display: flex; width: 100%; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid rgba(64, 140, 220, 0.12); font-size: 16px; }
}
.site-nav a[aria-current="location"] { color:var(--cyan); background:#05c9e918; border-radius:6px; }

@media(max-width:1050px) {
 .nav-open .site-nav { transform:none; }
 .nav-open .nav-toggle-open { display:none; }
 .nav-open .nav-toggle-close { display:inline; }
}

/* Fully hide the closed menu even when the sticky header is captured/scrolled. */
@media(max-width:1050px) {
 .site-nav { visibility:hidden; opacity:0; pointer-events:none; }
 .nav-open .site-nav { visibility:visible; opacity:1; pointer-events:auto; }
}

.nav-dropdown { position:relative; }
.nav-dropdown > summary { cursor:pointer; list-style:none; color:var(--text); font-size:14.5px; font-weight:500; padding:12px 0; }
.nav-dropdown > summary::-webkit-details-marker { display:none; }
.nav-dropdown[open] > summary, .nav-dropdown > summary:hover { color:var(--cyan); }
.nav-dropdown > summary:focus-visible, .site-nav a:focus-visible { outline:2px solid var(--cyan); outline-offset:4px; border-radius:4px; }
.nav-submenu { list-style:none; position:absolute; right:0; top:calc(100% + 8px); min-width:280px; padding:10px; margin:0; background:#071726; border:1px solid var(--line); border-radius:12px; box-shadow:0 18px 40px #0008; }
.nav-submenu a { display:block; padding:12px; border-radius:6px; }
.nav-submenu a:hover, .site-nav a[aria-current="page"] { color:var(--cyan); background:#05c9e918; }
@media(max-width:1050px) {
 .nav-dropdown > summary { padding:14px 0; font-size:16px; border-bottom:1px solid var(--line); }
 .nav-submenu { position:static; min-width:0; box-shadow:none; margin:4px 0 12px; }
 .site-nav { max-height:calc(100dvh - 88px); overscroll-behavior:contain; overflow-x:hidden; }
}

.site-footer .brand img { height: 40px; width: auto; max-width: 60vw; object-fit: contain; }
.site-footer { border-top: 1px solid var(--line); background: rgba(3, 9, 18, 0.85); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0 26px; border-top: 1px solid rgba(64, 140, 220, 0.12); font-size: 13px; color: var(--muted); flex-wrap: wrap; }
.footer-bottom p { margin: 0; }
.footer-benefits { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-bottom:32px;border-bottom:1px solid #127fa746;margin-bottom:35px; }
.footer-benefits>div { display:flex;align-items:center;gap:14px; }
.footer-benefits svg { width:27px;height:27px;color:var(--cyan);flex-shrink:0; }
.footer-benefits small { display:block;margin-top:6px;color:#8fb0c8;font-size:11px; }
.footer-benefits strong { font-size:13px; }
.footer-columns { display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;margin-bottom:30px; }
.footer-columns a { display:block;font-size:13px;margin:10px 0;color:#b7cddd; }
.footer-columns h2 { color:var(--cyan);font-size:13px;text-transform:uppercase;letter-spacing:2px;margin:0 0 20px; }
.footer-columns p { font-size:13px;color:#a7bfd1; }
@media(max-width:760px) {
.footer-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); }
.footer-columns { grid-template-columns:1fr 1fr;gap:30px; }
.footer-columns>div { grid-column:1/-1; }
}
@media(max-width:480px) {
.footer-columns { grid-template-columns:1fr; }
.footer-columns>div { grid-column:auto; }
.footer-benefits { gap:20px 12px; }
.footer-benefits>div { align-items:flex-start;gap:8px; }
}

/* Uses scoped expansion primitives in public/css/site.css. */

.exp-consult{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;padding:40px;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:radial-gradient(ellipse at top right,rgba(25,200,255,.12),transparent 65%),var(--bg-2)}.exp-consult p:last-child{margin:0;color:var(--text-2)}.exp-consult-actions{display:flex;flex-direction:column;align-items:center;gap:20px}@media(max-width:760px){.exp-consult{grid-template-columns:1fr;padding:26px}.exp-consult-actions{align-items:stretch;text-align:center}}

/* Layout rules live beside each section; shared expansion primitives are scoped globally. */
