:root{
  --brand:#18d2d2;
  --text:#eaf0ff;
  --muted:#a8b0c8;
  --glassLine2:rgba(255,255,255,.10);
  --max:1160px;
  --pad:clamp(18px,3vw,36px);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --font-main:"Manrope",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
[data-theme="light"]{--text:#0b1020;--muted:#3c4a66;--glassLine2:rgba(11,16,32,.10)}
html,body,button,input,textarea,select{font-family:var(--font-main)!important;font-optical-sizing:auto}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
a{color:inherit;text-decoration:none}
.site-header{position:fixed;left:0;right:0;top:0;z-index:50;background:transparent;border:0;transform:translate3d(0,0,0);transition:transform .82s var(--ease-out),opacity .62s var(--ease-out),filter .82s var(--ease-out);will-change:transform,opacity,filter}
.site-header .nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;transition:transform .72s var(--ease-out),opacity .52s var(--ease-out),filter .72s var(--ease-out);transform-origin:18px 18px}
.header-spacer{height:72px}
.brand{display:flex;align-items:center;gap:12px;min-width:0;font-weight:700;letter-spacing:.2px}
.brand>span:last-child{white-space:nowrap}
.brand-badge{position:relative;width:34px;height:34px;min-width:34px;min-height:34px;border-radius:12px;overflow:visible;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:transparent}
.logo3d-mount{display:block;position:relative;width:100%;height:100%;min-width:34px;min-height:34px;border-radius:12px;overflow:visible;background:linear-gradient(135deg,rgba(24,210,210,.95),rgba(255,255,255,.25));box-shadow:0 10px 25px rgba(24,210,210,.18)}
.logo3d-mount canvas,.site-logo-static img{display:block;width:100%!important;height:100%!important;border-radius:12px;object-fit:contain}
.logo3d-mount.is-loaded{background:transparent;box-shadow:none}
.site-header-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:18px;align-items:center}
.site-header-nav a{color:var(--muted);font-size:14px;transition:color .16s var(--ease-out)}
.site-header-nav a:hover{color:var(--text)}
.nav-cta{display:flex;align-items:center;gap:10px;padding:8px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}
[data-theme="light"] .nav-cta{border-color:rgba(11,16,32,.12);background:rgba(255,255,255,.72);box-shadow:0 12px 30px rgba(11,16,32,.10)}
.btn{display:inline-flex;align-items:center;justify-content:center;position:relative;border-radius:999px;padding:12px 16px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--text);font-weight:600;font-size:14px;line-height:1;white-space:nowrap;user-select:none;transition:transform .18s var(--ease-out),background .18s var(--ease-out),border-color .18s var(--ease-out),color .18s var(--ease-out);will-change:transform}
[data-theme="light"] .btn{background:rgba(255,255,255,.78);border-color:rgba(11,16,32,.14)}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.22)}
[data-theme="light"] .btn:hover{background:rgba(255,255,255,.92);border-color:rgba(11,16,32,.20)}
.btn-primary{border-color:rgba(24,210,210,.35);background:linear-gradient(135deg,rgba(24,210,210,.95),rgba(24,210,210,.45));color:#041018;box-shadow:0 12px 30px rgba(24,210,210,.22)}
.btn-icon{width:44px;height:44px;padding:0;flex:0 0 44px}
.icon{display:block;width:18px;height:18px;fill:currentColor;opacity:.95}
.nav-audit-short{display:none}
.menu-btn{position:fixed;left:18px;top:18px;z-index:999;width:48px;height:48px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:20px;color:var(--text);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);box-shadow:0 14px 34px rgba(0,0,0,.22);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);cursor:pointer;opacity:0;transform:translateY(-10px) scale(.82);pointer-events:none;transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}
[data-theme="light"] .menu-btn{background:rgba(255,255,255,.72);border-color:rgba(11,16,32,.14);box-shadow:0 14px 34px rgba(11,16,32,.10)}
body.header-cine .site-header{opacity:0;transform:translate3d(0,-44px,0) scale(.92);filter:blur(14px);pointer-events:none}
body.header-cine #menuToggle.menu-btn,body.menu-open #menuToggle.menu-btn{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.drawer{position:fixed;top:12px;left:12px;width:min(340px,calc(100vw - 24px));height:calc(100vh - 24px);padding:16px;border:1px solid var(--glassLine2);border-radius:24px;z-index:1000;opacity:0;transform:translateX(-18px) scale(.98);pointer-events:none;transition:opacity .42s var(--ease-out),transform .52s var(--ease-out);background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05) 40%,rgba(255,255,255,.03)),radial-gradient(120% 120% at 22% 10%,rgba(255,255,255,.22),transparent 55%),radial-gradient(120% 120% at 80% 70%,rgba(24,210,210,.14),transparent 60%),rgba(7,14,26,.9);box-shadow:0 22px 60px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(22px) saturate(145%) contrast(108%);-webkit-backdrop-filter:blur(22px) saturate(145%) contrast(108%)}
[data-theme="light"] .drawer{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(247,250,255,.90));box-shadow:0 22px 60px rgba(11,16,32,.16),inset 0 1px 0 rgba(255,255,255,.9)}
.drawer .top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.drawer .x{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
[data-theme="light"] .drawer .x{border-color:rgba(11,16,32,.14);background:rgba(255,255,255,.82)}
.drawer ul{list-style:none;padding:14px 0 0;margin:0;display:flex;flex-direction:column;gap:10px}
.drawer a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);transition:transform .2s var(--ease-out),background .2s var(--ease-out),border-color .2s var(--ease-out)}
[data-theme="light"] .drawer a{border-color:rgba(11,16,32,.10);background:rgba(255,255,255,.70)}
.drawer a:hover{transform:translateY(-2px);border-color:rgba(24,210,210,.28);background:rgba(255,255,255,.07)}
.drawer small{color:var(--muted)}
.scrim{position:fixed;inset:0;z-index:990;background:rgba(0,0,0,.40);opacity:0;pointer-events:none;transition:opacity .42s var(--ease-out)}
body.menu-open{overflow:hidden}
body.menu-open .drawer{opacity:1;transform:translateX(0) scale(1);pointer-events:auto}
body.menu-open .scrim{opacity:1;pointer-events:auto}
.site-footer{padding:30px 0 50px;color:rgba(168,176,200,.9);border-top:1px solid rgba(255,255,255,.07)}
[data-theme="light"] .site-footer{color:rgba(60,74,102,.95);border-top-color:rgba(11,16,32,.10)}
.foot{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot small{color:rgba(168,176,200,.78);line-height:1.7}
[data-theme="light"] .foot small{color:rgba(60,74,102,.95)}
.site-footer__links{text-align:right}
.reveal{opacity:0;transform:translateY(22px) scale(.985);filter:blur(8px);transition:opacity .76s var(--ease-out),transform .9s var(--ease-out),filter .9s var(--ease-out);will-change:opacity,transform,filter}
.reveal.in{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
@media(max-width:860px){
  .wrap{width:100%;max-width:100%;padding-left:16px!important;padding-right:16px!important}
  .site-header{opacity:1!important;transform:none!important;filter:none!important;pointer-events:auto!important;background:rgba(7,10,18,.78)!important;border-bottom:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(18px) saturate(140%)!important;-webkit-backdrop-filter:blur(18px) saturate(140%)!important}
  [data-theme="light"] .site-header{background:rgba(246,248,255,.84)!important;border-bottom-color:rgba(11,16,32,.10)!important}
  .site-header .nav{height:64px;min-height:64px;gap:10px;opacity:1!important;transform:none!important;filter:none!important;pointer-events:auto!important}
  .header-spacer{height:64px}
  .site-header-nav{display:none!important}
  .brand{max-width:calc(100vw - 192px)}
  .brand>span:last-child{overflow:hidden;text-overflow:ellipsis}
  .brand-badge,.logo3d-mount{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .nav-cta{margin-left:auto;gap:6px;padding:4px 54px 4px 4px}
  .btn-icon{width:38px;height:38px;min-width:38px;flex-basis:38px}
  .nav-audit-full{display:none!important}.nav-audit-short{display:inline!important}
  .nav-cta .nav-audit-btn{max-width:72px;min-width:62px;padding:10px 11px;font-size:13px}
  #menuToggle.menu-btn,body.header-cine #menuToggle.menu-btn,body.menu-open #menuToggle.menu-btn{display:inline-flex;opacity:1!important;transform:none!important;pointer-events:auto!important;left:auto;right:14px;top:10px;width:44px;height:44px;z-index:1100}
  .drawer{top:10px;left:10px;right:10px;width:auto;max-width:none;height:auto;max-height:calc(100dvh - 20px);overflow:auto;border-radius:22px;padding:14px;transform:translateY(-10px) scale(.98)}
  body.menu-open .drawer{transform:translateY(0) scale(1)}
  .drawer ul{gap:8px}.drawer a{padding:13px 12px}
  .scrim{z-index:1090;background:rgba(0,0,0,.28)}
  .site-footer{padding-bottom:84px}.site-footer__links{text-align:left}
  .reveal{will-change:auto}
}
@media(max-width:380px){.brand>span:last-child{display:none}.brand{max-width:44px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .nav,.menu-btn,.drawer,.scrim,.reveal{transition:none!important}.reveal{opacity:1;transform:none;filter:none}}

/* Shared Jinja shell navigation. Cross-page links use the same site-header-nav styles. */
.site-header .nav{
  position:relative;
  max-width:1380px;
}
.site-logo-static{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  overflow:visible!important;
}
.site-logo-static img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:0!important;
}

@media (max-width:1180px) and (min-width:861px){
  .site-header-nav{display:none!important;}
}
