/* SEZ adaptation of React Bits mechanics. Copyright (c) 2026 David Haz.
   MIT + Commons Clause; see sez-rb10-LICENSE.txt. */
:root{--rb-orange:#f4511e;--rb-ink:#202529;--rb-soft:#f1f3f4;--rb-ease:cubic-bezier(.22,1,.36,1)}
[data-sez-rb-bento-card],[data-sez-rb-spotlight]{position:relative;isolation:isolate}
.sez-rb-light{position:absolute;inset:0;z-index:5;overflow:hidden;border-radius:inherit;pointer-events:none}
.sez-rb-light__glow{position:absolute;inset:0;opacity:0;background:radial-gradient(280px circle at var(--rb-x,50%) var(--rb-y,50%),rgb(244 81 30 / 15%),transparent 72%);transition:opacity .6s ease}
.is-rb-lit>.sez-rb-light>.sez-rb-light__glow{opacity:1}
.sez-rb-light__wave{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgb(244 81 30 / 35%),transparent 68%);opacity:0;pointer-events:none}
[data-sez-rb-bento]{--rb-bento-radius:22px}
html body .sez-brand-facts[data-sez-rb-bento] .sez-brand-fact{border-radius:var(--rb-bento-radius);box-shadow:0 8px 22px -24px #20252940}

/* Progressive blur is confined to 22px at the scrolling edges, never the centre. */
.sez-rb-edge-host{position:relative;min-width:0;width:100%;max-width:100%;isolation:isolate}
.sez-rb-edge{position:absolute;top:0;bottom:0;width:22px;z-index:8;pointer-events:none;opacity:0;transition:opacity .25s ease}
.sez-rb-edge.is-visible{opacity:1}
.sez-rb-edge--left{left:0;mask-image:linear-gradient(to right,#000,transparent)}
.sez-rb-edge--right{right:0;mask-image:linear-gradient(to left,#000,transparent)}
.sez-rb-edge>i{position:absolute;inset:0;display:block;backdrop-filter:blur(calc(.4px + var(--rb-layer)*.7px));-webkit-backdrop-filter:blur(calc(.4px + var(--rb-layer)*.7px));background:rgb(255 255 255 / 15%)}
.sez-rb-edge>i:nth-child(2){width:65%}.sez-rb-edge>i:nth-child(3){width:35%}
.sez-rb-edge--right>i{left:auto;right:0}
html body .sez-contact-rail[data-sez-rb-edge-rail]{display:flex!important;flex-wrap:nowrap!important;min-width:0!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;mask-image:none!important}
html body .sez-contact-rail[data-sez-rb-edge-rail]::-webkit-scrollbar{display:none}
html body .sez-contact-rail[data-sez-rb-edge-rail]>label{flex:0 0 auto!important;white-space:nowrap!important}
html body form fieldset.sez-contact-method .sez-contact-method__viewport .sez-rb-edge-host>.sez-contact-method__options.sez-contact-rail[data-sez-rb-edge-rail]{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;min-width:0!important;max-width:100%!important;mask-image:none!important}

/* Folder: the real linked previews become the leaves of one small folder. */
html body [data-sez-rb-folder]{position:relative!important;display:block!important;width:220px!important;max-width:100%!important;height:190px!important;min-height:0!important;padding:0!important;overflow:visible!important;flex:0 0 220px;perspective:900px;margin:16px 0 4px auto!important;background:none!important;border:0!important}
html body [data-sez-rb-folder]::before{content:'';position:absolute;left:0;right:0;bottom:0;height:125px;border-radius:12px;background:#dc4012;box-shadow:0 12px 24px -18px #8d2a0e80}
html body [data-sez-rb-folder]::after{content:'';position:absolute;left:0;bottom:114px;width:92px;height:22px;border-radius:9px 9px 0 0;background:#dc4012;z-index:0}
html body [data-sez-rb-folder]>.sez-rb-folder__page{position:absolute!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:5px!important;width:94px!important;height:134px!important;min-height:0!important;left:calc(23px + var(--rb-page)*76px)!important;right:auto!important;top:22px!important;padding:6px!important;margin:0!important;border-radius:4px!important;background:#fff!important;border:0!important;box-shadow:0 3px 14px #20252919;transform:translateY(12px) rotate(calc(-5deg + var(--rb-page)*9deg))!important;transform-origin:50% 95%;transition:transform .7s var(--rb-ease)!important;z-index:1!important;text-decoration:none!important;color:var(--rb-ink)!important}
html body [data-sez-rb-folder]>.sez-rb-folder__page>img{position:static!important;width:100%!important;height:104px!important;max-width:100%!important;object-fit:contain!important;transform:none!important;filter:none!important;border:0!important;border-radius:0!important}
html body [data-sez-rb-folder]>.sez-rb-folder__page>span{position:static!important;display:block!important;font:500 9px/1.25 'Open Sans',sans-serif!important;color:var(--rb-ink)!important;text-align:center!important}
html body [data-sez-rb-folder]>.sez-rb-folder__page>svg{width:38px;height:50px;flex:0 0 50px;margin:12px auto}
html body [data-sez-rb-folder].is-open>.sez-rb-folder__page{transform:translateY(-12px) rotate(calc(-9deg + var(--rb-page)*15deg))!important;z-index:3!important}
html body [data-sez-rb-folder]>.sez-rb-folder__page:focus-visible{outline:2px solid var(--rb-orange)!important;outline-offset:4px;z-index:6!important}
.sez-rb-folder__front{position:absolute;z-index:4;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:7px;align-items:flex-start;justify-content:center;width:100%;height:92px;min-height:44px;padding:18px 20px;border:0;border-radius:10px;background:linear-gradient(145deg,#ff6b36,#f4511e 72%);color:#fff;text-align:left;cursor:pointer;transform-origin:bottom;transition:transform .7s var(--rb-ease),box-shadow .7s var(--rb-ease)}
.sez-rb-folder__front>strong{font:700 18px/1.2 Montserrat,sans-serif}.sez-rb-folder__front>small{font:400 10px/1.3 'Open Sans',sans-serif;color:#fff}
[data-sez-rb-folder].is-open>.sez-rb-folder__front{transform:rotateX(-35deg);box-shadow:0 15px 20px -15px #a32d0e70}
.sez-rb-folder__front:focus-visible{outline:2px solid var(--rb-ink);outline-offset:4px}

/* Masonry: media are never cropped; captions remain normal text below each image. */
html body .sez-project-gallery .sez-project-gallery__grid[data-sez-rb-masonry][data-rb-masonry-ready]{position:relative!important;display:block!important;overflow:visible!important;gap:0!important;min-height:0!important;height:var(--rb-masonry-height)!important;max-height:none!important;transform:none!important;padding:0!important;width:min(1720px,calc(100% - 2 * clamp(12px,4vw,80px)))!important;margin:0 auto!important;scroll-snap-type:none!important}
html body .sez-project-gallery [data-sez-rb-masonry][data-rb-masonry-ready]>.sez-project-gallery__item{position:absolute!important;display:block!important;min-width:0!important;width:var(--rb-item-width)!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;grid-area:auto!important;flex:none!important;border-radius:18px!important;overflow:hidden!important;background:#f1f3f4}
html body .sez-project-gallery [data-sez-rb-masonry][data-rb-masonry-ready] .sez-project-gallery__media{display:block!important;width:100%!important;height:var(--rb-media-height)!important;min-height:0!important;aspect-ratio:auto!important}
html body .sez-project-gallery [data-sez-rb-masonry][data-rb-masonry-ready] .sez-project-gallery__media>:is(img,video){display:block!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center!important;transform:none!important;background:transparent!important}
html body .sez-project-gallery [data-sez-rb-masonry][data-rb-masonry-ready] figcaption{position:static!important;display:block!important;min-height:0!important;max-height:none!important;padding:14px 16px!important;margin:0!important;background:#f1f3f4!important;color:#202529!important;font-size:13px!important;line-height:1.5!important}

/* Stepper: retain the existing questionnaire fields, engine and PDF builder. */
html body .sez-qw[data-sez-rb-stepper]{border:0!important;border-radius:22px!important;background:#f5f6f7!important;padding:28px!important;scroll-margin-top:110px}
html body .sez-qw[data-sez-rb-stepper]>.sez-section-head{align-items:center;gap:12px;margin-bottom:12px}
html body .sez-qw[data-sez-rb-stepper]>.sez-section-head h2{font:700 clamp(22px,2vw,32px)/1.2 Montserrat,sans-serif}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-meter{display:none!important}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-tabs{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;padding:10px 0 18px!important;margin:0!important;scrollbar-width:none;max-width:100%}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-tabs::-webkit-scrollbar{display:none}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-tabs>button{position:relative;display:flex!important;align-items:center;gap:10px;flex:0 0 auto!important;width:auto!important;min-height:48px!important;padding:7px 13px 7px 8px!important;border:0!important;border-radius:999px!important;background:#e9ecee!important;color:#555f66!important;font:600 12px/1.2 'Open Sans',sans-serif!important;white-space:nowrap!important;transition:background .35s ease,color .35s ease}
.sez-rb-step-dot{display:grid;flex:0 0 32px;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;color:#68737c;font:700 12px/1 Montserrat,sans-serif;transition:background .35s ease,color .35s ease,transform .55s var(--rb-ease)}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-tabs>button[aria-current="step"]{background:#202529!important;color:#fff!important}
html body .sez-qw[data-sez-rb-stepper] [aria-current="step"]>.sez-rb-step-dot{background:#f4511e;color:#fff;transform:scale(1.04)}
html body .sez-qw[data-sez-rb-stepper] .is-rb-complete>.sez-rb-step-dot{background:#202529;color:#fff}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-step:not([hidden]){padding:24px!important;border:0!important;border-radius:16px!important;background:#fff!important;margin-top:4px!important}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-step[hidden]{display:none!important}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-fields{gap:18px!important}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-fields :is(input,select,textarea){border-radius:9px!important;border-color:#d8dde0!important;background:#fff!important;color:#202529!important;min-height:46px!important;font-size:16px!important}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-actions{display:flex;gap:10px;justify-content:space-between;margin-top:18px}
html body .sez-qw[data-sez-rb-stepper] .sez-qw-actions button{min-height:46px;border-radius:9px}

/* Pill navigation: existing links and mobile horizontal scrolling, no route replacement. */
html body .sez-shop-quicknav .sez-shop-quicknav__row[data-sez-rb-pill-nav]{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:7px!important;padding:5px!important;overflow-x:auto!important;scrollbar-width:none;background:#f2f4f5;border-radius:999px;max-width:100%;min-width:0}
html body .sez-shop-quicknav [data-sez-rb-pill-nav]::-webkit-scrollbar{display:none}
html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a{position:relative;isolation:isolate;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;gap:8px!important;min-height:40px!important;height:auto!important;width:auto!important;min-width:0!important;max-width:none!important;padding:10px 16px!important;margin:0!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#202529!important;font-size:12px!important;line-height:1.25!important;white-space:nowrap!important;overflow:hidden;transition:color .25s ease}
html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a::before{content:'';position:absolute;z-index:-1;inset:0;border-radius:inherit;background:#f4511e;transform:translateY(105%);transition:transform .5s var(--rb-ease)}
html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a.is-active{color:#fff!important;background:transparent!important}
html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a.is-active::before{transform:translateY(0)}
html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a>img{width:23px!important;height:23px!important;object-fit:contain}
.sez-rb-pill-short{display:none}
@media(hover:hover){html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a:hover{color:#fff!important}html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a:hover::before{transform:translateY(0)}}
html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a:focus-visible{outline:2px solid #202529;outline-offset:-2px}

/* Card Swap: real certificate descriptions and links, with accessible manual control. */
html body [data-sez-rb-card-swap]{display:block!important;width:min(100%,760px);padding:12px 20px 0 0;min-width:0}
.sez-rb-swap-stage{position:relative;width:100%;height:280px;perspective:1100px;margin-top:18px}
html body [data-sez-rb-card-swap] .sez-rb-swap-card{position:absolute;inset:0;z-index:calc(10 - var(--rb-swap-pos));display:flex;flex-direction:column;align-items:flex-start;padding:28px!important;border:1px solid #e1e5e7!important;border-radius:18px!important;background:#fff!important;color:#202529;box-shadow:0 15px 35px -28px #20252950;transform:translate(calc(var(--rb-swap-pos)*14px),calc(var(--rb-swap-pos)*-12px)) rotate(calc(var(--rb-swap-pos)*2deg)) scale(calc(1 - var(--rb-swap-pos)*.035));transform-origin:center;transition:transform .85s var(--rb-ease),box-shadow .85s var(--rb-ease)}
.sez-rb-swap-number{display:block;margin-bottom:18px;color:#f4511e;font:700 12px/1 Montserrat,sans-serif}
.sez-rb-swap-card>*{flex-shrink:0}
html body [data-sez-rb-card-swap] .sez-rb-swap-card h3{font:700 clamp(19px,2vw,27px)/1.25 Montserrat,sans-serif!important;max-width:28ch;margin:0 0 14px!important}
html body [data-sez-rb-card-swap] .sez-rb-swap-card p{font:400 14px/1.6 'Open Sans',sans-serif!important;max-width:60ch;margin:0 0 16px!important}
.sez-rb-swap-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:22px}
.sez-rb-swap-count{color:#68737c;font:600 12px/1 'Open Sans',sans-serif}
.sez-rb-swap-controls button{border-radius:999px;min-height:44px;font-size:12px}

/* Logo Loop: one measured repeat, no half-logo jumps or extra animation engines. */
.sez-rb-logo-loop{position:relative;overflow:hidden}
html body .sez-rb-logo-track{display:flex!important;width:max-content!important;max-width:none!important;gap:24px!important;animation:sez-rb-logo var(--rb-loop-duration,80s) linear infinite!important;will-change:transform}
.sez-rb-logo-group{display:flex;align-items:center;flex:none;gap:clamp(18px,3vw,48px);width:max-content}
.sez-rb-logo-group>.sez-partner,.sez-rb-logo-group>span{display:grid;place-items:center;flex:0 0 auto;width:clamp(95px,10vw,170px);min-height:54px}
html body .sez-rb-logo-group img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:48px!important;object-fit:contain!important}
html body .sez-rb-logo-track.is-reverse{animation-direction:reverse!important}
html body .sez-rb-logo-loop.is-rb-paused .sez-rb-logo-track,html body .sez-rb-logo-loop:is(:hover,:focus-within) .sez-rb-logo-track{animation-play-state:paused!important}
@keyframes sez-rb-logo{to{transform:translateX(calc(-1 * var(--rb-loop-distance,50%)))}}

/* Scroll Stack is limited to four archive cards. No page-scroll interception. */
.sez-rb-scroll-stack{position:relative;display:block;min-width:0}
@media(min-width:1024px){
 html body .sez-cinema-archive .sez-rb-scroll-stack>.sez-cinema-card{position:sticky!important;top:calc(110px + var(--rb-stack-index)*12px)!important;display:block!important;width:100%!important;height:clamp(520px,75svh,820px)!important;min-height:0!important;margin:0 0 28px!important;border-radius:24px!important;overflow:hidden!important;opacity:1!important;transform:scale(var(--rb-stack-scale,1))!important;transform-origin:center top;z-index:calc(2 + var(--rb-stack-index))}
 html body .sez-cinema-archive .sez-rb-scroll-stack .sez-cinema-card__link{height:100%!important;min-height:0!important}
 html body .sez-cinema-archive .sez-rb-scroll-stack .sez-cinema-card__image{height:100%!important;min-height:0!important;transform:none!important}
 html body .sez-rb-scroll-stack>.sez-cinema-card:focus-within{z-index:30!important}
}
@media(max-width:1023px){html body .sez-rb-scroll-stack>.sez-cinema-card{position:relative!important;top:auto!important;transform:none!important;--cinema-scale:1!important;--cinema-drift:0px!important}}
@media(max-width:767px){
 .sez-rb-edge{width:18px}
 html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a{padding:10px 14px!important;min-height:42px!important;font-size:12px!important}
 html body [data-sez-rb-pill-nav] .sez-rb-pill-long{display:none!important}.sez-rb-pill-short{display:inline}
 html body .sez-shop-quicknav [data-sez-rb-pill-nav]>a>img{display:none!important}
 html body .sez-qw[data-sez-rb-stepper]{padding:18px 14px!important;border-radius:18px!important}
 html body .sez-qw[data-sez-rb-stepper] .sez-qw-step:not([hidden]){padding:18px 14px!important}
 html body .sez-qw[data-sez-rb-stepper] .sez-qw-tabs>button{min-height:44px!important;padding:6px 12px 6px 6px!important}
 html body [data-sez-rb-card-swap]{padding-right:14px}
 html body [data-sez-rb-card-swap] .sez-rb-swap-card{padding:22px!important}
 .sez-rb-logo-group{gap:18px}.sez-rb-logo-group>.sez-partner,.sez-rb-logo-group>span{width:86px;min-height:34px}
 html body .sez-rb-logo-group img{max-height:30px!important}
 html body [data-sez-rb-folder]{margin:20px auto 4px!important}
}
@media(prefers-reduced-motion:reduce){
 .sez-rb-light__glow,.sez-rb-light__wave{display:none!important}
 html body .sez-rb-logo-track{animation-play-state:paused!important;will-change:auto}
 html body [data-sez-rb-folder]>.sez-rb-folder__page,.sez-rb-folder__front,html body [data-sez-rb-card-swap] .sez-rb-swap-card,.sez-rb-step-dot,.sez-rb-edge,html body [data-sez-rb-pill-nav]>a::before{transition:none!important}
 html body .sez-cinema-archive .sez-rb-scroll-stack>.sez-cinema-card{position:relative!important;top:auto!important;transform:none!important}
}
