.demo-legal-footer{display:grid;grid-template-columns:1.15fr .85fr;gap:42px;padding:34px max(22px,7vw) 26px;background:var(--deep);color:#f4f1eb;border-top:1px solid #ffffff22}
.demo-legal-footer h3{margin:0 0 10px;font-size:13px}.demo-legal-footer p{margin:5px 0;color:#ffffffb8;font-size:10px;line-height:1.65}.demo-legal-footer strong{color:#fff}
.demo-legal-links{display:flex;flex-wrap:wrap;gap:9px 20px;align-content:start}.demo-legal-links a{color:#fff;text-decoration:underline;text-decoration-color:#ffffff70;text-underline-offset:4px;font-size:10px}
.demo-consumer-links{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;padding-top:5px}.demo-sal-icon{display:inline-flex;align-items:center;line-height:0}.demo-sal-icon img{display:block;width:250px;height:50px;object-fit:fill}.demo-anpc-link{color:#fff;font-size:11px;text-underline-offset:4px}
.demo-legal-note{grid-column:1/-1;margin-top:8px;padding-top:14px;border-top:1px solid #ffffff1f;color:#ffffff80;font-size:9px;line-height:1.6}
.demo-legal-page{min-height:100vh;background:var(--paper);color:var(--ink)}.demo-legal-page main{max-width:900px;margin:0 auto;padding:clamp(70px,10vw,130px) max(22px,6vw)}
.demo-legal-page .eyebrow{margin:0 0 18px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.demo-legal-page h1{margin:0 0 28px;font:400 clamp(46px,7vw,88px)/.94 var(--display);letter-spacing:-.06em}.demo-legal-page h2{margin:44px 0 12px;font:400 30px/1 var(--display);letter-spacing:-.04em}
.demo-legal-page p,.demo-legal-page li{max-width:720px;color:var(--muted);font-size:13px;line-height:1.8}.demo-legal-page ul{padding-left:21px}.demo-legal-page .legal-card{padding:22px;background:var(--card);border:1px solid var(--line)}.demo-legal-page .legal-card p{margin:4px 0}

/* A restrained, authored motion system for the three full atelier sites. */
@media (prefers-reduced-motion: no-preference) {
  .theme-ch .hero--immersive .hero-media-inner>img,
  .theme-cris .hero--immersive .hero-media-inner>img,
  .theme-bms .hero--immersive .hero-media-inner>img {
    transform: translate3d(var(--mx,0px),calc(var(--my,0px) + var(--hero-scroll,0px)),0) scale(1.075);
    animation: atelierImageSettle 1.55s cubic-bezier(.16,1,.3,1) both;
    transition: transform .35s cubic-bezier(.16,1,.3,1),filter .6s ease;
  }
  .theme-ch .hero--immersive:hover .hero-media-inner>img,
  .theme-cris .hero--immersive:hover .hero-media-inner>img,
  .theme-bms .hero--immersive:hover .hero-media-inner>img {
    transform: translate3d(var(--mx,0px),calc(var(--my,0px) + var(--hero-scroll,0px)),0) scale(1.11);
    filter:saturate(1.04) contrast(1.06);
  }
  .theme-ch .hero--immersive .hero-copy,
  .theme-cris .hero--immersive .hero-copy,
  .theme-bms .hero--immersive .hero-copy { animation:none; }
  .theme-ch .hero--immersive .hero-meta,
  .theme-cris .hero--immersive .hero-meta,
  .theme-bms .hero--immersive .hero-meta { animation:atelierCopyIn .65s cubic-bezier(.16,1,.3,1) .14s both; }
  .theme-ch .hero--immersive h1,
  .theme-cris .hero--immersive h1,
  .theme-bms .hero--immersive h1 { animation:atelierHeadingIn .92s cubic-bezier(.16,1,.3,1) .24s both; }
  .theme-ch .hero--immersive .hero-intro,
  .theme-cris .hero--immersive .hero-intro,
  .theme-bms .hero--immersive .hero-intro { animation:atelierCopyIn .7s cubic-bezier(.16,1,.3,1) .43s both; }
  .theme-ch .hero--immersive .hero-actions,
  .theme-cris .hero--immersive .hero-actions,
  .theme-bms .hero--immersive .hero-actions { animation:atelierCopyIn .68s cubic-bezier(.16,1,.3,1) .57s both; }
  .theme-ch .hero--immersive .hero-foot,
  .theme-cris .hero--immersive .hero-foot,
  .theme-bms .hero--immersive .hero-foot { animation:atelierCopyIn .6s cubic-bezier(.16,1,.3,1) .68s both; }
  .theme-ch .hero--immersive .media-stamp,
  .theme-cris .hero--immersive .media-stamp,
  .theme-bms .hero--immersive .media-stamp { animation:atelierStampIn .72s cubic-bezier(.16,1,.3,1) .62s both; }
  .theme-ch .hero--immersive .media-caption,
  .theme-cris .hero--immersive .media-caption,
  .theme-bms .hero--immersive .media-caption { animation:atelierCopyIn .55s cubic-bezier(.16,1,.3,1) .83s both; }

  .motion-on .portfolio-top[data-reveal] { transition:opacity .6s ease,clip-path .85s cubic-bezier(.16,1,.3,1); clip-path:inset(0 0 0 12%); }
  .motion-on .portfolio-top[data-reveal].is-visible { clip-path:inset(0); }
  .motion-on .work-card[data-reveal] { transition:opacity .7s ease,transform .9s cubic-bezier(.16,1,.3,1),clip-path .95s cubic-bezier(.16,1,.3,1); clip-path:inset(12% 0 0 0); transform:translateY(28px) scale(.985); }
  .motion-on .work-card[data-reveal].is-visible { clip-path:inset(0); transform:none; }
  .motion-on .work-card[data-reveal]:nth-child(2) { transition-delay:.08s; }
  .motion-on .work-card[data-reveal]:nth-child(3) { transition-delay:.16s; }
  .designer-section.is-visible .designer-card { animation:designerCardMotion 7s cubic-bezier(.16,1,.3,1) 1s both; }
  .designer-section:not(.is-visible) .designer-card,.designer-section:not(.is-visible) .designer-orbit { animation-play-state:paused; }
}
@keyframes atelierImageSettle { from {clip-path:inset(0 0 100% 0);transform:translate3d(var(--mx,0px),calc(var(--my,0px) + var(--hero-scroll,0px)),0) scale(1.16);filter:brightness(.72) saturate(.8)} to {clip-path:inset(0);transform:translate3d(var(--mx,0px),calc(var(--my,0px) + var(--hero-scroll,0px)),0) scale(1.075);filter:brightness(1) saturate(.92)} }
@keyframes atelierCopyIn { from {opacity:0;transform:translateY(20px);filter:blur(5px)} to {opacity:1;transform:translateY(0);filter:blur(0)} }
@keyframes atelierHeadingIn { from {opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(26px)} to {opacity:1;clip-path:inset(0);transform:translateY(0)} }
@keyframes atelierStampIn { from {opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-10px)} to {opacity:1;clip-path:inset(0);transform:none} }
@keyframes designerCardMotion { 0% {opacity:0;transform:perspective(1000px) rotateY(-16deg) rotate(-1deg) translateX(42px) scale(.94)} 15% {opacity:1;transform:perspective(1000px) rotateY(0) rotate(-4deg) translateX(0) scale(1)} 55%,100% {opacity:1;transform:perspective(1000px) rotateY(0) rotate(-2.8deg) translateY(-7px) scale(1)} }
@media (prefers-reduced-motion: reduce) {
  .theme-ch .hero--immersive .hero-media-inner>img,
  .theme-cris .hero--immersive .hero-media-inner>img,
  .theme-bms .hero--immersive .hero-media-inner>img { animation:none!important;transform:none!important; }
}
.demo-legal-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px max(22px,6vw);border-bottom:1px solid var(--line)}.demo-legal-nav a{font-size:11px;text-decoration:underline;text-underline-offset:4px}
.demo-cookie-banner{position:fixed;z-index:80;right:18px;bottom:18px;left:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;background:var(--deep);color:#fff;box-shadow:0 15px 45px #0003;border:1px solid #ffffff22}.demo-cookie-banner p{margin:0;max-width:760px;color:#ffffffd2;font-size:11px;line-height:1.55}.demo-cookie-banner a{color:#fff;text-decoration:underline;text-underline-offset:3px}.demo-cookie-banner button{border:1px solid #ffffff60;background:transparent;color:#fff;padding:10px 14px;font:600 10px var(--body);cursor:pointer;white-space:nowrap}.demo-cookie-banner button:hover{background:#fff;color:var(--deep)}
.demo-whatsapp{position:fixed;z-index:70;right:22px;bottom:22px;display:inline-flex;align-items:center;gap:10px;padding:12px 15px;border-radius:999px;background:#20c863;color:#fff;box-shadow:0 12px 30px #0a6b3580;font:700 11px var(--body);transition:transform .2s,box-shadow .2s}.demo-whatsapp:hover{transform:translateY(-3px);box-shadow:0 16px 34px #0a6b3599}.demo-whatsapp svg{width:17px;height:17px;fill:currentColor}.demo-whatsapp small{display:block;font-size:8px;font-weight:500;opacity:.84}
@media(max-width:680px){.demo-legal-footer{grid-template-columns:1fr;gap:22px;padding:28px 20px}.demo-legal-note{grid-column:auto}.demo-cookie-banner{right:10px;bottom:10px;left:10px;align-items:flex-start;flex-direction:column;padding:14px}.demo-cookie-banner button{align-self:flex-end}.demo-whatsapp{right:14px;bottom:14px;padding:12px;border-radius:50%}.demo-whatsapp span,.demo-whatsapp small{display:none}}

/* Shared refinements aligned with the Mobilast presentation. */
@keyframes atelierImageSettle{from{opacity:.72;clip-path:inset(3% 0 0 0)}to{opacity:1;clip-path:inset(0)}}
.theme-ch .hero--immersive .hero-media-inner>img,.theme-cris .hero--immersive .hero-media-inner>img,.theme-bms .hero--immersive .hero-media-inner>img{transform:translate3d(var(--mx,0px),var(--hero-scroll,0px),0) scale(1);image-rendering:auto}
.theme-ch .hero--immersive:hover .hero-media-inner>img,.theme-cris .hero--immersive:hover .hero-media-inner>img,.theme-bms .hero--immersive:hover .hero-media-inner>img{transform:translate3d(var(--mx,0px),var(--hero-scroll,0px),0) scale(1.015)}
.theme-ch .hero-grain,.theme-cris .hero-grain,.theme-bms .hero-grain{display:none}
.demo-whatsapp{width:54px;height:54px;padding:0;justify-content:center;gap:0;border-radius:50%;background:#20c863;box-shadow:0 8px 24px #0c32269c}
.demo-whatsapp span,.demo-whatsapp small{display:none}
.demo-whatsapp svg{width:25px;height:25px}
.demo-whatsapp:focus-visible{outline:3px solid #fff;outline-offset:3px}
.gallery-all{display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:12px;font-weight:700}
.gallery-all span{color:var(--accent)}
.demo-sal-icon img{object-fit:contain;background:#fff}
@media(max-width:680px){.demo-whatsapp{right:14px;bottom:14px;width:54px;height:54px;padding:0}.gallery-all{margin-top:22px}}
