/* Campaign artwork uses local photography; animation layers compose independently. */
.catalog-intro{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:30px}
.campaign-hero{background:#4420ba;box-shadow:0 12px 28px #3f20791a}
.campaign-hero::before{display:none}
.campaign-hero .catalog-carousel-slide img{translate:var(--hero-parallax-x,0px) var(--hero-parallax-y,0px);transition:translate .65s cubic-bezier(.2,.8,.2,1)}
.campaign-hero .catalog-intro-glass{translate:var(--hero-glass-x,0px) var(--hero-glass-y,0px);transition:translate .65s cubic-bezier(.2,.8,.2,1)}
.campaign-hero[data-current="0"]>.catalog-intro-glass,.campaign-hero[data-current="0"]>.catalog-intro-frame{visibility:hidden}
.campaign-hero .beauty-slide{isolation:isolate;background:linear-gradient(118deg,#261bb9 0%,#6d24ea 43%,#ed2f84 76%,#ff802b 100%)}
.campaign-hero .beauty-slide::before,.campaign-hero .beauty-slide::after{display:none}
.beauty-aurora{position:absolute;inset:-40%;z-index:-1;background:radial-gradient(ellipse at 27% 50%,#0725e5 0%,transparent 47%),radial-gradient(ellipse at 72% 70%,#ff3a28 0%,transparent 42%),radial-gradient(ellipse at 60% 0%,#dc41ff 0%,transparent 55%);will-change:transform}
.beauty-slide.is-selected .beauty-aurora{animation:beautyAurora 10s ease-in-out infinite alternate}
.beauty-art-copy{position:absolute;left:5%;top:23px;color:#fff;z-index:3;pointer-events:none}
.beauty-art-copy>span{font:600 9px/1.4 Arial,sans-serif;letter-spacing:.23em;color:#fff9}
.beauty-art-copy>strong{display:block;margin:13px 0 9px;font:750 clamp(28px,3.15vw,49px)/.94 Arial,sans-serif;letter-spacing:-.055em;color:white}
.beauty-art-copy>small{font-size:11px;letter-spacing:.2em;color:#fff9}
.beauty-portrait{position:absolute;z-index:2;width:38%;height:128%;top:-10%;right:12%;border-radius:44% 44% 36% 36%;overflow:hidden;transform:rotate(-8deg);box-shadow:0 20px 50px #1b00464f,inset 0 0 0 1px #ffffff50;will-change:transform}
.campaign-hero .beauty-slide .beauty-portrait img{width:100%;height:100%;object-fit:cover;object-position:67% 35%;filter:saturate(1.2) contrast(1.04);animation:none;transform:scale(1.075)}
.beauty-slide.is-selected .beauty-portrait{animation:beautySpringIn 1.2s both,beautyFloat 5.2s ease-in-out 1.2s infinite}
.beauty-orbit{position:absolute;pointer-events:none;border-radius:50%;will-change:transform}
.beauty-orbit-back{z-index:1;width:300px;height:300px;top:-115px;right:-120px;border:49px solid #ffb224;box-shadow:inset 2px 3px 8px #fff8,4px 10px 38px #b0156a55}
.beauty-orbit-front{z-index:4;width:102px;height:102px;right:22px;bottom:-35px;border:23px solid #baf322;box-shadow:inset 1px 3px 5px #ffffb9,0 10px 30px #1421aa50}
.beauty-slide.is-selected .beauty-orbit-back{animation:beautyOrbit 6s ease-in-out infinite}
.beauty-slide.is-selected .beauty-orbit-front{animation:beautyOrbit 4.5s ease-in-out -.8s infinite reverse}
.beauty-color-card{position:absolute;z-index:5;right:3%;top:53%;padding:13px 15px;border:1px solid #ffffff80;border-radius:13px;background:linear-gradient(130deg,#ffffff63,#ffffff24);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 15px 25px #370d6329,inset 0 1px #ffffff85;color:white;rotate:7deg;translate:var(--hero-glass-x,0px) var(--hero-glass-y,0px);transition:translate .65s ease;pointer-events:none}
.beauty-color-card>span{font:700 9px/1 Arial,sans-serif;letter-spacing:.12em}
.beauty-color-card>div{display:flex;gap:5px;margin:9px 0 8px}
.beauty-color-card i{width:20px;height:20px;background:#7c0d2d;border-radius:50%;box-shadow:inset 0 1px 2px #fff5}
.beauty-color-card i:nth-child(2){background:#dc1740}.beauty-color-card i:nth-child(3){background:#fd5448}.beauty-color-card i:nth-child(4){background:#ef8e9e}
.beauty-color-card>small{font-size:9px;color:#ffffffe0}
.beauty-slide.is-selected .beauty-color-card{animation:beautyCardIn 1.05s cubic-bezier(.2,.9,.3,1.2) .22s both,beautyFloat 4.8s ease-in-out 1.27s infinite reverse}
.beauty-spark{position:absolute;z-index:4;left:39%;top:20%;color:#cfff43;font-size:39px;line-height:1;pointer-events:none}
.beauty-slide.is-selected .beauty-spark{animation:beautySpark 6s ease-in-out infinite}
.campaign-hero[data-current="0"] .catalog-carousel-controls{background:#1d0f6b60;border-color:#ffffff4f;bottom:14px}
.campaign-hero .catalog-carousel-dots button{width:16px;height:22px;border-radius:0;background:transparent;position:relative}
.campaign-hero .catalog-carousel-dots button::before{content:"";position:absolute;left:5px;right:5px;height:5px;top:8px;border-radius:9px;background:#ffffff80;transition:inset .25s}
.campaign-hero .catalog-carousel-dots button.is-active{width:24px;background:transparent}
.campaign-hero .catalog-carousel-dots button.is-active::before{left:2px;right:2px;background:white}
.campaign-hero .catalog-carousel-arrow{width:28px;height:28px}
.campaign-hero.motion-paused .beauty-slide *{animation-play-state:paused!important}
@keyframes beautySpringIn{0%{transform:translate3d(0,55px,0) rotate(7deg) scale(.86);opacity:0}57%{transform:translate3d(0,-10px,0) rotate(-10deg) scale(1.025);opacity:1}78%{transform:translate3d(0,4px,0) rotate(-7deg) scale(.995)}100%{transform:translate3d(0,0,0) rotate(-8deg) scale(1);opacity:1}}
@keyframes beautyFloat{0%,100%{transform:translate3d(0,0,0) rotate(-8deg)}50%{transform:translate3d(0,-9px,0) rotate(-5deg)}}
@keyframes beautyCardIn{from{transform:translate3d(35px,14px,0) scale(.85);opacity:0}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes beautyOrbit{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-14px,-10px,0) scale(1.06)}}
@keyframes beautySpark{0%,100%{transform:rotate(-12deg) scale(1)}50%{transform:rotate(27deg) scale(.78)}}
@keyframes beautyAurora{from{transform:translate3d(-3%,0,0) rotate(-8deg)}to{transform:translate3d(4%,3%,0) rotate(10deg)}}
@media(max-width:1100px) and (min-width:761px){.beauty-art-copy>strong{font-size:34px}.beauty-portrait{right:10%;width:43%}.beauty-color-card{right:4%;top:53%;padding:10px}.beauty-spark{left:38%;top:12%}.beauty-orbit-back{right:-190px}}
@media(max-width:760px){
 .catalog-intro{grid-template-columns:1fr;gap:12px;margin-top:16px;margin-bottom:17px}
 .catalog-intro-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}
 .catalog-intro-label{grid-column:1}.catalog-intro h1{grid-column:1;margin:0;font-size:23px;line-height:1.3}.catalog-intro h1 br{display:none}
 .catalog-intro p{display:none}.catalog-intro-link{grid-column:2;grid-row:1/3;gap:9px;font-size:10px;padding:9px 10px}
 .campaign-hero{height:210px;width:100%}
 .beauty-art-copy{left:6%;top:23px;max-width:43%}.beauty-art-copy>span{font-size:7px}.beauty-art-copy>strong{font-size:29px;margin-top:13px;line-height:1}.beauty-art-copy>small{font-size:9px}
 .beauty-portrait{width:45%;right:8%;height:116%;top:-4%}.beauty-color-card{right:3%;top:auto;bottom:17px;padding:9px}.beauty-color-card>span{font-size:7px}.beauty-color-card i{width:16px;height:16px}.beauty-color-card>small{display:none}.beauty-color-card>div{margin-bottom:0}
 .beauty-orbit-back{width:220px;height:220px;right:-140px;top:-90px;border-width:36px}.beauty-orbit-front{width:74px;height:74px;border-width:17px;right:0;bottom:-35px}
 .beauty-spark{font-size:25px;left:43%;top:15%}
 .campaign-hero .catalog-intro-caption{left:auto;right:10px;bottom:12px;width:52%;max-width:170px}
 .campaign-hero .catalog-carousel-controls{left:10px;bottom:12px}
}
@media(max-width:360px){.beauty-art-copy>strong{font-size:25px}.beauty-art-copy>small{font-size:8px}.catalog-intro-link{padding:8px}.catalog-intro h1{font-size:20px}.beauty-color-card{right:2%}}
@media(prefers-reduced-motion:reduce){
 .campaign-hero .beauty-slide *{animation:none!important;transition:none!important;translate:none!important}
 .campaign-hero .beauty-portrait{transform:rotate(-8deg);opacity:1}
 .campaign-hero .catalog-carousel-slide img,.campaign-hero .catalog-intro-glass{translate:none!important;transition:none!important}
}
