/* =====================================================================
   NIX · nix.css — base compartilhada de todas as páginas de nix.mobi
   Contém só o que é comum: cores, fontes, reset, menu do topo e rodapé.
   O estilo específico de cada página continua dentro da própria página.
   ===================================================================== */

:root{
  --paper:#FBFAF8; --paper-2:#F2F1ED;
  --ink:#0C0F14; --ink-2:#161B22;
  --muted:#6B7280; --muted-d:#8A939F;
  --line:#E2E0DA; --line-d:#242A33;
  --or:#FF7A3D; --or-ink:#C2410C; --or-mid:#F26A21; --or-btn:#E05A15;
  --max:1240px; --nav:76px;
}

*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--nav) + 20px)}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--paper); color:var(--ink); -webkit-font-smoothing:antialiased; line-height:1.5}
.wrap{max-width:var(--max); margin:0 auto; padding:0 40px}
@media(max-width:900px){ .wrap{padding:0 24px} }

/* ---------------------------------------------------------------------
   MENU DO TOPO  ·  <nix-header>
   --------------------------------------------------------------------- */
nix-header{display:block; position:sticky; top:0; z-index:60; min-height:var(--nav)}
.nx-bar{background:rgba(251,250,248,.9); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line); position:relative}
.nx-in{max-width:var(--max); margin:0 auto; padding:0 40px; height:var(--nav);
  display:flex; align-items:center; gap:20px}
.nx-logo{display:flex; align-items:center; line-height:0; text-decoration:none}
.nx-in > nav{margin:0 auto}
.nx-logo img{height:28px; width:auto; display:block}

.nx-links{display:flex; align-items:center; gap:34px; list-style:none}
.nx-links > li{position:relative}
.nx-link, .nx-trigger{color:var(--ink); text-decoration:none; font:inherit; font-size:14.5px; font-weight:500;
  opacity:.75; background:none; border:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px;
  padding:8px 0; transition:opacity .2s ease}
.nx-link:hover, .nx-trigger:hover, .nx-trigger[aria-expanded="true"], .is-current > .nx-link,
.is-current > .nx-trigger{opacity:1}
.nx-trigger svg{width:9px; height:9px; transition:transform .25s ease}
.nx-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.nx-link:focus-visible, .nx-trigger:focus-visible, .nx-enter:focus-visible,
.nx-panel a:focus-visible, .nx-burger:focus-visible{outline:2px solid var(--or); outline-offset:4px; border-radius:2px}

/* painel que desce do menu */
.nx-panel{position:absolute; top:calc(100% + 12px); left:-24px; min-width:260px;
  background:var(--paper); border:1px solid var(--line); border-radius:6px;
  box-shadow:0 26px 48px -28px rgba(12,15,20,.35); padding:22px 24px;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s}
.nx-panel.open{opacity:1; visibility:visible; transform:none; transition:opacity .2s ease, transform .2s ease}
.nx-panel.wide{display:grid; grid-template-columns:repeat(2, minmax(240px,1fr)); gap:0 40px; min-width:560px}
.nx-group h4{font-size:12.5px; font-weight:700; color:var(--ink); margin-bottom:12px; letter-spacing:.01em}
.nx-group ul{list-style:none; display:flex; flex-direction:column; gap:9px}
.nx-panel a{color:var(--muted); text-decoration:none; font-size:14px; line-height:1.35; transition:color .2s ease}
.nx-panel a:hover, .nx-panel a[aria-current="page"]{color:var(--ink)}
.nx-panel a[aria-current="page"]{font-weight:600}

/* lado direito */
.nx-enter{color:var(--ink); text-decoration:none; font-size:14px; font-weight:500; opacity:.75; white-space:nowrap}
.nx-enter:hover{opacity:1}
.navcta{position:relative; z-index:0; overflow:hidden; border-radius:999px; border:2px solid var(--or-btn);
  color:var(--or-ink); padding:9px 22px; text-decoration:none; font-size:14px; font-weight:600;
  letter-spacing:-.005em; transition:color .3s ease; white-space:nowrap}
.navcta::before{content:''; position:absolute; inset:0; z-index:-1; background:var(--or-btn);
  transform:scaleX(0); transform-origin:left center; transition:transform .36s cubic-bezier(.22,.61,.36,1)}
.navcta:hover{color:#fff}
.navcta:hover::before{transform:scaleX(1)}
.navcta:focus-visible{outline:3px solid var(--or); outline-offset:3px}

/* botão de menu no celular */
.nx-burger{display:none; background:none; border:none; cursor:pointer; width:40px; height:40px;
  align-items:center; justify-content:center; margin-right:-8px}
.nx-burger span{display:block; width:18px; height:1.5px; background:var(--ink); position:relative;
  transition:background .2s ease}
.nx-burger span::before, .nx-burger span::after{content:''; position:absolute; left:0; width:18px; height:1.5px;
  background:var(--ink); transition:transform .25s ease, top .25s ease}
.nx-burger span::before{top:-6px} .nx-burger span::after{top:6px}
.nx-burger[aria-expanded="true"] span{background:transparent}
.nx-burger[aria-expanded="true"] span::before{top:0; transform:rotate(45deg)}
.nx-burger[aria-expanded="true"] span::after{top:0; transform:rotate(-45deg)}

/* gaveta do celular */
.nx-drawer{display:none}
@media(max-width:1000px){
  .nx-in{padding:0 24px}
  .nx-links, .nx-enter{display:none}
  .nx-burger{display:inline-flex}
  .nx-drawer{position:fixed; top:var(--nav); left:0; right:0; bottom:0; background:var(--paper);
    overflow-y:auto; padding:8px 24px 48px; border-top:1px solid var(--line)}
  .nx-drawer.open{display:block}
  .nx-drawer details{border-bottom:1px solid var(--line)}
  .nx-drawer summary{list-style:none; cursor:pointer; padding:18px 0; font-size:17px; font-weight:600;
    display:flex; justify-content:space-between; align-items:center}
  .nx-drawer summary::-webkit-details-marker{display:none}
  .nx-drawer summary svg{width:11px; height:11px; transition:transform .25s ease}
  .nx-drawer details[open] summary svg{transform:rotate(180deg)}
  .nx-drawer .nx-group{padding:0 0 20px}
  .nx-drawer .nx-group + .nx-group{padding-top:4px}
  .nx-drawer .nx-group h4{color:var(--muted); font-weight:600}
  .nx-drawer .nx-group a{color:var(--ink); text-decoration:none; font-size:15.5px}
  .nx-drawer .nx-group ul{gap:13px}
  .nx-drawer .nx-solo{display:block; padding:18px 0; font-size:17px; font-weight:600; color:var(--ink);
    text-decoration:none; border-bottom:1px solid var(--line)}
  .nx-drawer .nx-actions{display:flex; flex-direction:column; gap:12px; margin-top:28px}
  .nx-drawer .nx-actions .navcta{text-align:center; padding:13px 22px}
  .nx-drawer .nx-actions .nx-enter{display:block; text-align:center; padding:12px; opacity:1}
  body.nx-locked{overflow:hidden}
}
@media(max-width:760px){ .nx-bar .navcta{display:none} .nx-logo img{height:24px} }

/* ---------------------------------------------------------------------
   RODAPÉ  ·  <nix-footer>  ·  mapa do site completo, no estilo Apple
   --------------------------------------------------------------------- */
nix-footer{display:block}
.nx-foot{background:var(--paper-2); color:var(--muted); padding:clamp(58px,8vh,88px) 0 40px;
  font-size:14px; border-top:1px solid var(--line)}
.nx-foot .fnote{font-size:12.5px; line-height:1.65; color:var(--muted); max-width:96ch;
  padding-bottom:clamp(28px,4vh,40px); border-bottom:1px solid var(--line)}
.nx-foot .fnote p{font-size:inherit; color:inherit; max-width:none}
.nx-foot .fnote p + p{margin-top:10px}
.nx-foot .fgrid{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(26px,3.4vw,56px);
  padding:clamp(36px,5vh,54px) 0; align-items:start}
.nx-foot .fcol h4{font-size:13px; font-weight:700; letter-spacing:.01em; color:var(--ink); margin-bottom:15px}
.nx-foot .fcol ul + h4{margin-top:32px}
.nx-foot .fcol ul{list-style:none; display:flex; flex-direction:column; gap:10px}
.nx-foot .fcol a{color:var(--muted); text-decoration:none; font-size:13.5px; line-height:1.35; transition:color .2s ease}
.nx-foot .fcol a:hover, .nx-foot .fcol a[aria-current="page"]{color:var(--ink)}
.nx-foot .fbase{border-top:1px solid var(--line); padding-top:26px; display:flex; justify-content:space-between;
  align-items:flex-start; gap:24px; flex-wrap:wrap}
.nx-foot .flegal{font-size:12.5px; line-height:1.7; color:var(--muted); max-width:70ch}
.nx-foot .nx-logo img{height:22px}
@media(max-width:900px){
  .nx-foot .fgrid{grid-template-columns:1fr 1fr; gap:34px 20px}
  .nx-foot .fcol a{font-size:13px}
  .nx-foot .fbase{flex-direction:column-reverse}
}

@media(prefers-reduced-motion:reduce){
  .nx-panel, .nx-trigger svg, .navcta, .navcta::before, .nx-burger span::before, .nx-burger span::after{transition:none}
}
@media print{ nix-header, .nx-foot .fgrid{display:none !important} }
