/* Bencefalo v23 — Tarotia-inspired navigation and footer */
.navin{position:relative}
.nav-mega{position:static}
.nav-mega>.nav-trigger{
  display:inline-flex;align-items:center;gap:5px;
  padding:9px 10px;border-radius:12px!important
}
.nav-mega:hover>.nav-trigger,.nav-mega:focus-within>.nav-trigger{
  color:#fff;background:rgba(164,126,255,.09)
}
.nav-mega-panel{
  position:absolute!important;
  top:calc(100% - 2px)!important;left:0!important;right:0!important;
  width:auto!important;min-width:0!important;
  transform:translateY(-8px)!important;
  padding:18px!important;
  border:1px solid rgba(164,126,255,.20)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(3,7,19,.99),rgba(4,5,15,.99))!important;
  box-shadow:0 26px 70px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.025)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  z-index:80!important;
}
.nav-mega:hover>.nav-mega-panel,.nav-mega:focus-within>.nav-mega-panel{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:translateY(0)!important
}
.nav-menu-head{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:0 2px 13px;margin-bottom:1px
}
.nav-menu-head>strong{
  font-family:var(--ui);font-size:14px;color:#f8f5ff;font-weight:750
}
.nav-menu-head>button{
  width:auto!important;padding:4px!important;color:#9bf1d1!important;
  font-size:11px!important;font-weight:700!important;text-align:right!important
}
.nav-mega-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px
}
.nav-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.nav-mega-card{
  display:grid!important;grid-template-columns:36px minmax(0,1fr) auto!important;
  align-items:start!important;gap:10px!important;
  min-height:84px!important;padding:12px!important;
  border:1px solid rgba(145,126,205,.22)!important;border-radius:12px!important;
  background:rgba(5,10,25,.58)!important;color:#eae7f4!important;
  text-align:left!important;text-transform:none!important;letter-spacing:0!important;
  transition:border-color .16s ease,background .16s ease,transform .16s ease!important
}
.nav-mega-card:hover{
  background:rgba(19,15,42,.82)!important;border-color:rgba(178,116,255,.46)!important;
  transform:translateY(-1px)
}
.nav-mega-icon{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  color:#b879ff;background:rgba(114,54,206,.18)
}
.nav-mega-card:nth-child(4n+2) .nav-mega-icon{color:#61e5bc;background:rgba(20,184,139,.13)}
.nav-mega-card:nth-child(4n+3) .nav-mega-icon{color:#ffd36b;background:rgba(220,158,20,.14)}
.nav-mega-card:nth-child(4n+4) .nav-mega-icon{color:#ff82a9;background:rgba(219,51,104,.14)}
.nav-mega-icon svg{width:19px;height:19px}
.nav-mega-copy{display:block;min-width:0}
.nav-mega-copy strong{
  display:block;color:#f7f4ff;font-size:12px;line-height:1.25;font-weight:750
}
.nav-mega-copy small{
  display:block;margin-top:4px;color:#9792a7;font-size:10px;line-height:1.42;font-weight:400
}
.nav-mega-copy em{
  display:block;margin-top:6px;color:#d3aeff;font-size:10px;line-height:1;font-style:normal;font-weight:750
}
.nav-mega-card>b{color:#576078;font-size:11px;font-weight:500}
.author-quote{font-style:italic!important}
.author-quote cite{font-style:normal!important}
.about-portrait{display:block;width:100%;height:auto;object-fit:cover}

/* Tarotia-inspired footer, adapted to Bencefalo */
.site-footer{
  margin-top:42px;padding:54px 0 22px!important;
  border-top:1px solid rgba(164,126,255,.16)!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(105,46,180,.11),transparent 27%),
    linear-gradient(180deg,#050510 0%,#030309 100%)!important
}
.footer-grid{
  display:grid!important;grid-template-columns:minmax(280px,1.7fr) repeat(3,minmax(135px,.72fr));
  gap:38px!important;align-items:start
}
.footer-brand{max-width:420px}
.footer-brand-link{text-decoration:none}
.footer-brand-title{display:inline-block;color:#fff;font-size:29px;letter-spacing:.035em}
.footer-brand p{
  margin:12px 0 20px;max-width:390px;color:#9691a6;font-size:13px;line-height:1.65
}
.footer-socials{display:flex;flex-wrap:wrap;gap:8px}
.footer-socials a{
  display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;
  border:1px solid rgba(164,126,255,.20);border-radius:999px;
  background:rgba(13,12,27,.74);color:#d9d3e6;text-decoration:none;
  font-size:11px;font-weight:650;transition:.16s ease
}
.footer-socials a:hover{color:#fff;border-color:rgba(183,112,255,.52);background:rgba(85,42,132,.18)}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.footer-col>strong{
  font-family:var(--ui)!important;color:#f2eef9!important;font-size:12px!important;
  letter-spacing:.02em!important;font-weight:750!important;margin-bottom:4px
}
.footer-col button{
  appearance:none;border:0;background:none;padding:0;color:#918b9e;
  font:inherit;font-size:11px;line-height:1.55;text-align:left;cursor:pointer
}
.footer-col button:hover{color:#c995ff}
.footer-bottom{
  margin-top:40px;padding-top:18px;border-top:1px solid rgba(164,126,255,.10);
  display:flex;justify-content:space-between;gap:18px;color:#6f6a79;font-size:10px;line-height:1.5
}

@media(max-width:1100px) and (min-width:981px){
  .nav-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .navlinks{gap:12px}
}
@media(max-width:980px){
  .navin{position:relative}
  .nav.mobile-open .navlinks{
    display:flex!important;max-height:calc(100vh - 64px);overflow:auto;
    overscroll-behavior:contain;padding-bottom:28px!important
  }
  .nav.mobile-open .nav-dropdown>.nav-trigger{
    display:flex!important;justify-content:space-between!important;align-items:center!important;
    width:100%!important;padding:12px 10px!important;color:#f4effb!important;
    background:rgba(164,126,255,.055)!important;border-radius:10px!important
  }
  .nav-mega{position:relative!important;width:100%}
  .nav-mega-panel,
  .nav-mega:hover>.nav-mega-panel,.nav-mega:focus-within>.nav-mega-panel{
    position:static!important;display:none!important;
    width:100%!important;min-width:0!important;
    margin:5px 0 10px!important;padding:8px 0 0!important;
    border:0!important;border-radius:0!important;
    background:transparent!important;box-shadow:none!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    transform:none!important
  }
  .nav.mobile-open .nav-mega>.nav-mega-panel{display:none!important}
  .nav.mobile-open .nav-mega.is-open>.nav-mega-panel{display:block!important}
  .nav-mega.is-open>.nav-trigger span{transform:rotate(180deg)}
  .nav-menu-head{display:none!important}
  .nav-mega-grid,.nav-topic-grid{grid-template-columns:1fr!important;gap:7px!important}
  .nav-mega-card{
    min-height:68px!important;padding:10px!important;
    grid-template-columns:34px minmax(0,1fr) auto!important;
    background:rgba(6,10,24,.72)!important
  }
  .nav-mega-copy small{font-size:10px}
  .navlinks>button:not(.btn){border-top:1px solid rgba(164,126,255,.08)!important}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr!important;gap:28px!important}
  .footer-brand{grid-column:1/-1;max-width:580px}
}
@media(max-width:620px){
  .site-footer{padding:42px 0 20px!important}
  .footer-grid{grid-template-columns:1fr 1fr!important;gap:28px 18px!important}
  .footer-brand{grid-column:1/-1}
  .footer-brand-title{font-size:27px}
  .footer-socials{gap:7px}
  .footer-socials a{font-size:10px;padding:7px 10px}
  .footer-bottom{flex-direction:column;margin-top:30px}
  .nav.mobile-open .navlinks{left:-12px!important;right:-12px!important;padding-left:12px!important;padding-right:12px!important}
}