/* Angelo Venturi — home e página Quem sou eu */

/* O shell do hub é largo demais para páginas editoriais: aqui o conteúdo
   respira num container mais estreito, com ritmo vertical constante. */
body.pg .shell{max-width:1080px}

/* ===================== HERO ===================== */
.phero{
  display:grid;grid-template-columns:1fr;gap:36px;align-items:center;
  padding:56px 0 8px;
}
@media(min-width:940px){
  .phero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:60px;padding:72px 0 16px}
}

.phero__eyebrow{
  display:inline-flex;align-items:center;gap:9px;font-family:var(--f-display);
  font-size:10.5px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--mut);
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  padding:7px 15px;border-radius:999px;
}
.phero__eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--lime);flex:0 0 auto}

.phero h1{
  font-family:var(--f-display);font-weight:700;letter-spacing:-2.2px;line-height:.98;
  font-size:clamp(40px,7.6vw,68px);margin-top:20px;
}
.phero h1 em{
  display:block;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;
  letter-spacing:-1.4px;font-size:1.06em;margin-top:2px;
  background:linear-gradient(100deg,var(--cyan),var(--blue) 46%,var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  padding-bottom:.06em;
}

.claim{
  font-family:var(--f-display);font-weight:600;letter-spacing:-.5px;line-height:1.38;
  font-size:clamp(17px,3.4vw,23px);margin-top:24px;
}
.claim b{color:var(--cyan);font-weight:600}
.claim i{font-style:normal;color:var(--lime);font-weight:600}

.phero__sub{
  color:var(--mut);font-size:clamp(14.5px,2.6vw,16px);line-height:1.75;
  margin-top:18px;max-width:52ch;
}
.phero__sub b{color:var(--txt);font-weight:600}

.phero__btns{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}

.phero__fig{position:relative;justify-self:center;width:100%;max-width:430px}
.phero__fig img{
  width:100%;border-radius:var(--r-xl);border:1px solid var(--line);
  box-shadow:var(--shadow);display:block;
}
.phero__fig::after{
  content:"";position:absolute;inset:-16px;border-radius:34px;z-index:-1;
  background:conic-gradient(from 210deg,rgba(22,224,255,.5),rgba(138,92,255,.4),rgba(182,255,60,.3),rgba(22,224,255,.5));
  filter:blur(50px);opacity:.45;
}

/* ===================== FAIXA DE NÚMEROS ===================== */
.facts{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:44px;
  background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;
}
@media(min-width:720px){.facts{grid-template-columns:repeat(4,1fr)}}
.fact{background:#080A12;padding:22px 18px;text-align:center}
.fact b{
  display:block;font-family:'Playfair Display',Georgia,serif;font-weight:600;
  font-size:clamp(26px,5vw,34px);letter-spacing:-.8px;line-height:1;
  background:linear-gradient(100deg,var(--cyan),var(--blue) 60%,var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.fact small{
  display:block;margin-top:9px;font-size:11px;color:var(--mut);line-height:1.45;
  letter-spacing:.3px;
}

/* ===================== SEÇÕES ===================== */
.sec{padding:82px 0 0}
.sec__head{max-width:62ch}
.sec__head .eyebrow{display:block;margin-bottom:14px}
.sec__head h2{
  font-family:var(--f-display);font-weight:700;letter-spacing:-1.4px;line-height:1.08;
  font-size:clamp(27px,5vw,42px);
}
.sec__head h2 em{
  font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;
  color:var(--cyan);letter-spacing:-.8px;
}
.sec__head p{color:var(--mut);font-size:15.5px;line-height:1.75;margin-top:18px}
.sec__head p b{color:var(--txt);font-weight:600}

/* ---- grade de 6 frentes: 3 colunas fixas, nunca 4+2 ---- */
.grid3{display:grid;grid-template-columns:1fr;gap:13px;margin-top:34px}
@media(min-width:600px){.grid3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:940px){.grid3{grid-template-columns:repeat(3,1fr)}}

.tile{
  position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:24px 22px 22px;overflow:hidden;
  transition:transform .2s var(--ease),border-color .28s,background .28s;
}
.tile:hover{transform:translateY(-3px);border-color:rgba(22,224,255,.38);background:rgba(255,255,255,.06)}
.tile__n{
  position:absolute;top:18px;right:20px;font-family:var(--f-display);font-weight:700;
  font-size:12px;letter-spacing:1px;color:rgba(255,255,255,.14);
}
.tile__ico{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;
  background:rgba(22,224,255,.10);border:1px solid rgba(22,224,255,.22);color:var(--cyan);
  margin-bottom:16px;
}
.tile--lime .tile__ico{background:rgba(182,255,60,.09);border-color:rgba(182,255,60,.22);color:var(--lime)}
.tile--violet .tile__ico{background:rgba(138,92,255,.12);border-color:rgba(138,92,255,.26);color:var(--violet)}
.tile h3{font-family:var(--f-display);font-weight:600;font-size:16.5px;letter-spacing:-.3px}
.tile p{color:var(--mut);font-size:13.6px;line-height:1.68;margin-top:10px}

/* ---- método em 3 etapas ---- */
.steps{display:grid;grid-template-columns:1fr;gap:13px;margin-top:34px;counter-reset:st}
@media(min-width:820px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{
  position:relative;counter-increment:st;
  background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:26px 22px 22px;
}
.step::before{
  content:"0" counter(st);display:block;font-family:'Playfair Display',Georgia,serif;
  font-style:italic;font-weight:600;font-size:34px;line-height:1;letter-spacing:-1px;
  background:linear-gradient(100deg,var(--cyan),var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px;
}
.step h3{font-family:var(--f-display);font-weight:600;font-size:16px;letter-spacing:-.3px}
.step p{color:var(--mut);font-size:13.6px;line-height:1.68;margin-top:9px}

/* ---- linhas (para quem) ---- */
.rows{margin-top:34px;display:flex;flex-direction:column}
.row{
  display:grid;grid-template-columns:1fr;gap:8px;
  padding:24px 0;border-top:1px solid var(--line-2);
}
.row:last-child{border-bottom:1px solid var(--line-2)}
@media(min-width:760px){.row{grid-template-columns:230px 1fr;gap:36px;align-items:start}}
.row__k{font-family:var(--f-display);font-weight:600;font-size:15.5px;letter-spacing:-.2px;color:var(--txt)}
.row__k small{
  display:block;font-family:var(--f-body);font-size:10.5px;font-weight:600;
  letter-spacing:1.6px;text-transform:uppercase;color:var(--mut-2);margin-bottom:7px;
}
.row__v{color:var(--mut);font-size:14.8px;line-height:1.78}
.row__v b{color:var(--txt);font-weight:600}
.row--no .row__k small{color:#FF9AA5}

/* ---- manifesto ---- */
.manifesto{
  margin-top:38px;position:relative;overflow:hidden;
  border-radius:var(--r-xl);border:1px solid rgba(22,224,255,.24);
  background:linear-gradient(125deg,rgba(22,224,255,.10),rgba(138,92,255,.08));
  padding:clamp(28px,5vw,46px);
}
.manifesto p{
  font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:500;
  font-size:clamp(20px,4.4vw,34px);line-height:1.36;letter-spacing:-.8px;color:#EEF2FB;
  max-width:22ch;
}
.manifesto p b{font-style:normal;font-family:var(--f-display);font-weight:600;color:var(--cyan)}
.manifesto cite{
  display:block;font-style:normal;font-size:12.5px;color:var(--mut);margin-top:22px;
  letter-spacing:.3px;line-height:1.6;
}
.manifesto__mark{
  position:absolute;top:-30px;right:14px;font-family:'Playfair Display',Georgia,serif;
  font-size:190px;line-height:1;color:rgba(255,255,255,.035);pointer-events:none;user-select:none;
}

/* ---- competências ---- */
.skills{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.skills span{
  font-size:12.5px;font-weight:500;color:var(--mut);
  background:rgba(255,255,255,.04);border:1px solid var(--line);
  padding:8px 15px;border-radius:999px;
}
.skills span.is-top{
  color:var(--txt);font-weight:600;
  background:rgba(22,224,255,.10);border-color:rgba(22,224,255,.38);
}

/* ---- projetos ---- */
.proj{
  display:flex;align-items:flex-start;gap:15px;padding:19px 20px;text-decoration:none;color:var(--txt);
  background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);
  transition:transform .2s var(--ease),border-color .28s,background .28s;
}
.proj:hover{transform:translateY(-3px);border-color:rgba(22,224,255,.42);background:rgba(255,255,255,.07)}
.proj__thumb{
  flex:0 0 auto;width:46px;height:46px;border-radius:12px;overflow:hidden;
  border:1px solid var(--line);background:#0A0D16;
}
.proj__thumb img{width:100%;height:100%;object-fit:cover}

/* variante com ícone vetorial (usada na home) */
.proj__ico{
  flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:rgba(22,224,255,.10);border:1px solid rgba(22,224,255,.22);color:var(--cyan);
}
.proj__ico--gold{background:rgba(226,196,137,.11);border-color:rgba(226,196,137,.26);color:#E2C489}
.proj__ico--violet{background:rgba(138,92,255,.12);border-color:rgba(138,92,255,.26);color:var(--violet)}
.proj__ico--lime{background:rgba(182,255,60,.10);border-color:rgba(182,255,60,.24);color:var(--lime)}

/* faixa de projetos do hero da home */
.strip{
  display:flex;flex-wrap:wrap;gap:9px;align-items:center;
  margin-top:30px;padding-top:24px;border-top:1px solid var(--line-2);
}
.strip small{
  font-family:var(--f-display);font-size:10px;font-weight:600;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--mut-2);margin-right:5px;
}
.strip a{
  font-family:var(--f-display);font-size:12.5px;font-weight:600;color:var(--mut);
  text-decoration:none;padding:8px 15px;border-radius:999px;
  border:1px solid var(--line);transition:all .22s var(--ease);
}
.strip a:hover{color:var(--txt);border-color:rgba(22,224,255,.4);background:rgba(255,255,255,.05)}
.proj b{display:block;font-family:var(--f-display);font-weight:600;font-size:15.5px;letter-spacing:-.2px}
.proj p{color:var(--mut);font-size:13.2px;line-height:1.62;margin-top:7px}
