/* Lady Le · Ateliê de luz
   Vinho = cenário; cetim rosa = gesto; ouro = assinatura.
   Abertura finita, sem flashes, som ou bloqueio dependente de rede. */
:root{
  --ease:cubic-bezier(.23,1,.32,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
  --atelier-wine:var(--wine-900);
  --atelier-silk:linear-gradient(110deg,#b86c7e,#f1c7d0 38%,#dca1ad 60%,#f2dca6);
}
[hidden]{display:none!important}
body.intro-playing{overflow:hidden}
.desktop-nav .professional-access{padding:9px 13px;border:1px solid var(--line-dark);border-radius:999px;white-space:nowrap}
.overture{position:fixed;inset:0;z-index:250;display:grid;place-items:center;
  isolation:isolate;overflow:hidden;color:var(--cream);perspective:1200px}
.overture-curtain{position:absolute;inset-block:0;width:50.1%;z-index:-2;
  background:radial-gradient(ellipse at 100% 44%,#874159 0%,#572238 44%,#341522 90%);
  transition:transform 1.2s var(--ease-io);will-change:transform}
.curtain-left{left:0;border-right:1px solid rgba(242,220,166,.24)}
.curtain-right{right:0;transform:scaleX(-1);transform-origin:center}
.overture-curtain::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(95deg,transparent 0%,rgba(0,0,0,.13) 9%,rgba(241,199,208,.035) 12%,transparent 18%)}
.overture-atmosphere{position:absolute;inset:-20%;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse at 50% 40%,rgba(220,161,173,.10),transparent 38%),
    conic-gradient(from 230deg at 50% 44%,transparent 0deg,rgba(242,220,166,.045) 50deg,transparent 85deg 250deg,rgba(241,199,208,.07) 300deg,transparent 330deg);
  animation:atmosphere-turn 12s ease-in-out infinite alternate}
.overture-edition{position:absolute;top:clamp(26px,5vh,54px);left:50%;transform:translateX(-50%);
  width:max-content;max-width:90%;font-size:.58rem;letter-spacing:.35em;text-transform:uppercase;color:var(--rose-lt);
  animation:atelier-enter 1s .2s both}
.overture-scene{position:absolute;left:50%;top:42%;width:min(650px,85vw);aspect-ratio:4/3;
  transform:translate(-50%,-50%);isolation:isolate}
.silk-orbit{position:absolute;left:10%;top:8%;width:80%;height:80%;border-radius:50%;
  border:1px solid rgba(242,220,166,.48);box-shadow:0 0 18px rgba(201,162,77,.08),inset 0 0 16px rgba(220,161,173,.05);
  transform-style:preserve-3d;animation:orbit-unfold 3.5s var(--ease) both}
.orbit-a{--orbit-start:rotateX(85deg) rotateY(-40deg) rotateZ(-65deg) scale(.5);--orbit-end:rotateX(62deg) rotateY(-24deg) rotateZ(-25deg)}
.orbit-b{--orbit-start:rotateX(-70deg) rotateY(70deg) rotateZ(80deg) scale(.3);--orbit-end:rotateX(-35deg) rotateY(56deg) rotateZ(35deg);
  border-color:rgba(241,199,208,.50);animation-delay:.18s}
.orbit-c{--orbit-start:rotateX(50deg) rotateY(-90deg) rotateZ(-120deg) scale(.2);--orbit-end:rotateX(24deg) rotateY(-48deg) rotateZ(-35deg);
  border-color:rgba(220,161,173,.23);animation-delay:.3s}
.overture-bow{position:absolute;inset:-8% -10%;width:120%;height:116%;overflow:visible;opacity:.8;z-index:1}
.silk-trace{stroke:url(#silk-light);stroke-width:9;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;
  animation:silk-draw 2.35s .1s var(--ease-io) forwards}
.trace-right{stroke-width:5;animation-delay:.1s}
.silk-thread{stroke:var(--gold-lt);stroke-width:.7;stroke-dasharray:1;stroke-dashoffset:1;
  animation:silk-draw 2.2s .5s var(--ease) forwards}
.overture-jewel{position:absolute;left:50%;top:50%;width:clamp(154px,20vw,228px);aspect-ratio:1;
  padding:5px;border-radius:50%;background:var(--atelier-silk);z-index:2;
  box-shadow:0 0 0 12px rgba(220,161,173,.025),0 0 0 13px rgba(242,220,166,.15),0 36px 90px rgba(0,0,0,.55);
  transform:translate(-50%,-50%);animation:jewel-arrive 1.9s .25s var(--ease) both;overflow:hidden}
.overture-jewel img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.overture-jewel::after{content:"";position:absolute;inset:-40%;
  background:linear-gradient(110deg,transparent 40%,rgba(255,239,215,.25) 49%,transparent 58%);
  transform:translateX(-80%) rotate(-15deg);animation:jewel-shine 1.5s 1.25s both}
.overture-caption{position:absolute;top:calc(42% + min(17vw,134px));text-align:center;max-width:90%;
  animation:atelier-enter 1.15s .6s both}
.overture-name{font:clamp(2.8rem,6vw,5rem)/1.05 var(--serif);letter-spacing:.04em;margin-bottom:14px}
.overture-line{font:clamp(1rem,2vw,1.32rem)/1.5 var(--serif);color:var(--rose-lt)}
.overture-line em{font-style:normal;color:var(--gold-lt)}
.overture-rule{display:block;width:100px;height:1px;margin:22px auto 15px;background:var(--gold-grad);
  transform-origin:center;animation:line-unfold 1.4s 1s both}
.overture-caption small{font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(247,239,227,.66)}
.overture-skip{position:absolute;bottom:clamp(22px,4vh,44px);border:1px solid rgba(241,199,208,.35);
  border-radius:999px;background:rgba(21,6,9,.45);color:var(--rose-lt);min-height:46px;padding:0 22px;
  font:500 .64rem var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  transition:background .3s,border-color .3s}
.overture-skip span{margin-left:16px;color:var(--gold-lt);font-size:1rem}
.overture-skip:hover{background:var(--wine-800);border-color:var(--gold-lt)}
.overture-skip:focus-visible{outline-color:var(--rose-lt)}
.overture-dust{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.overture-dust i{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);border-radius:50%;
  background:var(--gold-lt);opacity:0;box-shadow:0 0 9px rgba(242,220,166,.4);
  animation:dust-ascend 4s var(--delay) both}
.overture-dust i:nth-child(3n){background:var(--rose-lt)}
.overture.is-leaving{pointer-events:auto}
.is-leaving .curtain-left{transform:translateX(-102%)}
.is-leaving .curtain-right{transform:translateX(102%) scaleX(-1)}
.is-leaving .overture-scene{opacity:0;transform:translate(-50%,-50%) scale(1.22);transition:opacity .6s,transform 1.1s var(--ease)}
.is-leaving .overture-caption,.is-leaving .overture-edition,.is-leaving .overture-atmosphere,
.is-leaving .overture-dust,.is-leaving .overture-skip{opacity:0;transition:opacity .45s;animation:none}
@keyframes orbit-unfold{from{opacity:0;transform:var(--orbit-start)}30%{opacity:.8}to{opacity:1;transform:var(--orbit-end)}}
@keyframes silk-draw{to{stroke-dashoffset:0}}
@keyframes jewel-arrive{from{opacity:0;transform:translate(-50%,-45%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes jewel-shine{to{transform:translateX(80%) rotate(-15deg)}}
@keyframes atelier-enter{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes line-unfold{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes atmosphere-turn{to{transform:rotate(20deg) scale(1.08)}}
@keyframes dust-ascend{0%{opacity:0;transform:translateY(40px)}35%{opacity:.65}100%{opacity:0;transform:translateY(-100px)}}

/* Filetes de cetim estáticos: a composição não anima durante a navegação. */
.hero-filaments{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.hero-filaments i{position:absolute;right:-16%;bottom:-42%;width:72vw;height:58vw;border-radius:50%;
  border:1px solid rgba(241,199,208,.23);transform:rotate(-28deg)}
.hero-filaments i:nth-child(2){right:-18%;bottom:-46%;border-color:rgba(242,220,166,.32)}
.hero-filaments i:nth-child(3){right:-22%;bottom:-48%;border-width:4px;border-color:rgba(220,161,173,.08)}
.hero .eyebrow{color:var(--rose-lt)}
.hero-seal{color:var(--rose-lt)}
.hero-seal b{color:var(--gold-lt)}
.btn.ghost{border-color:rgba(241,199,208,.5);background:rgba(60,11,24,.22)}
.btn.ghost:hover{border-color:var(--rose-lt);background:rgba(220,161,173,.14)}
.btn.light{background:var(--atelier-silk);color:var(--wine-900)}
.layers-visual::after{border-color:var(--rose);box-shadow:0 0 0 10px rgba(242,220,166,.02)}
.layer-notes li{border-left:2px solid rgba(220,161,173,.56)}
.layer-notes strong{color:var(--rose-lt)}
.steps li>span{border-color:rgba(241,199,208,.42);color:var(--rose-lt)}
.steps li:hover>span{background:rgba(220,161,173,.12);border-color:var(--gold-lt);transition:background .4s,border-color .4s}
.manifesto,.menu,.loja{background-color:var(--atelier-wine)}
.menu-stage{outline:1px solid rgba(242,220,166,.24);outline-offset:8px}
.menu-stage-caption{color:var(--cream)}
/* Um gesto editorial por entrada: a moldura se aproxima da foto.
   Textos e botões permanecem livres; nenhum loop de brilho na leitura. */
@media(prefers-reduced-motion:no-preference){
  .steps li::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;
    background:linear-gradient(90deg,var(--rose-lt),var(--gold),transparent);
    opacity:.7}
}
@keyframes frame-settle{
  from{opacity:0;transform:translate3d(34px,-24px,44px) rotate(-5deg) scale(1.035)}
  to{opacity:1;transform:translate3d(18px,-13px,44px) rotate(0deg) scale(1)}
}
.manifesto-lead,.layers-lead,.layer-notes span,.process-copy>p,.steps p{color:rgba(247,239,227,.78)}
.pillars li,.layer-notes li,.loja-card{background-color:rgba(241,199,208,.055)}
.loja-grade{grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));max-width:1400px;margin-inline:auto;gap:24px}
.loja-card{padding:26px;border-radius:22px}
.loja-media{margin:-26px -26px 10px;aspect-ratio:5/4}
.loja-card h3{font-size:1.8rem}
.loja-add{min-height:48px;border-radius:999px}
.replay-opening{display:flex;align-items:center;gap:13px;margin-top:16px;padding:8px 0;min-height:44px;
  border:0;background:transparent;color:var(--rose-lt);font:500 .64rem var(--sans);letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.replay-opening span{color:var(--gold-lt);transition:transform .3s}
@media(hover:hover) and (pointer:fine){
  .replay-opening:hover span{transform:translate(3px,-3px)}
}
.btn,.header-cta,.loja-add,.loja-enviar,.overture-skip{transition:transform 160ms var(--ease),background-color 200ms ease,color 200ms ease,box-shadow 200ms ease}
.btn:active,.header-cta:active,.loja-add:active,.loja-enviar:active,.overture-skip:active{transform:scale(.97)}
.loja-card{transition:transform 250ms var(--ease),border-color 200ms ease,box-shadow 250ms ease}
.loja-gaveta{transition:transform 280ms var(--ease-drawer)}
.loja-filtro,.loja-radio label{transition:color 180ms ease,border-color 180ms ease,background-color 180ms ease}
.loja-veu{transition:opacity 200ms ease}
@media(hover:none),(pointer:coarse){
  .btn:hover,.header-cta:hover,.btn:hover svg,.menu-ask:hover svg,.wa-float:hover,footer a:hover{transform:none}
  .menu-item:hover .menu-thumb img,.loja-card:hover .loja-media img{transform:none}
  .loja-media::after{display:none}
}
html:not(.js) .replay-opening{display:none}
html:not(.js) .reveal,html:not(.js) .reveal-up{opacity:1;transform:none;animation:none}
@media(max-width:600px){
  /* A luz fica na fotografia; a faixa de leitura preserva contraste. */
  .hero-shade{background:
    linear-gradient(0deg,var(--wine-950),rgba(59,20,35,.72) 28%,rgba(59,20,35,.62) 56%,rgba(59,20,35,.16) 80%),
    linear-gradient(90deg,rgba(59,20,35,.24),transparent)}
  .overture-scene{width:100vw;top:37%}
  .overture-caption{top:calc(37% + 110px)}
  .overture-name{font-size:3.2rem}
  .overture-line{font-size:1.1rem}
  .overture-edition{font-size:.5rem;letter-spacing:.2em}
  .silk-trace{stroke-width:5}.trace-right{stroke-width:3}
  .hero-filaments i{width:130vw;height:110vw;right:-50%;bottom:-40%}
  .loja-grade{gap:18px}.loja-card{padding:22px}.loja-media{margin:-22px -22px 8px}
}
@media(max-height:600px){
  .overture-scene{top:40%;width:330px}
  .overture-jewel{width:116px}
  .overture-caption{top:calc(40% + 75px)}
  .overture-name{font-size:2rem;margin-bottom:6px}
  .overture-caption small,.overture-rule{display:none}
  .overture-edition{top:16px}.overture-skip{bottom:14px}
}
@media(prefers-reduced-motion:reduce){
  .overture,.hero-filaments,.replay-opening{display:none!important}
}
