/* Mobile composition. Desktop retains its original layout.
   O blob existe só no hero: no mobile ele ocupa o espaço reservado acima do título. */
.mobile-blob-slot { display:none; }
@media(max-width:760px) {
  .hero { min-height:100svh; align-items:center; text-align:center; padding-top:5.5rem; padding-bottom:3rem; }
  .mobile-blob-slot { display:block; width:100%; flex:none; pointer-events:none; }
  .hero .mobile-blob-slot { height:clamp(160px,25svh,220px); }
  .hero-title { max-width:none; width:100%; font-size:clamp(2.8rem,13.2vw,5.2rem); line-height:1; }
  .hero-profile { justify-content:center; margin-top:1.5rem; }
  .hero-cta { width:auto; align-items:center; margin-top:1.65rem; gap:.75rem; }
  .hero-cta .btn, .hero-cta .btn-reveal { width:auto; min-width:178px; max-width:100%; }
  .hero-cta .btn-reveal { min-width:178px; }
  .hero-cta .btn-reveal .rv-txt { margin-left:56px; }
  .about { padding-bottom:3rem; }
  .contact { display:block; padding-top:4rem; }
  .projects { padding-bottom:3rem; }
  .sec-head { padding-top:4rem; }
  .proj-info { min-width:0; }
}
@media(max-width:380px) { .hero { padding-top:5rem; } }

@media(max-width:760px){html:not(.js) .mobile-blob-slot,html.no-blob .mobile-blob-slot{display:none}html.no-blob .hero{justify-content:center}}

/* celulares baixos (ex.: iPhone SE): o hero inteiro, com a frase, cabe na primeira tela */
@media (max-width:760px) and (max-height:700px) {
  .hero .mobile-blob-slot { height:clamp(110px,17svh,150px); }
  .hero-lead { font-size:.95rem; }
  .hero-profile { margin-top:1.1rem; }
  .hero-cta { margin-top:1.25rem; }
}
