:root{--bg:#fff;--ink:#000;--mute:#777;--line:#dcdcdc;--f:#eee;--land:#cfcfcf;--ph-a:#dcdcdc;--ph-b:#a8a8a8;--ph-ink:#444;--side:220px;color-scheme:light}
/* Tema escuro: escolhido em <html data-theme="dark"> no index.html (troca por "light" para o tema claro). Não há botão para o visitante. */
:root[data-theme="dark"]{--bg:#0d0d0d;--ink:#f0f0f0;--mute:#9a9a9a;--line:#2a2a2a;--f:#1a1a1a;--land:#2e2e2e;--ph-a:#303030;--ph-b:#1c1c1c;--ph-ink:#999;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:300 1rem/1.7 "Jost","Helvetica Neue",Arial,sans-serif}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
h1,h2,nav,button,input,textarea,label,.sans{font-family:"Jost","Helvetica Neue",Arial,sans-serif}
aside{position:fixed;inset:0 auto 0 0;width:var(--side);padding:40px 28px;display:flex;flex-direction:column;justify-content:space-between;background:var(--bg)}
.brand{font-weight:500;font-size:1.1rem;letter-spacing:-.02em;text-decoration:none;line-height:1.15}
nav{display:flex;flex-direction:column;gap:2px;margin-top:48px}
nav a{padding:5px 0;color:var(--mute);text-decoration:none;font-size:.95rem;font-weight:500;border-bottom:1px solid transparent;width:max-content}
nav a:hover{color:var(--ink)}
nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
main{margin-left:var(--side);min-height:100vh;padding:40px clamp(20px,4vw,56px) 56px}
.f{display:block;overflow:hidden;background:var(--f)}
.f img{width:100%;height:auto;display:block}
.pb img,.ph{filter:grayscale(1)}
.ph{width:100%;display:flex;align-items:flex-end;padding:10px 12px;font:500 .75rem "Jost",sans-serif;color:rgba(255,255,255,.85)}
h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1;letter-spacing:-.02em;font-weight:300;margin:0 0 28px}
.meta{color:var(--mute);font-size:.9rem;margin:0}
/* imagens protegidas contra guardar/arrastar */
img{pointer-events:none;-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
.f,.zona{-webkit-touch-callout:none;user-select:none}
/* seletor de idioma */
.lang{display:flex;gap:14px}
.lang__btn{padding:4px 1px 5px;border:0;background:none;color:var(--ink);font:500 .8rem/1 "Jost",sans-serif;letter-spacing:.1em;cursor:pointer;opacity:.4;transition:opacity .2s}
.lang__btn:hover{opacity:.8}
.lang__btn[aria-pressed="true"]{opacity:1;box-shadow:0 2px 0 var(--ink)}
[hidden]{display:none!important}
/* modo "em construção": só a marca, o seletor de idioma e a mensagem */
.wip aside nav,.wip footer{display:none}
.wip__box{max-width:34rem;min-height:calc(100vh - 100px);display:flex;flex-direction:column;justify-content:center}
.wip__box h1{margin-bottom:1rem}
.wip__box p{margin:0 0 1rem}
/* imagens: aparecem com fade ao carregar; páginas entram suavemente */
.f img.fade{opacity:0;transition:opacity .45s ease}
.f img.fade.is-loaded{opacity:1}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
.page-in{animation:pageIn .35s ease both}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){.f img.fade{transition:none}.page-in{animation:none}}
