/* BRIGIDAS — INTRO: le regole originali dell'intro, estratte dal vecchio foglio di stile. */
.intro,.intro-lb,body.intro-lock{--ink:#08080a;--ink-soft:#0f0f12;--panel:#15151a;--panel-2:#1c1c22;--bone:#ece8e0;--bone-2:#dcd7cd;--cream:#f4f1eb;--cream-dim:rgba(244,241,235,.64);--cream-mute:rgba(244,241,235,.40);--line:rgba(244,241,235,.14);--line-soft:rgba(244,241,235,.08);--accent:#fc0090;--accent-deep:#c1006e;--accent-2:#ff3b14;--ff-display:"Archivo",Helvetica,Arial,sans-serif;--ff-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--ff-serif:"Instrument Serif",Georgia,serif;--gutter:clamp(1.25rem,5vw,5.5rem);--maxw:1560px;--ease:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,.05,.36,1);--r:2px;--telaio:clamp(10px,1vw,16px);--bordo:2px}
body.intro-lock{overflow:hidden}
.intro{position:fixed;inset:0;z-index:10001;background:#08080a;overflow:hidden;cursor:pointer}
.intro.leaving{animation:introOut 1.1s cubic-bezier(.6,0,.4,1) both}
.intro-muro{position:absolute;inset:0;z-index:0;width:100%;height:100%;
  opacity:0;pointer-events:none;display:block}
.intro-mx{position:absolute;inset:0;z-index:2;pointer-events:none}
.intro-grid{position:absolute;inset:0;z-index:1;display:grid;
  grid-template-columns:repeat(var(--c,8),1fr);grid-template-rows:repeat(var(--r,5),1fr)}
.intro-tile{position:relative;overflow:hidden;background:#101014;
  transform:translate3d(0,-118vh,0)}
.intro-grid.cade .intro-tile{will-change:transform,filter}
.intro-tile img{width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(1.04) contrast(1.03)}
.intro-tile::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(8,8,10,.55);
  background:radial-gradient(120% 120% at 50% 0%,transparent 45%,rgba(8,8,10,.35));pointer-events:none}
.intro-tile{contain:paint}
body.intro-lock .grain{display:none}
.intro-mid{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;
  gap:clamp(1.4rem,3vw,2.4rem);pointer-events:none;text-align:center;padding:6vw}
.intro-plate{padding:clamp(1.1rem,2.6vw,2rem) clamp(1.6rem,4vw,3.2rem);border-radius:6px;
  background:rgba(8,8,10,.62);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(244,241,235,.14);box-shadow:0 40px 90px -40px rgba(0,0,0,1);
  opacity:0;transform:translateY(26px) scale(.93);transition:opacity .9s var(--ease),transform 1.05s var(--ease)}
.intro.ready .intro-plate{opacity:1;transform:none}
.intro-logo{width:clamp(190px,36vw,430px);height:auto;display:block}
.intro-go{pointer-events:auto;display:inline-flex;align-items:center;gap:.75rem;background:var(--accent);
  color:#fff;border:0;padding:1.05rem 1.9rem;border-radius:100px;cursor:pointer;
  font-family:var(--ff-body);font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease) .18s,transform .7s var(--ease) .18s,
  box-shadow .4s;box-shadow:0 0 0 0 rgba(252,0,144,.55)}
.intro.ready .intro-go{opacity:1;transform:none;animation:goPulse 2.6s ease-in-out 1s infinite}
.intro-go svg{width:.8em;height:.8em}
.intro-go:hover{box-shadow:0 14px 40px -8px rgba(252,0,144,.8)}
.intro-skip{position:absolute;z-index:5;right:clamp(1rem,2.4vw,2rem);top:clamp(1rem,2.4vw,2rem);
  pointer-events:auto;background:rgba(8,8,10,.55);backdrop-filter:blur(8px);border:1px solid var(--line);
  color:var(--cream-dim);padding:.55rem 1rem;border-radius:100px;cursor:pointer;
  font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;opacity:0;
  animation:skipIn .5s ease 1.1s both;transition:color .3s,border-color .3s}
.intro-skip:hover{color:var(--cream);border-color:var(--cream-mute)}
html.brg-calmo .intro-tile{transform:none}
html.brg-calmo .intro-go{animation:none!important}
.intro.ready .intro-logo{animation:heart 1.25s cubic-bezier(.32,.78,.4,1) .5s infinite;
  transform-origin:50% 55%;will-change:transform}
.intro.ready .intro-plate{animation:heartGlow 1.25s cubic-bezier(.32,.78,.4,1) .5s infinite}
html.brg-calmo .intro.ready .intro-logo,html.brg-calmo .intro.ready .intro-plate,html.brg-calmo #preload .pl-badge img,html.brg-calmo .mark img,html.brg-calmo .mark:hover img{animation:none!important}
.intro-tile{cursor:zoom-in;backface-visibility:hidden}
.intro-tile img{transition:filter .35s var(--ease)}
.intro-tile::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:rgba(7,7,9,.62);opacity:0;transition:opacity .4s var(--ease)}
.intro.ready .intro-tile::before{opacity:1}
.intro.ready .intro-tile.lit::before{opacity:0}
.intro.ready .intro-tile.lit{z-index:5;
  box-shadow:0 0 0 1px rgba(252,0,144,.5),0 0 40px -4px rgba(252,0,144,.45),
             0 26px 64px -24px rgba(0,0,0,.95)}
.intro-conta{position:absolute;z-index:5;left:clamp(1rem,2.4vw,2rem);
  bottom:clamp(1rem,2.4vw,2rem);margin:0;pointer-events:none;
  font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-mute);
  opacity:0;transition:opacity .8s var(--ease) .3s}
.intro.ready .intro-conta{opacity:1}
.intro-conta b{color:var(--accent);font-weight:700}
.intro-tile.lit img{filter:brightness(1.06) saturate(1.08)}
.intro-tile.lit::after{opacity:0}
.intro-tile::after{transition:opacity .35s}
.intro-lb{position:absolute;inset:0;z-index:9;display:none;place-items:center;
  padding:calc(clamp(.7rem,1.6vw,1.3rem) + 1.5rem) clamp(1rem,4.6vw,4.8rem);
  background:rgba(6,6,8,.93);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:zoom-out}
.intro-lb.on{display:grid;animation:lbIn .3s var(--ease) both}
.intro-lb figure{width:100%;height:100%;min-height:0;min-width:0;margin:0;
  display:grid;place-items:center;cursor:default}
.intro-lb img{width:auto;height:auto;min-height:0;min-width:0;max-width:100%;max-height:100%;
  object-fit:contain;border-radius:3px;place-self:center;
  filter:drop-shadow(0 40px 90px rgba(0,0,0,.95));animation:lbPop .45s var(--ease) both}
.intro-lb figcaption{position:absolute;left:0;right:0;bottom:clamp(.8rem,2vw,1.5rem);
  text-align:center;pointer-events:none;
  font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-mute)}
.intro-lb button{position:absolute;z-index:2;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);
  background:rgba(8,8,10,.7);backdrop-filter:blur(8px);color:var(--cream);font-size:19px;cursor:pointer;
  display:grid;place-items:center;transition:.3s}
.intro-lb button:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.intro-lb .lb-x{top:clamp(1rem,2.4vw,2rem);right:clamp(1rem,2.4vw,2rem)}
.intro-lb .lb-p{left:clamp(.6rem,2.4vw,2.4rem);top:50%;transform:translateY(-50%)}
.intro-lb .lb-n{right:clamp(.6rem,2.4vw,2.4rem);top:50%;transform:translateY(-50%)}
.lb img,.intro-lb img{border-radius:var(--telaio)}
.lb.zoom figure,.intro-lb.zoom figure{overflow:auto;place-items:start;
  cursor:grab;scrollbar-width:thin;scroll-behavior:auto}
.lb.zoom.tira figure,.intro-lb.zoom.tira figure{cursor:grabbing}
.lb.zoom img,.intro-lb.zoom img{border-radius:0;filter:none;animation:none;
  image-rendering:auto;flex:none;place-self:start}
.lb.zoom figcaption,.intro-lb.zoom figcaption{opacity:0}
.lb img,.intro-lb img{cursor:zoom-in}
.lb.zoom img,.intro-lb.zoom img{cursor:inherit}
.lb.zoom figure::-webkit-scrollbar,.intro-lb.zoom figure::-webkit-scrollbar{width:9px;height:9px}
.lb.zoom figure::-webkit-scrollbar-thumb,.intro-lb.zoom figure::-webkit-scrollbar-thumb{background:rgba(250,248,242,.28);border-radius:100px}
.lb figcaption::after,.intro-lb figcaption::after{content:" · doppio clic per il 100%"}
.intro-dice{max-width:min(46ch,86vw);margin:0 auto;text-align:center;
  opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease) .18s,
  transform .9s var(--ease) .18s}
.intro.ready .intro-dice{opacity:1;transform:none}
.intro-r1,.intro-r2{margin:0;font-family:var(--ff-display);font-weight:800;font-stretch:112%;
  text-transform:uppercase;letter-spacing:-.018em;line-height:1.02;
  font-size:clamp(1.15rem,2.9vw,2.15rem)}
.intro-r1{color:var(--cream)}
.intro-r2{color:var(--accent)}
.intro-p{margin:clamp(.7rem,1.6vw,1.1rem) auto 0;max-width:44ch;
  font-size:clamp(.74rem,1.15vw,.9rem);line-height:1.55;color:var(--cream-dim)}
.intro-mid::before{content:"";position:absolute;left:50%;top:50%;translate:-50% -50%;
  width:min(1100px,96vw);height:min(760px,86vh);pointer-events:none;z-index:-1;
  background:radial-gradient(58% 52% at 50% 50%,rgba(6,6,9,.9),rgba(6,6,9,.62) 55%,rgba(6,6,9,0) 78%)}
.intro-r1,.intro-r2{text-shadow:0 2px 22px rgba(0,0,0,.9),0 1px 4px rgba(0,0,0,.8)}
.intro-p{text-shadow:0 1px 12px rgba(0,0,0,.95)}
@media (max-width:640px){.intro-lb .lb-p,.intro-lb .lb-n{top:auto;bottom:1rem;transform:none}.intro-lb{padding:4.4rem 1rem}.intro-lb figcaption{bottom:4.6rem}}
@media (max-width:560px){.intro-p{display:none}}
@keyframes introOut{0%{opacity:1}70%{opacity:1}100%{opacity:0}}
@keyframes goPulse{0%,100%{box-shadow:0 0 0 0 rgba(252,0,144,.5)}50%{box-shadow:0 0 0 18px rgba(252,0,144,0)}}
@keyframes skipIn{to{opacity:1}}
@keyframes heartGlow{
  0%  {box-shadow:0 40px 90px -40px rgba(0,0,0,1), 0 0 0 0 rgba(252,0,144,0)}
  6%  {box-shadow:0 40px 90px -40px rgba(0,0,0,1), 0 0 52px 3px rgba(252,0,144,.36)}
  19% {box-shadow:0 40px 90px -40px rgba(0,0,0,1), 0 0 30px 1px rgba(252,0,144,.2)}
  34% {box-shadow:0 40px 90px -40px rgba(0,0,0,1), 0 0 0 0 rgba(252,0,144,0)}
  100%{box-shadow:0 40px 90px -40px rgba(0,0,0,1), 0 0 0 0 rgba(252,0,144,0)}
}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
@keyframes lbPop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
