@font-face{font-family:Aktiv;src:url('fonts/InterTight.woff2') format('woff2');font-weight:100 900;font-display:swap}

:root{--u:#1B2ED0;--u2:#1526B8;--u3:#8C9CFF;--p:#F1ECE3;--p2:#E7E1D6;--t:#161516;--t2:#1F1D1F;--c:#4C4842;--l:#CFC8BC;--m:#6B665E}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Aktiv,Helvetica,Arial,sans-serif;background:var(--p);color:var(--t);-webkit-font-smoothing:antialiased}
i{font-style:italic} a{color:inherit}
.w{max-width:1280px;margin:0 auto;padding:0 56px}
.ch{font:700 12px/1 Aktiv;letter-spacing:3.5px;text-transform:uppercase}
.serif{font-family:Serif;font-weight:400;letter-spacing:-.02em}
.btn{display:inline-flex;align-items:center;gap:10px;font:700 15px/1 Aktiv;padding:18px 26px;text-decoration:none;border-radius:999px;border:0;cursor:pointer}
.btn.claro{background:var(--p);color:var(--u)} .btn.azul{background:var(--u);color:var(--p)} .btn.tinta{background:var(--t);color:var(--p)}
.btn.linha{border:1px solid currentColor;background:transparent}
.u{background:var(--u);color:var(--p)} .t{background:var(--t);color:var(--p)} .p{background:var(--p)} .p2{background:var(--p2)}
.u .ch,.t .ch{color:rgba(241,236,227,.6)} .p .ch,.p2 .ch{color:var(--m)}
.lead{font-size:20px;line-height:1.55;max-width:540px}
.u .lead,.t .lead{color:rgba(241,236,227,.82)} .p .lead,.p2 .lead{color:var(--c)}
section,header.hero,header.pa{position:relative;overflow:hidden}
body{overflow-x:hidden}
.abre{display:flex;flex-direction:column;gap:22px}
.abre h2{font-size:64px;line-height:1}

/* nav */
nav{position:absolute;top:0;left:0;right:0;z-index:10;color:var(--p)}
nav.escura{color:var(--t)}
nav .w{display:flex;align-items:center;justify-content:space-between;height:92px}
.marca{display:flex;align-items:center;gap:14px;text-decoration:none}
.links{display:flex;gap:28px;align-items:center;font:500 15px/1 Aktiv}
.links a.nl{text-decoration:none;opacity:.8} .links a.nl.on{opacity:1}
.lang{display:flex;gap:2px;font:700 11px/1 Aktiv;letter-spacing:2px;border:1px solid rgba(241,236,227,.35);border-radius:999px;padding:3px}
nav.escura .lang{border-color:rgba(22,21,22,.25)}
.lang button{background:none;border:0;color:inherit;padding:7px 10px;cursor:pointer;font:inherit;border-radius:999px}
.lang button.on{background:var(--p);color:var(--u)} nav.escura .lang button.on{background:var(--t);color:var(--p)}

/* HERO da home (aprovado) */
.hero{min-height:900px;display:flex;align-items:flex-end}
.hero .musa{position:absolute;right:-210px;top:40px}
.hero .w{position:relative;z-index:2;padding-bottom:110px;width:100%}
.hero h1{font-size:132px;line-height:.9;margin:28px 0 40px;max-width:900px}
.acoes{display:flex;gap:26px;align-items:center;margin-top:38px}
.acoes a.l{font:700 15px/1 Aktiv;text-decoration:none;opacity:.8}

/* 1 · afirmação centrada (Collins) */
.afirma{padding:170px 0 160px;text-align:center}
.afirma .ch{margin-bottom:34px}
.afirma h2{font-size:84px;line-height:1.02;max-width:1080px;margin:0 auto}
.afirma h2 i{color:var(--u)}

/* 2 · serviços em linhas finas (Collins) */
.linhas{padding:40px 0 150px}
.linhas .g{display:grid;grid-template-columns:380px 1fr;gap:80px;align-items:start}
.lista-s{border-top:1px solid var(--l)}
.lista-s a{display:grid;grid-template-columns:60px 1fr 1.2fr 40px;align-items:baseline;gap:20px;padding:34px 0;border-bottom:1px solid var(--l);text-decoration:none}
.lista-s .n{font:700 12px/1 Aktiv;letter-spacing:3px;color:var(--m)}
.lista-s .nm{font-size:48px;line-height:1}
.lista-s p{font-size:17px;line-height:1.5;color:var(--c)}
.lista-s .ar{font-size:26px;text-align:right;color:var(--u)}

/* 3 · método centrado (aprovado) */
.met{padding:150px 0;text-align:center}
.met h2{font-size:100px;line-height:.92;margin:24px auto 90px}
.fases{display:grid;grid-template-columns:repeat(4,1fr)}
.fase{padding:6px 28px 0;border-left:1px solid rgba(241,236,227,.16)} .fase:first-child{border-left:none}
.fase .rom{font-family:Serif;font-style:italic;font-size:80px;line-height:1;color:var(--u3)}
.fase .nm{font-size:40px;line-height:1;margin:18px 0 12px}
.fase .s{font:700 11px/1 Aktiv;letter-spacing:3px;text-transform:uppercase;opacity:.65}
.fase p{font-size:16px;line-height:1.55;opacity:.72;margin-top:18px}

/* 4 · comparativo (Rankings) */
.comp{padding:150px 0}
.comp .cab{text-align:center;margin-bottom:64px}
.comp .cab h2{font-size:84px;line-height:.96;margin:22px 0 18px}
.comp .cab h2 i{color:var(--u)}
.tabela{border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 0 var(--l)}
.tabela .tr{display:grid;grid-template-columns:1.1fr 1fr 1fr;border-bottom:1px solid #ECE6DC}
.tabela .tr:last-child{border-bottom:0}
.tabela .th{background:var(--t);color:var(--p)}
.tabela .th div{padding:24px 28px;font:700 12px/1 Aktiv;letter-spacing:3px;text-transform:uppercase}
.tabela .th .nos{background:var(--u)}
.tabela .td{padding:22px 28px;font-size:17px;line-height:1.4;display:flex;gap:12px;align-items:baseline}
.tabela .cap{font-weight:700}
.tabela .sim{background:rgba(27,46,208,.05)}
.tabela .ok{color:var(--u);font-weight:700} .tabela .x{color:#A9A195;font-weight:700}
.tabela .nao{color:var(--m)}

/* 5 · conformidade em células (Legora) */
.conf{padding:140px 0}
.conf .g{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:end;margin-bottom:60px}
.conf h2{font-size:84px;line-height:.94;margin-top:20px}
.celulas{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(241,236,227,.2)}
.cel{padding:28px 26px 34px;border-right:1px solid rgba(241,236,227,.2);min-height:250px;display:flex;flex-direction:column;justify-content:space-between}
.cel:last-child{border-right:0}
.cel .jur{font:700 11px/1 Aktiv;letter-spacing:3px;color:var(--u3)}
.cel .nm{font-size:34px;line-height:1.05;margin:16px 0 14px}
.cel p{font-size:15px;line-height:1.5;opacity:.7}

/* 6 · cartões por público (Harvey) */
.publico{padding:150px 0}
.publico .cab{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}
.publico .cab h2{font-size:72px;line-height:1;max-width:680px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pc{border-radius:14px;padding:34px 32px 30px;min-height:470px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.pc .ch{position:relative;z-index:2}
.pc .nm{font-size:54px;line-height:.98;position:relative;z-index:2}
.pc p{font-size:16px;line-height:1.55;margin-top:16px;position:relative;z-index:2;opacity:.82}
.pc .musa{position:absolute;right:-120px;top:-40px;opacity:.9}

/* 7 · números em linhas (Harvey) */
.nums{padding:130px 0}
.nums .g{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}
.nums h2{font-size:64px;line-height:1;margin-top:20px}
.nl2{border-top:1px solid rgba(241,236,227,.2)}
.nl2 .r{display:flex;justify-content:space-between;align-items:center;padding:26px 0;border-bottom:1px solid rgba(241,236,227,.2)}
.nl2 .lb{font-size:17px;opacity:.75;max-width:320px}
.nl2 .v{font-family:Serif;font-size:84px;line-height:1}

/* 8 · artigos com filtros (Mishcon) */
.arts{padding:140px 0}
.arts .cab{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:36px;gap:40px}
.arts .cab h2{font-size:72px;line-height:1}
.filtros{display:flex;gap:8px;margin-bottom:34px;flex-wrap:wrap}
.filtros span{font:500 14px/1 Aktiv;padding:10px 16px;border:1px solid var(--l);border-radius:999px}
.filtros span.on{background:var(--t);color:var(--p);border-color:var(--t)}
.grid-a{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:22px}
.art{border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;display:flex;flex-direction:column}
.art .capa{height:210px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:22px}
.art.grande .capa{height:340px}
.art .capa .fr{font-family:Serif;font-size:44px;line-height:1;color:var(--p);position:relative;z-index:2}
.art .corpo{padding:24px 26px 28px}
.art .cat{font:700 11px/1 Aktiv;letter-spacing:3px;text-transform:uppercase;color:var(--u)}
.art .tt{font-size:30px;line-height:1.08;margin:14px 0 18px}
.art.grande .tt{font-size:40px}
.art .ler{font:700 14px/1 Aktiv}

/* 9 · cartão de chamada (Legora) */
.cta{padding:30px 0 130px}
.cartao{border-radius:22px;background:var(--u);color:var(--p);padding:90px 80px;position:relative;overflow:hidden;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end}
.cartao .musa{position:absolute;right:-60px;top:-110px}
.cartao h2{font-size:112px;line-height:.9;margin:22px 0 28px;position:relative;z-index:2;max-width:760px}
.cartao .ch,.cartao p,.cartao .acoes{position:relative;z-index:2}
.cartao .lead{color:rgba(241,236,227,.86)} .cartao .ch{color:rgba(241,236,227,.62)}

/* páginas internas: abertura dividida (Harvey) */
.pa{padding:190px 0 90px}
.pa .g{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;align-items:end}
.pa h1{font-size:112px;line-height:.9;margin-top:24px}
.pa .dir{display:flex;flex-direction:column;gap:30px;padding-bottom:10px}
.pa-faixa{height:340px;border-radius:18px;margin-top:70px;position:relative;overflow:hidden}
.pa-faixa .musa{position:absolute}

/* serviço detalhado: índice fixo à esquerda */
.sd{padding:110px 0;border-top:1px solid var(--l)}
.sd .g{display:grid;grid-template-columns:360px 1fr;gap:90px;align-items:start}
.sd .esq{position:sticky;top:40px}
.sd .rom{font-family:Serif;font-style:italic;font-size:30px;color:var(--u)}
.sd h2{font-size:72px;line-height:.95;margin:14px 0 18px}
.sd .prom{font-family:Serif;font-size:40px;line-height:1.1;margin-bottom:28px}
.sd .prom i{color:var(--u)}
.sd .desc{font-size:19px;line-height:1.6;color:var(--c);margin-bottom:40px;max-width:640px}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.duas .rot{font:700 11px/1 Aktiv;letter-spacing:3px;text-transform:uppercase;color:var(--m);padding-bottom:14px;border-bottom:2px solid var(--t)}
.duas .it{font-size:17px;padding:14px 0;border-bottom:1px solid var(--l)}

/* método detalhado: abas verticais (Harvey) */
.abas-v{padding:40px 0 150px}
.abas-v .g{display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:start}
.tabs{border-top:1px solid var(--l)}
.tabs button{display:flex;gap:18px;align-items:baseline;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--l);padding:24px 0;cursor:pointer;color:var(--m);font:inherit}
.tabs button .r{font-family:Serif;font-style:italic;font-size:26px;width:44px}
.tabs button .nm{font-family:Serif;font-size:36px}
.tabs button.on{color:var(--t)} .tabs button.on .r{color:var(--u)}
.painel{border-radius:18px;background:var(--t);color:var(--p);padding:60px 56px;min-height:560px;display:none}
.painel.on{display:block}
.painel .rom{font-family:Serif;font-style:italic;font-size:130px;line-height:.8;color:var(--u3)}
.painel h3{font-family:Serif;font-weight:400;font-size:60px;line-height:1;margin:26px 0 18px}
.painel p{font-size:18px;line-height:1.6;opacity:.8;max-width:560px}
.painel ul{list-style:none;margin-top:34px;border-top:1px solid rgba(241,236,227,.2);max-width:560px}
.painel li{padding:14px 0;border-bottom:1px solid rgba(241,236,227,.2);font-size:17px}
.painel .peca{margin-top:30px;display:inline-block;padding:12px 18px;border-radius:999px;background:var(--u);font:700 13px/1.3 Aktiv}

/* regra: deferido/indeferido */
.rows{border-top:2px solid var(--t)}
.row{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 0;border-bottom:1px solid var(--l)}
.row .item{font-family:Serif;font-size:50px;line-height:1.05;position:relative;display:inline-block}
.row.no .item::after{content:"";position:absolute;left:-8px;right:-12px;top:55%;height:8px;background:var(--u);transform:rotate(-2deg)}
.row .veredito{font:700 12px/1 Aktiv;letter-spacing:3.5px;text-transform:uppercase;white-space:nowrap}
.row.no .veredito{color:var(--u)}
.faq{padding:120px 0}
.faq .g{display:grid;grid-template-columns:380px 1fr;gap:80px}
.faq h2{font-size:64px;line-height:1;margin-top:20px}
details{border-bottom:1px solid var(--l)} details:first-of-type{border-top:2px solid var(--t)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;padding:26px 0;font-family:Serif;font-size:34px;line-height:1.1}
summary::after{content:"+";font-family:Aktiv;font-size:26px;color:var(--u)}
details[open] summary::after{content:"–"}
details p{font-size:18px;line-height:1.6;color:var(--c);padding:0 0 28px;max-width:720px}
.fonte{margin-top:26px;font-size:14px;color:var(--m)}

/* sobre: visão + fundador (Legora) */
.visao{padding:130px 0}
.visao .g{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:start}
.visao h2{font-size:64px;line-height:1;margin-top:20px}
.visao p{font-size:18px;line-height:1.65;color:var(--c)}
.fundador{display:grid;grid-template-columns:420px 1fr;gap:70px;align-items:end;margin-top:90px}
.fundador img{width:100%;border-radius:14px;display:block;filter:grayscale(1)}
.fundador .q{font-family:Serif;font-size:48px;line-height:1.1}
.fundador .q i{color:var(--u)}
.fundador .nome{font:700 14px/1.5 Aktiv;margin-top:28px}
.fundador .cargo{font-size:14px;color:var(--m)}
.fundador .trad{font-size:19px;color:var(--c);margin-top:16px}
.krios{padding:110px 0;border-top:1px solid var(--l)}
.krios .w{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}
.krios h2{font-size:84px;line-height:.95;margin-top:18px}
.krios .dir{display:flex;flex-direction:column;align-items:flex-start;gap:26px;max-width:460px}
/* WhatsApp flutuante */
.wpp{position:fixed;right:26px;bottom:26px;z-index:60;display:flex;align-items:center;gap:0;height:62px;border-radius:999px;
     background:var(--u);color:var(--p);text-decoration:none;box-shadow:0 10px 30px rgba(22,21,22,.25);overflow:hidden;transition:gap .3s}
.wpp .ic{width:62px;height:62px;display:flex;align-items:center;justify-content:center;flex:none}
.wpp .tx{font:700 15px/1 Aktiv;max-width:0;white-space:nowrap;overflow:hidden;transition:max-width .35s,padding .35s}
.wpp:hover .tx{max-width:220px;padding-left:22px}
.wpp:hover{flex-direction:row}

/* artigo */
.prosa{padding:40px 0 120px}
.prosa .col{max-width:740px;margin:0 auto}
.prosa p{font-size:21px;line-height:1.7;color:var(--c);margin-bottom:26px}
.prosa h3{font-family:Serif;font-weight:400;font-size:48px;line-height:1.05;margin:56px 0 20px}
.prosa .destaque{font-family:Serif;font-size:42px;line-height:1.15;color:var(--t);border-left:5px solid var(--u);padding-left:28px;margin:44px 0}

/* contato */
.contato{padding:180px 0 130px}
.contato .g{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:start}
.contato h1{font-size:104px;line-height:.9;margin:22px 0 30px}
.form{border-radius:18px;background:#fff;padding:44px 42px;display:grid;grid-template-columns:1fr 1fr;gap:26px 30px}
.campo label{display:block;font:700 11px/1 Aktiv;letter-spacing:3px;text-transform:uppercase;color:var(--m);margin-bottom:10px}
.campo input,.campo textarea{width:100%;font:400 18px/1.4 Aktiv;padding:12px 0;border:0;border-bottom:1px solid var(--t);background:transparent;outline:none}
.campo textarea{min-height:120px;resize:vertical}
.campo.inteiro{grid-column:1/-1}
.passos{margin-top:46px;border-top:1px solid var(--l)}
.passos > div{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--l)}
.passos .r{font-family:Serif;font-style:italic;font-size:26px;color:var(--u)}
.passos b{font-family:Serif;font-weight:400;font-size:28px;display:block;margin-bottom:4px}
.passos span{font-size:16px;color:var(--c)}

/* rodapé completo */
footer{padding:110px 0 44px}
footer .topo{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:70px;border-bottom:1px solid rgba(241,236,227,.18)}
footer .topo h2{font-size:64px;line-height:1}
footer .g{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:60px 0}
footer .col a{display:block;text-decoration:none;font-size:15px;line-height:2.2;opacity:.78}
footer .col .ch{margin-bottom:16px}
footer .base{display:flex;justify-content:space-between;gap:30px;padding-top:26px;border-top:1px solid rgba(241,236,227,.18);font-size:13px;color:rgba(241,236,227,.55)}

@media (max-width:900px){
  .w{padding-left:22px;padding-right:22px}
  .links a.nl,.links .btn{display:none} nav .w{height:74px}
  .hero{min-height:740px} .hero .musa{right:-330px;top:70px}
  .hero h1{font-size:56px} .hero h1 br,.cartao h2 br,.pa h1 br{display:none} .hero .w{padding-bottom:60px}
  .acoes{flex-direction:column;align-items:flex-start;gap:16px}
  .afirma{padding:100px 0} .afirma h2{font-size:40px}
  .linhas .g,.conf .g,.nums .g,.pa .g,.sd .g,.abas-v .g,.faq .g,.contato .g,.visao .g,.fundador{grid-template-columns:1fr;gap:34px}
  .lista-s a{grid-template-columns:40px 1fr 30px} .lista-s p{grid-column:2/3}
  .lista-s .nm{font-size:36px}
  .met{padding:90px 0} .met h2{font-size:54px;margin-bottom:40px}
  .fases{grid-template-columns:1fr} .fase{border-left:none;border-top:1px solid rgba(241,236,227,.16);padding:30px 0}
  .comp,.conf,.publico,.nums,.arts,.faq,.visao{padding:90px 0}
  .comp .cab h2,.conf h2,.publico .cab h2,.arts .cab h2{font-size:48px}
  .tabela .tr{grid-template-columns:1fr} .tabela .th{display:none}
  .tabela .td{padding:12px 20px} .tabela .cap{padding-top:22px;background:var(--p2)}
  .celulas{grid-template-columns:1fr 1fr} .cel{border-bottom:1px solid rgba(241,236,227,.2)}
  .publico .cab,.arts .cab,footer .topo{flex-direction:column;align-items:flex-start}
  .cards3,.grid-a{grid-template-columns:1fr}
  .nl2 .v{font-size:56px}
  .cartao{padding:60px 28px} .cartao h2{font-size:60px} .cartao .musa{right:-320px}
  .pa{padding:130px 0 60px} .pa h1{font-size:62px}
  .sd .esq{position:static} .sd h2{font-size:52px} .duas{grid-template-columns:1fr}
  .painel{padding:40px 28px} .contato h1{font-size:62px} .form{grid-template-columns:1fr;padding:30px 24px}
  footer .g{grid-template-columns:1fr} footer svg{max-width:100%} footer .base{flex-direction:column}
  .cel{min-width:0} .celulas{grid-template-columns:1fr} .cel{border-right:0;min-height:0}
  .pc .musa{right:-200px}
  .krios .w{flex-direction:column;align-items:flex-start} .krios h2{font-size:54px}
  .wpp{right:16px;bottom:16px}
  .row .item{font-size:32px} .row{flex-direction:column;align-items:flex-start;gap:8px}
}

/* portfólio */
.port{padding:140px 0}
.port .cab{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:50px}
.port .cab h2{font-size:72px;line-height:1}
.caso-card{display:grid;grid-template-columns:1.55fr 1fr;border-radius:18px;overflow:hidden;text-decoration:none;background:var(--t2)}
.caso-card.claro{background:#fff;color:var(--t)}
.caso-card .img{overflow:hidden;min-height:520px}
.caso-card .img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.caso-card:hover .img img{transform:scale(1.03)}
.caso-card .leg{padding:44px 40px;display:flex;flex-direction:column;justify-content:space-between;gap:26px}
.caso-card .nm{font-size:48px;line-height:1;margin-top:16px}
.caso-card p{font-size:18px;line-height:1.55;opacity:.8}
.caso-card .tags{font:500 13px/1.6 Aktiv;opacity:.6}
.caso-card .ver{font:700 15px/1 Aktiv}
.caso-card.claro .ch{color:var(--m)}
/* página do caso */
.caso-hero{position:relative;overflow:hidden;background:#0A0A0B}
.caso-hero img{width:100%;display:block;max-height:880px;object-fit:cover}
.caso-ab{padding:100px 0 60px}
.caso-ab .g{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:start;margin-top:22px}
.caso-ab h1{font-size:96px;line-height:.94;margin-bottom:26px}
.ficha{border-top:2px solid var(--t)}
.ficha > div{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--l);font-size:16px}
.ficha .rot{font:700 11px/1.6 Aktiv;letter-spacing:3px;text-transform:uppercase;color:var(--m)}
.ficha b{font-weight:500}
.caso-ab .texto{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:80px;padding-top:40px;border-top:1px solid var(--l)}
.caso-ab .texto p{font-size:19px;line-height:1.65;color:var(--c)}
.cb{padding:60px 0}
.cbt{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:34px}
.cbt h2{font-size:64px;line-height:1;margin-top:16px}
.cb img.full{width:100%;border-radius:16px;display:block}
.galeria{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.galeria img{width:100%;border-radius:14px;display:block;aspect-ratio:3/2;object-fit:cover}
.fundador .trad{max-width:560px;line-height:1.55}
@media (max-width:900px){
  .port{padding:90px 0} .port .cab{flex-direction:column;align-items:flex-start} .port .cab h2{font-size:48px}
  .caso-card{grid-template-columns:1fr} .caso-card .img{min-height:260px} .caso-card .nm{font-size:36px}
  .caso-ab .g,.caso-ab .texto{grid-template-columns:1fr;gap:30px} .caso-ab h1{font-size:56px}
  .cbt{flex-direction:column;align-items:flex-start;gap:16px} .cbt h2{font-size:44px}
  .galeria{grid-template-columns:1fr}
}

/* portfólio em grade (patch_portfolio2) */
.obras-s{padding-top:10px}
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}
.filtros button{font:600 14px/1 Aktiv;border:1px solid var(--l);background:transparent;color:inherit;border-radius:999px;padding:12px 20px;cursor:pointer}
.filtros button.on{background:var(--t);color:#fff;border-color:var(--t)}
.filtros button span{border:0;padding:0;background:none;border-radius:0;display:inline}
.filtros sup{font-size:10px;margin-left:6px;opacity:.6}
.obras{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.obra{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:#fff;color:var(--t);text-decoration:none}
.port.t .obra{background:var(--t2);color:inherit}
.obra .img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#E6E0D5}
.obra .img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.obra:hover .img img{transform:scale(1.03)}
.obra .selo{position:absolute;left:18px;top:18px;font:700 11px/1 Aktiv;letter-spacing:2px;text-transform:uppercase;padding:9px 13px;border-radius:999px;background:#fff;color:#161516}
.obra .selo.conceito{background:#1B2ED0;color:#fff}
.obra .leg{padding:30px 32px 34px;display:flex;flex-direction:column;gap:14px;flex:1}
.obra .topo-o{display:flex;justify-content:space-between;font:700 11px/1 Aktiv;letter-spacing:2.5px;text-transform:uppercase;opacity:.6}
.obra .nm{font-size:40px;line-height:1.02}
.obra p{font-size:17px;line-height:1.55;opacity:.8}
.obra .tags{font:500 13px/1.6 Aktiv;opacity:.6;margin-top:auto}
.obra.pauta{background:transparent;border:1.5px dashed var(--l)}
.obra.pauta .img{background:transparent;display:flex;align-items:center;justify-content:center;border-bottom:1.5px dashed var(--l)}
.obra.pauta .img span{font-size:120px;opacity:.18}
.obra.pauta .lk{font:700 15px/1 Aktiv;color:var(--m);margin-top:auto}
.credito{display:flex;align-items:center;gap:30px;margin-top:50px;padding-top:30px;border-top:1px solid var(--l)}
.port.t .credito{border-color:rgba(255,255,255,.18)}
.credito .kx{font:700 13px/1 Aktiv;letter-spacing:3px;text-transform:uppercase;white-space:nowrap}
.credito .kx b{color:var(--m)}
.credito p{font-size:15px;opacity:.7;max-width:70ch}
.credito a{color:inherit;text-decoration:underline}
@media (max-width:900px){
  .obras{grid-template-columns:1fr} .obra .nm{font-size:32px} .obra .leg{padding:24px}
  .credito{flex-direction:column;align-items:flex-start;gap:12px}
}

/* a permissão e páginas internas: manchete maior pede coluna maior (patch_narrativa) */
@media (min-width:901px){
  .conf .g{grid-template-columns:1.35fr 1fr;gap:60px}
  .conf h2{font-size:clamp(40px,4.6vw,72px)}
  .pa .g{grid-template-columns:1.35fr 1fr;gap:60px}
  .pa h1{font-size:clamp(46px,5.4vw,92px)}
}
@media (max-width:900px){.conf h2 br,.pa h1 br{display:none}}
/* seção da ambição — sociedade sem o sócio (patch_narrativa) */
.soc{padding:140px 0}
.soc .cab-s{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:end;margin-bottom:70px}
.soc h2{font-size:clamp(40px,5.4vw,84px);line-height:.98;margin-top:20px}
.trocas{border-top:1px solid var(--l)}
.troca{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid var(--l)}
.troca .de{font:400 clamp(20px,2vw,30px)/1.2 Serif;color:var(--m);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--l)}
.troca .seta{font:400 26px/1 Serif;color:var(--u);text-align:center}
.troca .para{font:400 clamp(22px,2.2vw,34px)/1.2 Serif;color:var(--t)}
@media (max-width:900px){
  .soc{padding:90px 0}
  .soc .cab-s{grid-template-columns:1fr;gap:26px;margin-bottom:40px}
  .troca{grid-template-columns:1fr;gap:6px;padding:22px 0}
  .troca .seta{text-align:left}
}

/* ===== movimento (preparar_publicacao) ===== */
@keyframes sobe{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}
@keyframes faceta{from{opacity:0;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--rt))}to{opacity:1;transform:none}}
.m body{animation:sobe .01s}
.m header .w > *{animation:sobe .8s cubic-bezier(.2,.7,.1,1) both}
.m header .w > *:nth-child(2){animation-delay:.08s}.m header .w > *:nth-child(3){animation-delay:.16s}
.m header .w > *:nth-child(4){animation-delay:.24s}.m header .w > *:nth-child(5){animation-delay:.32s}
.m .musa svg path{opacity:0;transform-box:fill-box;transform-origin:center}
.m .musa svg.monta path{animation:faceta 1.1s cubic-bezier(.16,.8,.2,1) both}
.m header.hero .musa{will-change:transform}
.m section .w > *,.m footer .w > *{opacity:0;transform:translate3d(0,26px,0);transition:opacity .9s cubic-bezier(.2,.7,.1,1),transform .9s cubic-bezier(.2,.7,.1,1);transition-delay:var(--d,0ms)}
.m .lista-s > *,.m .fases > *,.m .tabela > *,.m .obras > *,.m .grid-a > *,.m .galeria > *,.m .ficha > *{opacity:0;transform:translate3d(0,22px,0);transition:opacity .8s cubic-bezier(.2,.7,.1,1),transform .8s cubic-bezier(.2,.7,.1,1);transition-delay:var(--d,0ms)}
.m .rv.in{opacity:1;transform:none}
.m .lista-s.rv,.m .fases.rv,.m .tabela.rv,.m .obras.rv,.m .grid-a.rv,.m .galeria.rv,.m .ficha.rv{opacity:1;transform:none}
/* fases do método: linha que corre */
.m .fases{position:relative}
.m .fases:before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:currentColor;opacity:.35;transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.2,.7,.1,1) .2s}
.m .fases.in:before,.m .rv.in .fases:before{transform:scaleX(1)}
/* nav: fixa ao voltar o scroll */
nav{transition:transform .45s cubic-bezier(.2,.7,.1,1),background .3s}
nav.fixa{position:fixed;transform:translateY(-100%);background:rgba(22,21,22,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
nav.escura.fixa{background:rgba(241,236,227,.92)}
nav.fixa .w{height:72px}
nav.fixa.vis{transform:none}
/* microinterações */
.btn{transition:transform .25s cubic-bezier(.2,.7,.1,1),box-shadow .25s,background .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(22,21,22,.18)}
.lista-s a .ar{transition:transform .3s}.lista-s a:hover .ar{transform:translateX(6px)}
.obra{transition:transform .5s cubic-bezier(.2,.7,.1,1),box-shadow .5s}.obra:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(22,21,22,.12)}
a.nl{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s}
a.nl:hover,a.nl.on{background-size:100% 1px}
/* transição de página */
body{transition:opacity .26s ease}
.saindo body{opacity:0}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* grade das ementas (ementas.py) */
.grid-a.g3{grid-template-columns:repeat(3,1fr)}.grid-a.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.grid-a.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.grid-a.g3,.grid-a.g4{grid-template-columns:1fr}}
@media (max-width:900px){header.pa h1.serif{font-size:clamp(40px,11vw,64px)!important;line-height:1.02!important}.prosa .col{padding:0 22px}}
