/* A single moving image travels from monochrome to the approved brand colours. */
.dulce-director-transition{z-index:70}
.dulce-portal-glass,.dulce-portal-veil,.dulce-portal-matte,.dulce-portal-prism{position:absolute;pointer-events:none}
.dulce-portal-glass{inset:0;background:#15131b18;backdrop-filter:grayscale(1);-webkit-backdrop-filter:grayscale(1);will-change:clip-path}
.dulce-portal-veil{inset:0;background:#12111c}
.dulce-portal-matte{left:0;right:0;height:17vh;background:#12111c;will-change:transform}
.dulce-portal-matte-top{top:0;transform-origin:top}
.dulce-portal-matte-bottom{bottom:0;transform-origin:bottom}
.dulce-portal-prism{top:-15%;bottom:-15%;left:-15%;width:18%;background:linear-gradient(90deg,transparent,#a469ff26 30%,#6377ff45 55%,#36b9eb21 77%,transparent);transform:skewX(-10deg);opacity:0;mix-blend-mode:screen;will-change:transform}
.dulce-portal-frame{position:absolute;inset:21% 7%;opacity:0;pointer-events:none}
.dulce-portal-frame i{position:absolute;width:38px;height:38px;border-color:#ffffff90;border-style:solid;border-width:0}
.dulce-portal-frame i:nth-child(1){left:0;top:0;border-left-width:1px;border-top-width:1px}
.dulce-portal-frame i:nth-child(2){right:0;top:0;border-right-width:1px;border-top-width:1px}
.dulce-portal-frame i:nth-child(3){left:0;bottom:0;border-left-width:1px;border-bottom-width:1px}
.dulce-portal-frame i:nth-child(4){right:0;bottom:0;border-right-width:1px;border-bottom-width:1px}
.dulce-director-transition .dulce-transition-note{top:57%;font-size:clamp(14px,1.2vw,19px);font-weight:400;letter-spacing:.025em;color:#f1eefb!important}
.dulce-portal-index{position:absolute;top:32px;left:34px;font-size:10px;letter-spacing:.16em;color:#dad8e7;opacity:0}
.dulce-director-transition .dulce-transition-skip{border-color:#ffffff50;background:#12111cbb;color:#fff;backdrop-filter:blur(10px)}
.dulce-director-transition .dulce-transition-brand .dt-still{display:none}
html[data-dulce-arrival="pending"] .dulce-director-transition[hidden]{display:block!important}
html[data-dulce-arrival="pending"] .dulce-portal-glass{visibility:hidden}
.dulce-departure{position:fixed;inset:0;z-index:70;pointer-events:none;overflow:hidden}
.dulce-departure:before,.dulce-departure:after{content:'';position:absolute;left:0;right:0;height:51%;background:#12111c}
.dulce-departure:before{top:0;transform:translateY(-102%)}
.dulce-departure:after{bottom:0;transform:translateY(102%)}
.dulce-departure-line{position:absolute;top:50%;left:0;right:0;height:1px;transform:scaleX(0);background:linear-gradient(90deg,#a469ff,#6377ff,#36b9eb);transform-origin:center}
.dulce-departure.is-closing:before{animation:dulce-matte-close-top .48s cubic-bezier(.7,0,.3,1) both}
.dulce-departure.is-closing:after{animation:dulce-matte-close-bottom .48s cubic-bezier(.7,0,.3,1) both}
@keyframes dulce-matte-close-top{to{transform:translateY(0)}}
@keyframes dulce-matte-close-bottom{to{transform:translateY(0)}}
/* Universe pages have their own editorial rhythm and a full-colour scene. */
.dulce-site .cine-hero:not(.cine-short){min-height:calc(100svh - 88px)}
.dulce-site .cine-hero:not(.cine-short) .cine-hero-content{padding-bottom:172px;padding-right:54px}
.dulce-site .cine-hero:not(.cine-short) .cine-kicker{font-size:11px;font-weight:500;letter-spacing:.16em}
.dulce-site .cine-hero:not(.cine-short) h1{font-size:clamp(54px,6.4vw,96px);font-weight:400;letter-spacing:-.055em;max-width:960px;line-height:1.02}
.dulce-site .cine-hero:not(.cine-short) h1 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.05em}
.dulce-site .cine-hero:not(.cine-short) .cine-hero-bottom{border-top:0;max-width:950px;align-items:start;margin-top:30px;padding-top:0}
.dulce-site .cine-hero:not(.cine-short) .cine-hero-bottom>p{max-width:400px;font-size:15px;line-height:1.7}
.dulce-site .cine-hero:not(.cine-short) .cine-link{min-width:235px;padding:14px 0;font-weight:500}
.dulce-site .cine-chapter-area{font-size:10px;font-weight:500;letter-spacing:.13em}
.dulce-site .cine-chapter>a{font-size:15px;font-weight:400}
.dulce-site .cine-video-tools{right:112px}
.dulce-site .dulce-specialism{background:#12111c;color:#fff}
.dulce-site .dulce-specialism h2{color:#fff}
.dulce-site .dulce-specialism h2 em{color:#a99bfa;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic}
.dulce-site .dulce-specialism .dulce-overline{color:#bcb0ff}
.dulce-site .dulce-specialism p{color:#c2bfce}
.dulce-site .dulce-specialism .dulce-lead{color:#f2effa}
.dulce-site .dulce-specialism .dulce-link{color:#f2effa;border-color:#777283}
.dulce-site .dulce-selected .dulce-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.dulce-site .dulce-hub-close{border-top:1px solid var(--dulce-line);padding-top:90px}
.dulce-site .dulce-journey-grid img{aspect-ratio:1.05}
.dulce-site .dulce-backstage{background:#171523;color:#fff}
.dulce-site .dulce-backstage .dulce-overline{color:#bcb0ff}
.dulce-site .dulce-backstage .dulce-heading>p,.dulce-site .dulce-backstage article p{color:#c5c0d2}
.dulce-site .dulce-backstage article h3{color:#fff}
.dulce-site .dulce-backstage .dulce-example{border-color:#a469ff}
.dulce-site .dulce-backstage .dulce-link{color:#fff;border-color:#8c819f}
.dulce-site .dulce-backstage .dulce-technical,.dulce-site .dulce-backstage figcaption{color:#aba3ba}
.dulce-site .dulce-solutions .dulce-heading h2 em{font-family:Georgia,'Times New Roman',serif;font-style:italic}
.dulce-site .dulce-close{background:#2b234c}
.dulce-site .dulce-close h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em}
.dulce-site [id]{scroll-margin-top:112px}
@media(max-width:1100px){.dulce-site .wrap{width:calc(100% - 64px)}.dulce-site .cine-video-tools{right:32px}.dulce-site [id]{scroll-margin-top:150px}}
@media(max-width:900px){.dulce-chapter-main{padding-top:52px}}
@media(max-width:760px){
 .dulce-portal-matte{height:13vh}.dulce-portal-frame{inset:22% 6%}.dulce-portal-frame i{width:22px;height:22px}.dulce-portal-index{top:25px;left:22px;font-size:8px}
 .dulce-director-transition .dulce-transition-note{top:55%;font-size:12px}
 .dulce-site .wrap{width:calc(100% - 44px)}
 .dulce-site .cine-hero:not(.cine-short){min-height:calc(100svh - 84px)}
 .dulce-site .cine-hero:not(.cine-short) .cine-hero-content{padding-top:92px;padding-bottom:185px;padding-right:0}
 .dulce-site .cine-hero:not(.cine-short) h1{font-size:clamp(43px,11.9vw,62px);line-height:1.06}
 .dulce-site .cine-hero:not(.cine-short) .cine-hero-bottom{gap:22px;margin-top:25px}
 .dulce-site .cine-hero:not(.cine-short) .cine-hero-bottom>p{font-size:14px;max-width:340px}
 .dulce-site .cine-hero:not(.cine-short) .cine-link{min-width:220px;font-size:13px}
 .dulce-site .cine-hero:not(.cine-short) .cine-kicker{font-size:9px;margin-bottom:20px;max-width:270px}
 .dulce-site .cine-video-tools{right:22px}
 .dulce-site .cine-chapter{left:22px;bottom:77px}
 .dulce-site .cine-chapter-area{font-size:10px}
 .dulce-site .cine-chapter>a{font-size:14px}
 .dulce-site .cine-scroll{left:22px}
 .dulce-site .dulce-hub-close{padding-top:65px}
 .dulce-site [id]{scroll-margin-top:142px}
}
@media(max-width:760px){
 .dulce-site .cine-hero:not(.cine-short){display:block;min-height:0;padding-top:calc(100vw * 9 / 16);background:#12111c}
 .dulce-site .cine-hero:not(.cine-short) .cine-media{bottom:auto;height:calc(100vw * 9 / 16);background-size:cover}
 .dulce-site .cine-hero:not(.cine-short) .cine-shade{bottom:auto;height:calc(100vw * 9 / 16);background:linear-gradient(180deg,transparent 55%,#12111c66)!important}
 .dulce-site .cine-hero:not(.cine-short) .cine-hero-content{padding:32px 0 145px}
 .dulce-site .cine-hero:not(.cine-short) h1{font-size:clamp(42px,11.9vw,62px)}
 .dulce-site .cine-hero:not(.cine-short) .cine-video-tools{top:calc(100vw * 9 / 16 - 58px);bottom:auto;right:22px}
 .dulce-site .cine-hero:not(.cine-short) .cine-chapter{bottom:67px}
 .dulce-site .cine-hero:not(.cine-short) .cine-chapter-area{font-size:9px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){html[data-dulce-arrival="pending"] .dulce-director-transition[hidden],.dulce-departure{display:none!important}}

/* B04: an isolated rolling ball, then the supplied animation in the existing header box. */
.dulce-b04-transition,.dulce-departure{z-index:110;pointer-events:auto}
.dulce-departure:before,.dulce-departure:after{content:none}
.dulce-b04-cover{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.dulce-shutter{position:absolute;left:0;right:0;height:50.1%;background:#12111c;will-change:transform}
.dulce-shutter-top{top:0}
.dulce-shutter-bottom{bottom:0}
.dulce-roll-ball{position:absolute;width:min(42vh,50vw,360px);height:min(42vh,50vw,360px);left:calc(50% - min(21vh,25vw,180px));top:calc(50% - min(21vh,25vw,180px));line-height:0;will-change:transform;pointer-events:none}
.dulce-roll-ball[hidden]{display:none}
.dulce-roll-ball>img{display:block;width:100%;height:100%;max-width:none;filter:none!important;opacity:1!important;will-change:transform}
.dulce-departure .dulce-roll-ball{z-index:2}
.dulce-departure .dulce-transition-skip{z-index:3}
.dulce-b04-transition .dulce-transition-skip,.dulce-departure .dulce-transition-skip{border-color:#ffffff50;background:#12111cdd;color:#fff}
html[data-dulce-arrival="pending"]:before{content:'';position:fixed;inset:0;z-index:120;background:#12111c;pointer-events:none}
html[data-dulce-arrival="pending"][data-dulce-arrival-mode="enter"]:after{content:'';position:fixed;z-index:121;width:min(42vh,50vw,360px);height:min(42vh,50vw,360px);left:calc(50% - min(21vh,25vw,180px));top:calc(50% - min(21vh,25vw,180px));background:url('/assets/dulce/b04-ball-dark.svg') center/contain no-repeat;pointer-events:none}
html[data-dulce-arrival="pending"][data-dulce-arrival-mode="return"] .dulce-roll-ball{visibility:hidden}
.dulce-site-header .dulce-brand>svg{display:block;width:100%;height:auto;aspect-ratio:1640/248;overflow:visible;filter:none!important}
.dulce-site-header .dulce-brand>svg .dt-still{display:none}
html[data-dulce-brand-animating] .dulce-site-header,html[data-dulce-brand-animating] .dulce-site-header .navrow,html[data-dulce-brand-animating] .dulce-site-header .dulce-brand-link,html[data-dulce-brand-animating] .dulce-site-header .dulce-brand{overflow:visible!important}
html[data-dulce-brand-animating] .dulce-site-header{z-index:72}
@media(prefers-reduced-motion:reduce){.dulce-b04-transition,.dulce-departure,html[data-dulce-arrival="pending"]:before,html[data-dulce-arrival="pending"]:after{display:none!important}}
