/* Professional motion and controls, shared by CCS and FRADOMA. */
body>header{transition:box-shadow .3s ease,border-color .3s ease}body>header.is-scrolled{box-shadow:0 6px 28px rgba(15,23,42,.045)!important;border-bottom-color:#e3e7ed!important}
.professional-carousel{min-width:0;--motion-ease:cubic-bezier(.22,.68,0,1.01)}
.professional-carousel .carousel-track,.professional-carousel .fradoma-carousel__track{transition:transform .72s var(--motion-ease)}
.professional-carousel.is-dragging .carousel-track,.professional-carousel.is-dragging .fradoma-carousel__track,.professional-carousel.is-jump .carousel-track,.professional-carousel.is-jump .fradoma-carousel__track{transition:none}
.professional-carousel.is-dragging{cursor:grabbing;user-select:none}
.professional-carousel .carousel-slide>*,.professional-carousel .fradoma-carousel__slide>*{opacity:0;transform:translate3d(0,16px,0);transition:opacity .25s ease,transform .3s ease}
.professional-carousel .carousel-slide[aria-hidden="false"]>*,.professional-carousel .fradoma-carousel__slide[aria-hidden="false"]>*{opacity:1;transform:translate3d(0,0,0);transition:opacity .65s ease,transform .8s var(--motion-ease);transition-delay:.1s}
.professional-carousel [aria-hidden="false"]>h1,.professional-carousel [aria-hidden="false"]>h2{transition-delay:.15s}
.professional-carousel [aria-hidden="false"]>.carousel-detail,.professional-carousel [aria-hidden="false"]>.fradoma-carousel__detail{transition-delay:.23s}
.professional-carousel [aria-hidden="false"]>a{transition-delay:.31s}
.professional-carousel .carousel-controls,.professional-carousel .fradoma-carousel__controls{display:grid;grid-template-columns:70px 1fr auto;gap:20px;align-items:center;position:relative;padding-top:22px;margin-top:26px;border-top:1px solid #e3e8ef}
.carousel-position{font:500 11px/1.2 Arial,sans-serif;font-variant-numeric:tabular-nums;color:#718096;letter-spacing:.08em}
.professional-carousel .carousel-dots,.professional-carousel .fradoma-carousel__dots{justify-self:start;gap:3px}
.professional-carousel .carousel-dots button,.professional-carousel .fradoma-carousel__dots button{height:40px;min-width:28px;width:28px;transition:width .25s ease}
.professional-carousel .carousel-dots button::after,.professional-carousel .fradoma-carousel__dots button::after{top:18px;left:10px;width:6px;height:6px;background:#b5becb;transition:background .25s ease,transform .3s ease}
.professional-carousel .carousel-dots button[aria-current=true]::after,.professional-carousel .fradoma-carousel__dots button[aria-current=true]::after{background:#14223a;transform:scale(1.35)}
.professional-carousel .carousel-arrows,.professional-carousel .fradoma-carousel__arrows{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #dde3eb;border-radius:999px;background:#fff;box-shadow:0 2px 5px rgba(15,23,42,.025)}
.professional-carousel .carousel-arrows button,.professional-carousel .fradoma-carousel__arrows button{display:grid;place-items:center;min-width:40px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#17243b;transition:background .2s ease,transform .2s ease}
.professional-carousel .carousel-arrows button:hover,.professional-carousel .fradoma-carousel__arrows button:hover{background:#f0f3f7;transform:translateY(-1px)}
.professional-carousel .carousel-arrows button:active,.professional-carousel .fradoma-carousel__arrows button:active{transform:scale(.93)}
.professional-carousel button svg{display:block;width:18px;height:18px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.professional-carousel button[data-pause]{margin-left:3px;background:#f5f7fa}
.carousel-progress{position:absolute;left:0;right:0;top:-1px;height:2px;background:transparent;overflow:hidden;pointer-events:none}
.carousel-progress>span{display:block;width:100%;height:100%;background:#375f9f;transform:scaleX(0);transform-origin:left center}
.ccs-home .ccs-carousel{min-height:clamp(590px,81svh,780px);padding-block:36px 26px}
.ccs-home .carousel-slide{min-height:360px;padding-block:20px}
.ccs-home .carousel-title{font-size:clamp(52px,6.8vw,98px);max-width:18ch;line-height:1.015;letter-spacing:-.055em}
.ccs-home .is-long .carousel-title{font-size:clamp(46px,5.5vw,80px);max-width:23ch;line-height:1.06;letter-spacing:-.052em}
.ccs-home .slide-label{font-size:11px;font-weight:600;letter-spacing:.035em;margin-bottom:22px;color:#66758a}
.ccs-home .carousel-detail{font-size:clamp(18px,1.5vw,21px);max-width:620px;line-height:1.6}
.home-v2 .fradoma-carousel{padding-block:18px}
.home-v2 .fradoma-carousel__slide{min-height:360px}
.home-v2 .fradoma-carousel__title{font-size:clamp(52px,6.8vw,100px)!important;line-height:1.015!important;max-width:19ch!important;letter-spacing:-.055em!important}
.home-v2 .is-long .fradoma-carousel__title{font-size:clamp(46px,5.5vw,80px)!important;max-width:23ch!important;line-height:1.06!important}
.home-v2 .fradoma-carousel__detail{font-size:clamp(18px,1.5vw,21px);line-height:1.6}
.home-v2 .future-hero{height:auto!important;min-height:clamp(590px,81svh,780px)!important;max-height:none!important}
.home-v2 .future-hero .wrap{padding-block:36px!important}
.card,.article-card,.portal-card,.audience-card,.btn,.button{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease!important}
a.card:hover,.article-card:hover,.portal-card:hover{box-shadow:inset 0 3px 0 #375f9f!important;background:#fafbfd!important}
.card-link,.more,.text-link,.fradoma-carousel__link{transition:color .2s ease,transform .25s ease}
.card:hover .card-link,.card:hover .more{transform:translateX(4px)}
.reveal-pending{opacity:0;transform:translate3d(0,22px,0)}
.is-revealed{opacity:1;transform:none;transition:opacity .7s ease,transform .85s cubic-bezier(.22,.68,0,1.01)}
@media(max-width:760px){
 .ccs-home .ccs-carousel{min-height:580px;padding-block:26px 22px}
 .ccs-home .carousel-slide,.home-v2 .fradoma-carousel__slide{min-height:360px}
 .ccs-home .carousel-title,.home-v2 .fradoma-carousel__title{font-size:clamp(42px,10vw,66px)!important;line-height:1.04!important;max-width:16ch!important}
 .ccs-home .is-long .carousel-title,.home-v2 .is-long .fradoma-carousel__title{font-size:clamp(37px,8.8vw,56px)!important;max-width:20ch!important;line-height:1.08!important}
 .professional-carousel .carousel-controls,.professional-carousel .fradoma-carousel__controls{grid-template-columns:52px 1fr auto;gap:8px}
 .carousel-position{font-size:10px;letter-spacing:.04em}
 .professional-carousel .carousel-arrows button,.professional-carousel .fradoma-carousel__arrows button{width:36px;min-width:36px;height:36px}
 .professional-carousel .carousel-dots,.professional-carousel .fradoma-carousel__dots{gap:0}
 .professional-carousel .carousel-dots button,.professional-carousel .fradoma-carousel__dots button{width:21px;min-width:21px}
 .professional-carousel .carousel-dots button::after,.professional-carousel .fradoma-carousel__dots button::after{left:7px}
 .home-v2 .future-hero{min-height:580px!important}
}
@media(max-width:380px){
 .professional-carousel .carousel-controls,.professional-carousel .fradoma-carousel__controls{grid-template-columns:1fr auto}
 .carousel-position{display:none}
}
@media(prefers-reduced-motion:reduce){
 .professional-carousel *,body>header,.card,.article-card,.portal-card,.audience-card,.btn,.button,.more{animation:none!important;transition:none!important}
 .professional-carousel .carousel-slide>*,.professional-carousel .fradoma-carousel__slide>*{transform:none!important}
 .reveal-pending,.is-revealed{opacity:1!important;transform:none!important;transition:none!important}
}
@media print{.reveal-pending{opacity:1!important;transform:none!important}}

