
:root{--bg:#000016;--bg2:#08082A;--fg:#E6E6EA;--muted:#A9A9BF;--accent:#8F8DD0;--rule:#2B2B4D;--on-accent:#000016;
--f-display:'Cinzel','Trajan Pro',Georgia,serif;--f-body:'EB Garamond','Sabon',Georgia,serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:19px;line-height:1.6}
img{max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-weight:500;text-wrap:balance;margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--accent);color:var(--on-accent);padding:10px 14px;z-index:50}
.skip:focus{left:8px;top:8px}
.g{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.in{max-width:980px;margin:0 auto}
.narrow{max-width:720px}
.cap{font-family:var(--f-display);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}
.muted{color:var(--muted)}
.btn{display:inline-block;font-family:var(--f-display);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:15px 26px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent)}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--rule)}
.btn.ghost:hover{border-color:var(--accent)}
/* topo */
.top{padding-block:14px;border-bottom:1px solid var(--rule);background:var(--bg);position:relative;z-index:5}
.bar{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap}
.brand img{display:block;height:46px;width:auto}
.nav{display:flex;gap:6px 22px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--muted);padding:8px 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:var(--fg);border-color:var(--accent)}
/* hero */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:linear-gradient(90deg,#000016 30%,rgba(0,0,22,.55) 70%,rgba(0,0,22,.2)),url("/img/hero-bg.jpg") center 35%/cover no-repeat}
.sp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:center;padding-block:56px 64px}
.hero h1{font-size:clamp(1.9rem,4.6vw,3.2rem);line-height:1.05;letter-spacing:-.01em}
.hero h1 em{color:var(--accent);font-style:italic}
.lead{color:var(--muted);font-size:1.15rem;max-width:46ch;margin:22px 0 0}
.card{border:1px solid #3A3A66;background:rgba(0,0,22,.78);padding:24px}
.card .cap{color:var(--accent);margin:0 0 10px}
.card .sub{margin:22px 0 8px}
.card .muted{margin:0 0 16px}
.big-fone{font-family:var(--f-display);font-size:1.5rem;letter-spacing:.06em;margin:0 0 4px}
.chk{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:1rem;line-height:1.4}
.chk li{padding-left:22px;position:relative}
.chk li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border:1px solid var(--accent)}
.court{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.court div{padding:22px 0;text-align:center;font-family:var(--f-display);letter-spacing:.2em;font-size:1.1rem}
.court div+div{border-left:1px solid var(--rule)}
.court small{display:block;font-size:.62rem;color:var(--muted);letter-spacing:.14em;margin-top:2px}
/* seções */
.sec{padding-block:64px 0}
.sec.first{padding-top:48px}
.sec h2,.h2like{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:28px}
.sit{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.mat{display:grid;gap:6px;align-content:start;border:1px solid var(--rule);padding:18px}
.mat b{font-family:var(--f-display);font-size:.95rem;letter-spacing:.06em;font-weight:600}
.mat span{color:var(--muted);font-size:.98rem;line-height:1.45}
.row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:12px 40px;padding:26px 0;border-top:1px solid var(--rule)}
.row h3{font-family:var(--f-display);font-size:1.05rem;letter-spacing:.08em}
.row p{margin:0;color:var(--muted)}
.row ul{margin:10px 0 0;padding-left:1.2em;color:var(--muted)}
.about{display:grid;grid-template-columns:132px minmax(0,1fr);gap:22px;align-items:center}
.about p{margin:0}
.ph{display:block;width:132px;aspect-ratio:4/5;object-fit:cover;box-shadow:0 0 0 1px var(--rule)}
.fig{margin:28px 0 0;max-width:420px}
.fig img{display:block;width:100%;height:auto;box-shadow:0 0 0 1px var(--rule)}
.fig figcaption{color:var(--muted);margin-top:10px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule)}
.cell{background:var(--bg);padding:26px}
.cell b{font-size:1.2rem;font-weight:500;display:block;margin-bottom:6px}
.cell em{color:var(--accent);font-size:.9rem;display:block;margin-bottom:8px}
.cell span{color:var(--muted)}
.intro{margin:-14px 0 28px;max-width:60ch}
.acards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.acards.one{grid-template-columns:1fr}
.acard{border:1px solid var(--rule);padding:22px;display:grid;gap:8px;align-content:start}
.acard h3{font-size:1.25rem;line-height:1.25}
.acard h3 a{text-decoration:none}
.acard h3 a:hover{color:var(--accent)}
.acard p{margin:0;color:var(--muted)}
.acard .meta{color:var(--accent)}
.more{color:var(--accent);text-decoration:none;margin-top:4px}
.allart{margin:26px 0 0}
.cta{margin-top:72px;padding-block:48px;background:var(--accent);color:var(--on-accent)}
.cta h2{margin-bottom:14px;font-size:clamp(1.8rem,4vw,2.6rem)}
.cta p{margin:0 0 18px;max-width:50ch}
.cta .ctabtn{margin-bottom:18px}
.cta .btn{background:var(--on-accent);color:var(--fg);border-color:var(--on-accent)}
/* artigo */
.art .crumb{color:var(--accent);margin:0 0 14px}
.art .crumb a{text-decoration:none}
.art h1{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1.12}
.art .meta{color:var(--muted);margin:0 0 30px;line-height:1.7}
.prose{font-size:1.15rem;line-height:1.7}
.prose p{margin:0 0 1.1em}
.prose .lede{font-size:1.3rem;color:var(--fg);border-left:2px solid var(--accent);padding-left:18px}
.prose h2{font-size:1.5rem;margin:1.8em 0 .6em;font-family:var(--f-display);letter-spacing:.03em;font-weight:600}
.prose ul{padding-left:1.2em;margin:0 0 1.2em}
.prose li{margin-bottom:.5em}
.prose a{color:var(--accent)}
.prose .disc{color:var(--muted);font-size:1rem;border-top:1px solid var(--rule);padding-top:18px;margin-top:2em}
.prose .src{font-size:1rem;color:var(--muted)}
.authbox{margin-top:40px;padding-top:28px;border-top:1px solid var(--rule)}
.authbox .ph{width:96px}
.authbox{grid-template-columns:96px minmax(0,1fr)}
.authbtn{margin:24px 0 0}
.igbox{margin-top:30px;border:1px solid var(--rule);padding:18px}
.igbox p{margin:0}.igbox .cap{color:var(--accent);margin-bottom:6px}
/* rodapé */
.foot{padding-block:48px 56px;color:var(--muted);font-size:.9rem}
.foot p{margin:0 0 8px}
.foot span{margin:0 6px}
.fname b{color:var(--fg);font-weight:600}
.fnote{max-width:70ch;margin-top:14px!important}
.fw{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);padding:13px 20px;font-family:var(--f-display);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 24px -8px rgba(0,0,0,.6)}
@media(max-width:760px){
 .sp{grid-template-columns:1fr;padding-block:40px 48px}
 .hero::before{background:linear-gradient(180deg,rgba(0,0,22,.55),#000016 85%),url("/img/hero-bg.jpg") center top/cover no-repeat}
 .row{grid-template-columns:1fr}
 .grid2{grid-template-columns:1fr}
}
@media(max-width:520px){.about{grid-template-columns:96px minmax(0,1fr);gap:16px}.ph{width:96px}.authbox{grid-template-columns:80px minmax(0,1fr)}.authbox .ph{width:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
