
:root{
  --bg:#E9E9E6; --sheet:#FBFBF8; --card:#E6E6E2; --ink:#121212; --muted:#5F5F5A; --line:#CFCFC9;
  --dark:#141414; --on-dark:#F4F4F0; --muted-dark:#9C9C96; --line-dark:#2E2E2C;
  --lime:#E4F58A; --on-lime:#121212;
  --f-sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --r:26px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0B0B0B; --sheet:#151515; --card:#202020; --ink:#EFEFEA; --muted:#A3A39D; --line:#2F2F2D;
  --dark:#F2F2EE; --on-dark:#121212; --muted-dark:#55554F; --line-dark:#D3D3CD; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0B0B0B; --sheet:#151515; --card:#202020; --ink:#EFEFEA; --muted:#A3A39D; --line:#2F2F2D;
  --dark:#F2F2EE; --on-dark:#121212; --muted-dark:#55554F; --line-dark:#D3D3CD; color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:17px;line-height:1.55;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:24px}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.sheet{max-width:1180px;margin:0 auto;background:var(--sheet);border-radius:34px;padding:clamp(18px,3vw,36px);display:flex;flex-direction:column;gap:clamp(56px,8vw,112px)}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.muted{color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid currentColor;border-radius:999px;padding:7px 15px;font-size:14px;line-height:1;white-space:nowrap}
.card{border-radius:var(--r);padding:clamp(20px,2.6vw,32px);min-width:0}
.c-grey{background:var(--card)}
.c-dark{background:var(--dark);color:var(--on-dark)}
.c-lime{background:var(--lime);color:var(--on-lime)}
.c-line{border:1px solid var(--line)}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400;text-wrap:balance}
.up{text-transform:uppercase;font-stretch:85%;line-height:1;letter-spacing:-.01em}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-stretch:90%;letter-spacing:.02em;text-decoration:none}
.logo svg{width:44px;height:22px}
.nav nav{display:flex;gap:22px;flex-wrap:wrap;font-size:14px}
.nav nav a{text-decoration:none}
.nav nav a:hover{text-decoration:underline;text-underline-offset:4px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--sheet);text-decoration:none;border-radius:999px;padding:12px 20px;font-size:15px;font-weight:500;border:1px solid var(--ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.lime{background:var(--lime);color:var(--on-lime);border-color:var(--lime)}
@media (max-width:760px){.nav nav{display:none}}

/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:stretch}
@media (max-width:920px){.hero{grid-template-columns:minmax(0,1fr)}}
.hero-l{display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-width:0;padding-top:clamp(8px,3vw,36px)}
.headline{font-size:clamp(42px,6.8vw,92px)}
.headline em{font-style:normal;background:var(--lime);color:var(--on-lime);padding:0 .12em;border-radius:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.lede{font-size:clamp(18px,1.6vw,21px);max-width:44ch;line-height:1.45}
.ctas{display:flex;gap:10px;flex-wrap:wrap}
.portrait{margin:0;border-radius:var(--r);overflow:hidden;position:relative;background:var(--card);min-height:420px}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.05)}
.portrait figcaption{position:absolute;left:14px;right:14px;bottom:14px;background:var(--sheet);color:var(--ink);border-radius:18px;padding:14px 16px;font-size:14px;line-height:1.4}
.portrait figcaption b{display:block;font-size:16px;font-weight:600}

/* posições */
.theses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){.theses{grid-template-columns:minmax(0,1fr)}}
.thesis{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:230px}
.thesis h3{font-size:clamp(26px,2.8vw,36px)}
.thesis p{font-size:15px;max-width:52ch}
.c-dark .muted,.c-dark .mono{color:var(--muted-dark)}

/* seções */
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:end;margin-bottom:26px}
@media (max-width:820px){.sec-head{grid-template-columns:minmax(0,1fr)}}
.sec-head h2{font-size:clamp(36px,5.2vw,64px)}
.sec-head p{color:var(--muted);max-width:56ch}
.kicker{display:block;margin-bottom:14px;color:var(--muted)}

/* ideias: abas */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.tab{font:inherit;font-size:15px;background:transparent;color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:9px 17px;cursor:pointer}
.tab[aria-selected="true"]{background:var(--ink);color:var(--sheet)}
.idea{display:none}
.idea.on{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12px}
@media (max-width:900px){.idea.on{grid-template-columns:minmax(0,1fr)}}
.idea-l{display:flex;flex-direction:column;gap:20px;justify-content:space-between}
.idea-l h3{font-size:clamp(30px,3.4vw,44px)}
.idea-l p{max-width:52ch}
.status{display:flex;gap:8px;flex-wrap:wrap}
.status .pill{font-size:12px;padding:5px 11px}
.not{margin:0;padding:0;list-style:none;font-size:14px}
.not li{padding:8px 0;border-top:1px solid var(--line-dark)}
.c-grey .not li{border-color:var(--line)}

/* stepper fluxo */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:520px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.step{all:unset;box-sizing:border-box;cursor:pointer;border-radius:16px;padding:12px 14px;background:var(--card);display:flex;flex-direction:column;gap:14px;min-height:84px;justify-content:space-between}
.step span{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.step b{font-weight:500;font-size:17px;font-stretch:92%}
.step[aria-pressed="true"]{background:var(--lime);color:var(--on-lime)}
.step[aria-pressed="true"] span{color:var(--on-lime)}
.step:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.step.late{background:transparent;border:1px dashed var(--line)}
.panel{margin-top:10px;border-radius:18px;padding:20px 22px;background:var(--dark);color:var(--on-dark);min-height:148px}
.panel .mono{color:var(--muted-dark)}
.panel h4{margin:8px 0 8px;font-weight:500;font-size:22px;font-stretch:92%}
.panel p{font-size:15px;max-width:60ch}

/* opções genéricas (desfechos, futuros) */
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (max-width:520px){.opts{grid-template-columns:minmax(0,1fr)}}
.opt{border-radius:16px;padding:16px;background:var(--card);display:flex;flex-direction:column;gap:6px}
.opt b{font-weight:500;font-size:18px;font-stretch:92%}
.opt p{font-size:14px;color:var(--muted)}
.opt.hl{background:var(--lime);color:var(--on-lime)}
.opt.hl p{color:var(--on-lime)}
.q-big{font-size:clamp(20px,2vw,24px);font-weight:500;line-height:1.3;font-stretch:95%}

/* textos */
.posts{display:flex;flex-direction:column}
.post{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 4px;border-top:1px solid var(--line);text-decoration:none}
.post:last-child{border-bottom:1px solid var(--line)}
.post h3{font-size:clamp(22px,2.6vw,32px);font-stretch:88%;line-height:1.08}
.post p{font-size:15px;color:var(--muted);margin-top:6px;max-width:64ch}
.post .go{width:44px;height:44px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;transition:transform .2s,background .2s}
.post:hover .go{background:var(--ink);color:var(--sheet);transform:translate(2px,-2px)}
@media (max-width:720px){.post{grid-template-columns:minmax(0,1fr) auto}.post .when{grid-column:1/-1}}
.series{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}

/* campo */
.banner{position:relative;margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:16/7;background:var(--card)}
.banner img{width:100%;height:100%;object-fit:cover;object-position:70% 40%;display:block;filter:grayscale(1)}
.banner figcaption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:clamp(20px,3vw,40px);background:linear-gradient(90deg,rgba(10,10,10,.66) 0%,rgba(10,10,10,.25) 50%,rgba(10,10,10,0) 70%);color:#F4F4F0}
.banner .pill{align-self:flex-start;border-color:rgba(244,244,240,.6);font-size:13px}
.banner-t{text-transform:uppercase;font-stretch:85%;font-size:clamp(34px,5.4vw,72px);line-height:.98;max-width:10ch}
@media (max-width:640px){.banner{aspect-ratio:4/5}.banner img{object-position:84% 40%}.banner figcaption{background:linear-gradient(0deg,rgba(10,10,10,.72) 0%,rgba(10,10,10,0) 60%)}}
.field{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
@media (max-width:900px){.field{grid-template-columns:minmax(0,1fr)}}
.field .card{display:flex;flex-direction:column;gap:14px}
.field h3{font-size:24px;font-stretch:88%;line-height:1.1}
.field p{font-size:15px}
.field .src{font-size:13px;color:var(--muted);margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.c-dark .src{color:var(--muted-dark);border-color:var(--line-dark)}
.trail{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}
.trail .pill{font-size:14px}
.trail i{font-style:normal;color:var(--muted)}

/* em andamento */
.wip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.wip .card{display:flex;flex-direction:column;gap:12px;justify-content:space-between;min-height:200px}
.w1{grid-column:span 7}.w2{grid-column:span 5}.w3{grid-column:span 4}.w4{grid-column:span 4}.w5{grid-column:span 4}
@media (max-width:900px){.wip .card{grid-column:span 12}}
.wip h3{font-size:clamp(24px,2.4vw,30px);font-stretch:88%;line-height:1.08}
.wip p{font-size:15px}

/* sobre */
.about{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px}
@media (max-width:820px){.about{grid-template-columns:minmax(0,1fr)}}
.about figure{margin:0;border-radius:var(--r);overflow:hidden;background:var(--card);min-height:320px;position:relative}
.about figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;filter:grayscale(1)}
.about .txt{display:flex;flex-direction:column;gap:16px}
.about .txt p{max-width:62ch}
.lineage{display:flex;flex-wrap:wrap;gap:8px}
.lineage .pill{font-size:13px;color:var(--muted)}

/* fechamento */
.closing{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:end;padding:clamp(28px,4.4vw,56px)}
@media (max-width:860px){.closing{grid-template-columns:minmax(0,1fr)}}
.closing h2{font-size:clamp(38px,5.4vw,70px)}
.links{display:flex;flex-direction:column;gap:8px}
.links a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-radius:16px;border:1px solid var(--line-dark);text-decoration:none;font-size:15px}
.links a.main{background:var(--lime);color:var(--on-lime);border-color:var(--lime);font-weight:600}
.links a:hover{border-color:var(--on-dark)}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding:4px 6px 0}

/* tese cta */
.tese-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;text-decoration:none;padding:clamp(28px,4.4vw,56px)}
.tese-cta h2{font-size:clamp(38px,5.6vw,76px);margin:14px 0 14px}
.tese-cta p{max-width:58ch}
.post .mono{display:block;margin-bottom:4px}

/* páginas internas */
.back{font-size:14px;text-decoration:none}
.back:hover{text-decoration:underline;text-underline-offset:4px}
.art{max-width:720px;margin:0 auto;width:100%}
.art-head{display:flex;flex-direction:column;gap:18px}
.art-head h1{font-size:clamp(44px,7vw,92px)}
.art-head .sub{font-size:clamp(19px,1.8vw,23px);line-height:1.4;max-width:40ch}
.meta-row{display:flex;flex-wrap:wrap;gap:8px}
.meta-row .pill{font-size:13px;color:var(--muted)}
.toc{display:flex;flex-wrap:wrap;gap:8px}
.toc a{font-size:14px;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:7px 13px}
.toc a:hover{border-color:var(--ink)}
.prose{font-size:18px;line-height:1.65}
.prose h2{font-size:clamp(28px,3.4vw,40px);margin:56px 0 18px;text-transform:uppercase;font-stretch:85%;line-height:1}
.prose h3{font-size:22px;font-weight:600;margin:32px 0 10px;font-stretch:95%}
.prose p{margin:0 0 18px}
.prose .lead{font-size:21px;line-height:1.5}
.prose blockquote{margin:28px 0;padding:22px 24px;border-radius:20px;background:var(--lime);color:var(--on-lime);font-size:clamp(22px,2.4vw,28px);line-height:1.25;font-weight:500;font-stretch:92%}
.prose .note{font-size:15px;color:var(--muted)}
.fig{margin:28px 0;border-radius:22px;padding:22px;background:var(--card)}
.fig .mono{color:var(--muted);display:block;margin-bottom:12px}
.chain2{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:15px}
.chain2 span{background:var(--sheet);border-radius:999px;padding:6px 12px}
.chain2 i{font-style:normal;color:var(--muted)}
.fig.dk{background:var(--dark);color:var(--on-dark)}
.fig.dk .mono{color:var(--muted-dark)}
.fig.dk .chain2 span{background:#2a2a28;color:var(--on-dark)}
.matrix{display:grid;grid-template-columns:auto 1fr 1fr;gap:8px;align-items:stretch}
.matrix .ax{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);display:flex;align-items:center;justify-content:center}
.matrix .ax.v{writing-mode:vertical-rl;transform:rotate(180deg)}
.matrix .cell{border-radius:16px;padding:16px;background:var(--sheet);display:flex;flex-direction:column;gap:6px;min-height:140px}
.matrix .cell b{font-size:18px;font-weight:600;font-stretch:92%}
.matrix .cell p{margin:0;font-size:14px;color:var(--muted);line-height:1.45}
.matrix .cell.hot{background:var(--lime);color:var(--on-lime)}
.matrix .cell.hot p{color:var(--on-lime)}
.matrix .cell.ok{background:var(--dark);color:var(--on-dark)}
.matrix .cell.ok p{color:var(--muted-dark)}
@media (max-width:560px){.matrix{grid-template-columns:1fr 1fr}.matrix .ax{display:none}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.two{grid-template-columns:1fr}}
.two > div{border-radius:16px;padding:16px;background:var(--sheet)}
.two b{display:block;font-size:13px;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-weight:400;color:var(--muted)}
.two p{margin:0;font-size:15px;line-height:1.5}
.refs{font-size:14px;color:var(--muted);line-height:1.5}
.refs li{margin-bottom:8px}
.filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.tab[aria-pressed="true"]{background:var(--ink);color:var(--sheet)}

/* abas do site */
.tabbar{position:sticky;top:10px;z-index:20;display:flex;gap:6px;padding:6px;margin-top:-28px;background:var(--card);border-radius:999px;overflow-x:auto;scrollbar-width:none;align-self:flex-start;max-width:100%}
.tabbar::-webkit-scrollbar{display:none}
.tabbar a{text-decoration:none;font-size:15px;padding:10px 18px;border-radius:999px;white-space:nowrap;color:var(--ink)}
.tabbar a:hover{background:var(--sheet)}
.tabbar a[aria-selected="true"]{background:var(--ink);color:var(--sheet)}
@media (max-width:600px){.tabbar{align-self:stretch}.tabbar a{padding:9px 14px;font-size:14px}}
.panel-page{display:flex;flex-direction:column;gap:clamp(56px,8vw,104px)}
.panel-page[hidden]{display:none}
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:860px){.doors{grid-template-columns:minmax(0,1fr)}}
.door{display:flex;flex-direction:column;justify-content:space-between;gap:36px;min-height:220px;text-decoration:none;position:relative}
.door h3{font-size:clamp(22px,2.2vw,28px);font-stretch:88%;line-height:1.12}
.door .go{font-size:28px;align-self:flex-end;transition:transform .2s}
.door:hover .go{transform:translateX(4px)}
.about2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}
@media (max-width:820px){.about2{grid-template-columns:minmax(0,1fr)}}
.about2 .txt{display:flex;flex-direction:column;gap:16px;font-size:18px}
.about2 .trail{margin-top:8px}
.quote-card{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:280px}
.quote-card .big{font-size:clamp(36px,4.4vw,56px)}
.quote-card .muted{color:var(--muted-dark)}
.series-intro{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.series-intro p{font-size:17px;max-width:70ch}
@media (max-width:600px){.tabbar{gap:2px;padding:4px}.tabbar a{padding:8px 10px;font-size:13px;flex:1;text-align:center}}
