/* Five Forces: shared tokens and navigation for React and static pages. */
@font-face { font-family:'Inter Variable'; font-style:normal; font-weight:100 900; font-display:swap; src:url('/brand/inter-latin.woff2') format('woff2'); }
:root {
  --p-bg:#f9f8f6; --p-ink:#2b303b; --p-muted:#62666f; --p-line:#d9dadd;
  --p-panel:#fff; --p-surface:#efefef; --p-font:'Inter Variable',Inter,system-ui,sans-serif;
  --p-header-height:80px; --p-radius:12px; --p-pink:#ec4899; --p-orange:#f97316;
  --p-green:#22c55e; --p-purple:#a855f7; --p-indigo:#6366f1;
}
:root[data-paulo-theme='dark'] {
  --p-bg:#101114; --p-ink:#eeeef0; --p-muted:#a3a5ae; --p-line:#34363d;
  --p-panel:#191b20; --p-surface:#24262c;
}
.p-site *,.p-site *::before,.p-site *::after,.p-utility,.p-utility *,.p-utility *::before,.p-utility *::after { box-sizing:border-box; }
[hidden] { display:none !important; }
.p-site,.p-utility { color:var(--p-ink); background:var(--p-bg); font-family:var(--p-font); -webkit-font-smoothing:antialiased; }
.p-header { position:fixed; inset:0 0 auto; height:var(--p-header-height); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; padding:0 clamp(22px,4vw,68px); background:var(--p-bg); color:var(--p-ink); font:13px var(--p-font); z-index:30; border-bottom:1px solid transparent; }
.p-site[data-page='inner'] .p-header,.p-utility .p-header { border-bottom-color:var(--p-line); }
.p-header a { color:inherit; text-decoration:none; }
.p-header button { font:inherit; cursor:pointer; color:inherit; -webkit-tap-highlight-color:transparent; }
.p-brand { display:inline-flex; align-items:center; gap:13px; width:fit-content; font-size:13px; letter-spacing:-.02em; white-space:nowrap; }
.p-brand img { object-fit:contain; width:28px; height:34px; }
:root[data-paulo-theme='dark'] .p-brand img,:root[data-paulo-theme='dark'] .p-footer img { filter:invert(1); }
.p-nav { display:flex; align-items:center; gap:clamp(16px,2.3vw,38px); font-size:13px; white-space:nowrap; }
.p-nav a { position:relative; display:inline-flex; align-items:center; min-height:44px; color:var(--p-muted); transition:color .2s; }
.p-nav a::after { content:''; position:absolute; left:0; right:0; bottom:5px; height:2px; background:var(--force,var(--p-ink)); opacity:.5; transform:scaleX(.2); transition:transform .3s,opacity .3s; }
.p-nav a[aria-current],.p-nav a:hover { color:var(--p-ink); }
.p-nav a[aria-current]::after,.p-nav a:hover::after { transform:scaleX(1); opacity:1; }
.p-nav .p-all::after { display:none; }
.p-tools { display:flex; align-items:center; justify-self:end; gap:10px; }
.p-lang { display:flex; padding:3px; border:1px solid var(--p-line); border-radius:999px; }
.p-lang button { font-size:11px; font-weight:500; border:0; background:none; color:var(--p-muted); border-radius:999px; min-height:32px; width:35px; }
.p-lang button[aria-pressed='true'] { background:var(--p-surface); color:var(--p-ink); }
.p-icon { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex:none; padding:0; background:var(--p-bg); color:var(--p-muted); border:1px solid var(--p-line); border-radius:50%; transition:background .2s,transform .2s; }
.p-icon:hover { background:var(--p-surface); }
.p-icon:active,.p-lang button:active { transform:scale(.94); }
.p-header :is(a,button):focus-visible,.p-site :is(a,button,input,select,textarea):focus-visible,.p-utility :is(a,button,input,select,textarea):focus-visible { outline:2px solid var(--p-ink); outline-offset:4px; }
.p-footer { position:relative; display:flex; justify-content:center; margin-top:64px; padding:32px 24px 48px; border-top:1px solid var(--p-line); }
.p-footer a { display:inline-flex; align-items:center; gap:10px; color:var(--p-muted); text-decoration:none; font:12px var(--p-font); }
.p-footer img { width:20px; height:25px; object-fit:contain; }
.p-back { display:inline-flex; align-items:center; gap:8px; min-height:40px; color:var(--p-muted); text-decoration:none; font:12px var(--p-font); }
@media (prefers-reduced-motion:no-preference) {
  .p-brand img,.p-footer img { animation:p-float 6s ease-in-out infinite; }
  @keyframes p-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
}
@media (max-width:1100px) { .p-brand span { display:none; } .p-header { gap:16px; padding-inline:24px; } .p-nav { gap:20px; } .p-tools { gap:8px; } }
@media (max-width:767px) {
  :root { --p-header-height:112px; }
  .p-header { grid-template-columns:1fr 1fr; grid-template-rows:64px 48px; gap:0; padding:0 22px; }
  .p-brand span { display:block; font-size:12px; } .p-brand img { width:23px; height:28px; }
  .p-tools { grid-column:2; grid-row:1; gap:7px; } .p-tools .p-icon { width:34px; height:34px; }
  .p-nav { grid-column:1/-1; grid-row:2; justify-content:space-between; gap:10px; font-size:12px; }
  .p-nav .p-all { font-size:11px; } .p-lang button { min-height:30px; width:30px; }
  .p-footer { margin-top:42px; padding-bottom:32px; }
}
@media (prefers-reduced-motion:reduce) { .p-header *,.p-footer * { animation:none!important; transition:none!important; } }
