/* Perfil completo (dossiê) de um integrante: overlay em tela cheia, minimalista como a página
   (Anybody / JetBrains Mono / Inter, fios #E3E3E3, azul da marca nos índices) e "descolado":
   cortina de abertura, marquee, foto com meio-tom, cards de portfólio que invertem no hover. */
.profile{position:fixed; inset:0; z-index:5000; background:#F5F5F5; color:#0C0C0C; overflow:hidden; visibility:hidden; pointer-events:none}
.profile.is-open{visibility:visible; pointer-events:auto}
.profile.is-leaving{background:transparent}
.profile.is-leaving .profile__scroll, .profile.is-leaving .profile__top{visibility:hidden}
.profile__curtain{position:absolute; inset:0; background:#0C0C0C; z-index:3; will-change:transform}   /* posição só via GSAP (yPercent) */
.profile__top{
  position:absolute; left:0; right:0; top:0; height:calc(46 * var(--u)); z-index:2;
  display:flex; align-items:center; justify-content:space-between; padding:0 var(--gutter);
  background:#F5F5F5; border-bottom:1px solid #E3E3E3;
}
.profile__crumb{display:flex; align-items:center; gap:calc(8 * var(--u)); font-size:calc(8.5 * var(--u)); color:#0C0C0C}
.profile__crumb .dot{display:block; width:calc(5 * var(--u)); height:calc(5 * var(--u)); border-radius:50%; background:var(--c-blue)}
.profile__crumb .grey{color:#8a8a8a}
.profile__close{height:calc(26 * var(--u)); padding:0 calc(14 * var(--u)); gap:calc(8 * var(--u)); font-size:calc(8 * var(--u))}
.profile__close i{font-style:normal; font-size:calc(9 * var(--u))}
.profile__scroll{position:absolute; inset:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:none}
.profile__scroll::-webkit-scrollbar{display:none}
/* marquee */
.profile__marquee{margin-top:calc(46 * var(--u)); height:calc(30 * var(--u)); border-bottom:1px solid #E3E3E3; overflow:hidden; display:flex; align-items:center; white-space:nowrap}
.profile__marquee .track{display:inline-flex; gap:calc(22 * var(--u)); padding-left:calc(22 * var(--u)); font-family:var(--font-mono); font-size:calc(8 * var(--u)); letter-spacing:.12em; text-transform:uppercase; color:#8a8a8a; animation:pf-mq 38s linear infinite; will-change:transform}
.profile__marquee .track i{font-style:normal; color:var(--c-blue)}
@keyframes pf-mq{to{transform:translateX(-33.3333%)}}
/* grade */
.profile__inner{position:relative; display:grid; grid-template-columns:calc(330 * var(--u)) 1fr; column-gap:calc(56 * var(--u)); padding:calc(40 * var(--u)) var(--gutter) calc(70 * var(--u)); align-items:start}
.profile__side{position:sticky; top:calc(62 * var(--u))}
@media (max-height: 1250px){ .profile__side{position:static} }   /* coluna mais alta que a viewport: rola junto */
.profile__photo{position:relative; width:100%; aspect-ratio:4 / 5; overflow:hidden; background:#E9E9E9}
.profile__photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block}
.profile__photo .dots{mix-blend-mode:multiply; opacity:.9; transition:opacity .5s ease}
.profile__photo:hover .dots{opacity:0}
/* foto recortada: card holográfico (HoloCard) atrás + raio como filtro translúcido na frente */
.profile__photo.is-cutout{background:#1a6b3e}
.profile__photo .holo{position:absolute; inset:0; z-index:0; width:100%; height:100%}
.profile__photo.is-cutout img{z-index:1}
.profile__photo.is-cutout .photo{object-position:top center; transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.profile__photo.is-cutout:hover .photo{transform:scale(1.03)}
.profile__mark{
  position:absolute; right:-28%; top:-8%; width:92%; height:118%; z-index:2; pointer-events:none;
  background:#fff; opacity:.32; mix-blend-mode:overlay;
  -webkit-mask:var(--bolt-mask) center/contain no-repeat; mask:var(--bolt-mask) center/contain no-repeat;
  transition:opacity .45s ease, transform 1.1s cubic-bezier(.2,.7,.2,1); animation:mark-float 7s ease-in-out infinite;
}
.profile__photo.is-cutout:hover .profile__mark{opacity:.48; transform:translate(-3%, 2%) rotate(-4deg)}
.profile__photo .tag{z-index:3}
.profile__photo .tag{position:absolute; left:calc(10 * var(--u)); bottom:calc(10 * var(--u)); background:#0C0C0C; color:#fff; font-family:var(--font-mono); font-size:calc(7.5 * var(--u)); letter-spacing:.12em; text-transform:uppercase; padding:calc(5 * var(--u)) calc(8 * var(--u))}
.profile__name{margin-top:calc(20 * var(--u)); font-size:calc(46 * var(--u)); line-height:.9; text-transform:uppercase; color:#0C0C0C}
.profile__name span{display:block; overflow:hidden}
.profile__name span i{display:block; font-style:normal}
.profile__role{display:flex; align-items:center; gap:calc(8 * var(--u)); margin-top:calc(14 * var(--u)); font-size:calc(8.5 * var(--u)); color:#0C0C0C}
.profile__role::before{content:''; display:block; width:calc(5 * var(--u)); height:calc(5 * var(--u)); border-radius:50%; background:var(--c-blue)}
.profile__facts{margin-top:calc(26 * var(--u)); border-top:1px solid #E3E3E3}
.profile__facts > div{display:grid; grid-template-columns:calc(96 * var(--u)) 1fr; column-gap:calc(10 * var(--u)); padding:calc(9 * var(--u)) 0; border-bottom:1px solid #E3E3E3}
.profile__facts dt{font-size:calc(7.5 * var(--u)); color:#8a8a8a; padding-top:calc(2 * var(--u))}
.profile__facts dd{font-size:calc(12 * var(--u)); line-height:1.3; color:#0C0C0C}
.profile__links{margin-top:calc(22 * var(--u))}
.profile__links li{display:grid; grid-template-columns:calc(96 * var(--u)) 1fr; column-gap:calc(10 * var(--u)); padding:calc(6 * var(--u)) 0}
.profile__links .mono-label{font-size:calc(7.5 * var(--u)); color:#8a8a8a; padding-top:calc(2 * var(--u))}
.profile__links a{font-size:calc(12 * var(--u)); color:#0C0C0C; border-bottom:1px solid #0C0C0C; width:fit-content; transition:color .2s ease, border-color .2s ease}
.profile__links a:hover{color:var(--c-blue); border-color:var(--c-blue)}
/* seções */
.profile__main{min-width:0}
.pf-sec{padding:calc(10 * var(--u)) 0 calc(44 * var(--u))}
.pf-sec header{position:relative; display:flex; align-items:baseline; gap:calc(14 * var(--u)); padding-bottom:calc(12 * var(--u)); margin-bottom:calc(22 * var(--u))}
.pf-sec__line{position:absolute; left:0; right:0; bottom:0; height:1px; background:#0C0C0C; transform-origin:left center}
.pf-sec__idx{font-size:calc(8.5 * var(--u)); color:var(--c-blue)}
.pf-sec__title{font-size:calc(26 * var(--u)); line-height:1; text-transform:uppercase; color:#0C0C0C}
.pf-sec__hint{margin-left:auto; font-size:calc(7.5 * var(--u)); color:#8a8a8a}
.pf-lead{font-size:calc(21 * var(--u)); line-height:1.25; color:#0C0C0C; max-width:calc(620 * var(--u)); letter-spacing:-.005em}
.pf-p{margin-top:calc(14 * var(--u)); font-size:calc(12.5 * var(--u)); line-height:1.45; color:#444; max-width:calc(560 * var(--u))}
.pf-sign{margin-top:calc(20 * var(--u)); display:flex; align-items:center; gap:calc(10 * var(--u)); font-size:calc(8.5 * var(--u)); color:#0C0C0C}
.pf-sign::before{content:''; display:block; width:calc(28 * var(--u)); height:1px; background:#0C0C0C}
/* linhas de currículo / formação */
.pf-rows{border-top:1px solid #E3E3E3}
.pf-row{display:grid; grid-template-columns:calc(96 * var(--u)) calc(190 * var(--u)) 1fr; column-gap:calc(16 * var(--u)); padding:calc(14 * var(--u)) 0; border-bottom:1px solid #E3E3E3; transition:background-color .25s ease; position:relative}
.pf-row:hover{background:#fff}
.pf-row__when{font-size:calc(8 * var(--u)); color:#8a8a8a; padding-top:calc(3 * var(--u))}
.pf-row__what b{display:block; font-family:var(--font-display); font-variation-settings:'wdth' var(--disp-wdth), 'wght' 760; font-weight:normal; font-size:calc(14 * var(--u)); line-height:1.1; text-transform:uppercase; color:#0C0C0C}
.pf-row__what em{display:block; margin-top:calc(4 * var(--u)); font-style:normal; font-size:calc(11 * var(--u)); color:#666}
.pf-row__text{font-size:calc(12 * var(--u)); line-height:1.4; color:#444}
.pf-rows--edu .pf-row{grid-template-columns:calc(96 * var(--u)) 1fr}
/* habilidades */
.pf-skills{display:grid; grid-template-columns:repeat(3, 1fr); column-gap:calc(20 * var(--u)); row-gap:calc(22 * var(--u))}
.pf-skill .mono-label{font-size:calc(7.5 * var(--u)); color:#8a8a8a; display:block; margin-bottom:calc(10 * var(--u))}
.pf-skill ul{display:flex; flex-wrap:wrap; gap:calc(6 * var(--u))}
.pf-tag{font-size:calc(10.5 * var(--u)); color:#0C0C0C; border:1px solid #CFCFCF; border-radius:999px; padding:calc(5 * var(--u)) calc(10 * var(--u)); transition:background-color .2s ease, color .2s ease, border-color .2s ease}
.pf-tag:hover{background:#0C0C0C; color:#fff; border-color:#0C0C0C}
/* portfólio */
.pf-note{font-size:calc(7.5 * var(--u)); color:#8a8a8a; margin:calc(-10 * var(--u)) 0 calc(16 * var(--u))}
.pf-cards{display:grid; grid-template-columns:repeat(2, 1fr); gap:calc(14 * var(--u))}
.pf-card{position:relative}
.pf-card__tile{position:relative; height:calc(140 * var(--u)); border:1px solid #E3E3E3; background:#fff; overflow:hidden; transition:background-color .35s ease, border-color .35s ease}
.pf-card__tile::before{content:''; position:absolute; inset:0; background-image:radial-gradient(circle, #D6D6D6 0.7px, transparent 0.9px); background-size:calc(6 * var(--u)) calc(6 * var(--u)); opacity:.9; transition:opacity .35s ease}
.pf-card__num{position:absolute; left:calc(12 * var(--u)); top:calc(10 * var(--u)); font-size:calc(7.5 * var(--u)); color:#8a8a8a}
.pf-card__title{position:absolute; left:calc(12 * var(--u)); right:calc(12 * var(--u)); bottom:calc(10 * var(--u)); font-size:calc(22 * var(--u)); line-height:.95; text-transform:uppercase; color:#0C0C0C; transition:color .35s ease}
.pf-card__arrow{position:absolute; right:calc(12 * var(--u)); top:calc(8 * var(--u)); font-size:calc(14 * var(--u)); color:#0C0C0C; opacity:0; transform:translate(-6px, 6px); transition:opacity .3s ease, transform .3s ease, color .3s ease}
.pf-card:hover .pf-card__tile{background:#0C0C0C; border-color:#0C0C0C}
.pf-card:hover .pf-card__tile::before{opacity:.25}
.pf-card:hover .pf-card__title, .pf-card:hover .pf-card__num{color:#fff}
.pf-card:hover .pf-card__arrow{opacity:1; transform:none; color:#fff}
.pf-card__body{padding:calc(10 * var(--u)) 0 0}
.pf-card__kind{font-size:calc(7.5 * var(--u)); color:var(--c-blue)}
.pf-card__body p{margin-top:calc(6 * var(--u)); font-size:calc(11.5 * var(--u)); line-height:1.4; color:#444}
.pf-card__tags{display:flex; flex-wrap:wrap; gap:calc(5 * var(--u)); margin-top:calc(8 * var(--u))}
.pf-card__tags li{font-family:var(--font-mono); font-size:calc(7 * var(--u)); letter-spacing:.1em; text-transform:uppercase; color:#666; border:1px solid #DADADA; border-radius:999px; padding:calc(3 * var(--u)) calc(7 * var(--u))}
/* contato */
.pf-contact{border-top:1px solid #E3E3E3}
.pf-contact li{display:grid; grid-template-columns:calc(96 * var(--u)) 1fr auto; align-items:center; column-gap:calc(16 * var(--u)); padding:calc(16 * var(--u)) 0; border-bottom:1px solid #E3E3E3}
.pf-contact .mono-label{font-size:calc(7.5 * var(--u)); color:#8a8a8a}
.pf-contact a{font-family:var(--font-display); font-variation-settings:'wdth' var(--disp-wdth), 'wght' 760; font-size:calc(20 * var(--u)); line-height:1; text-transform:uppercase; color:#0C0C0C; transition:color .2s ease}
.pf-contact a:hover{color:var(--c-blue)}
.pf-contact .arr{font-size:calc(14 * var(--u)); color:#0C0C0C}
.pf-end{display:flex; align-items:center; justify-content:space-between; gap:calc(16 * var(--u)); padding-top:calc(10 * var(--u))}
.pf-end .mono-label{font-size:calc(7.5 * var(--u)); color:#8a8a8a}
.profile__back{height:calc(32 * var(--u)); padding:0 calc(20 * var(--u)); font-size:calc(8.5 * var(--u))}
html.has-profile{overflow:hidden}
