/* ==========================================================================
   INTRO — tela na cor da marca, logo desenhando em traços e zoom de entrada.
   Compartilhada por LP, bio e painel (assets/intro.js decide quando roda).
   ========================================================================== */
html.intro{ overflow:hidden; }
html.intro body > :not(#intro){ opacity:0; }
html.intro main{ transform:scale(1.05); }
html.intro-sai body > :not(#intro){ opacity:1; transition:opacity .8s ease; }
html.intro-sai main{ transform:none; transition:transform 1.1s cubic-bezier(.2,.75,.2,1); }
#intro{ position:fixed; inset:0; z-index:300; display:grid; place-items:center; background:var(--cream, #F2E8DE); cursor:pointer; }
#intro::before{ content:""; position:absolute; inset:-8%; background:url(img/sombra-folhas.jpg) center/cover; mix-blend-mode:multiply; opacity:.35; }
.intro__logo{ position:relative; width:min(420px, 70vw); color:var(--ink, #4A2F2D); }
.intro__logo svg{ display:block; width:100%; height:auto; overflow:visible; }
.intro__logo .it,.intro__logo .ia{ stroke-dasharray:1; stroke-dashoffset:1; animation:introTraco .8s cubic-bezier(.65,0,.35,1) forwards; animation-delay:calc(.25s + var(--k, 0) * .17s); }
.intro__logo .ia{ animation-delay:1.15s; animation-duration:.45s; }
.intro__logo .is{ opacity:0; transform:translateY(6px); transform-box:fill-box; animation:introSkin .5s ease 1.45s forwards; }
@keyframes introTraco{ to{ stroke-dashoffset:0; } }
@keyframes introSkin{ to{ opacity:1; transform:none; } }
.intro__fio{ position:absolute; left:50%; bottom:clamp(40px, 9vh, 80px); width:120px; height:1px; margin-left:-60px; background:rgba(146,91,91,.2); overflow:hidden; }
.intro__fio::after{ content:""; position:absolute; inset:0; background:var(--rose, #C98F88); transform-origin:0 50%; transform:scaleX(0); animation:introFio 1.9s cubic-bezier(.65,0,.35,1) forwards; }
@keyframes introFio{ to{ transform:scaleX(1); } }
#intro.sai{ animation:introFundo .85s cubic-bezier(.7,0,.2,1) forwards; }
#intro.sai .intro__logo{ animation:introZoom .85s cubic-bezier(.7,0,.25,1) forwards; }
#intro.sai .intro__fio{ opacity:0; transition:opacity .15s; }
@keyframes introZoom{ to{ transform:scale(16); opacity:0; } }
@keyframes introFundo{ 0%{ opacity:1; } 45%{ opacity:1; } 100%{ opacity:0; visibility:hidden; } }
@media (prefers-reduced-motion:reduce){ #intro{ display:none; } }
