/* Adapted from LE-NUMERIQUE-VIENT-A-VOUS: floating orbs/cards, texture,
   hover lighting, and revealUp. Scoped to preserve the portfolio layout. */
.portfolio-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.portfolio-atmosphere::after{content:"";position:absolute;inset:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.portfolio-orb{position:absolute;border-radius:50%;filter:blur(18px);opacity:.5;animation:portfolio-orb-drift 12s ease-in-out infinite alternate}
.portfolio-orb-one{width:280px;height:280px;left:-80px;top:120px;background:rgba(105,181,167,.26)}
.portfolio-orb-two{width:360px;height:360px;right:-120px;top:180px;background:rgba(123,180,202,.24);animation-delay:-2s}
.portfolio-orb-three{width:240px;height:240px;left:30%;bottom:30px;background:rgba(225,193,139,.20);animation-delay:-4s}
@keyframes portfolio-orb-drift{to{transform:translate3d(35px,-45px,0) scale(1.08)}}
@keyframes portfolio-card-float{to{transform:translateY(-10px)}}
@media(prefers-reduced-motion:no-preference) and (min-width:901px){.cinematic-hero .visual-card{animation:portfolio-card-float 6s ease-in-out infinite alternate}}
.portfolio-reveal{opacity:1;transform:none}
.portfolio-reveal.is-waiting{opacity:0;transform:translateY(24px)}
.portfolio-reveal.is-visible{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
@media(hover:hover) and (pointer:fine){
  .premium-services-existing .card:hover,.security-card:not(.security-news-card):hover{background-image:radial-gradient(circle at 20% 20%,rgba(105,181,167,.10),transparent 60%);border-color:rgba(71,126,133,.4)}
  .security-news-card:hover{background:linear-gradient(135deg,#0f2730,#173f4c)!important;border-color:rgba(255,255,255,.20)!important}
  .book-cover img{transition:transform .35s ease,box-shadow .35s ease}
  .book-cover:hover img{transform:translateY(-6px);box-shadow:14px 24px 44px rgba(32,49,58,.26)}
}
@media(max-width:700px){.portfolio-orb{filter:blur(12px);animation:none;opacity:.3}}
@media(prefers-reduced-motion:reduce){
  .portfolio-orb,.cinematic-hero .visual-card{animation:none!important}
  .portfolio-reveal,.portfolio-reveal.is-waiting,.portfolio-reveal.is-visible{opacity:1!important;transform:none!important;transition:none!important}
  .book-cover:hover img{transform:none!important}
}
html.portfolio-effects-paused .portfolio-orb,html.portfolio-effects-paused .cinematic-hero .visual-card{animation-play-state:paused}
