/* Selected Divers glass banner. All product controls are scoped to this section. */
.glass-campaigns{--surface:#f3f3ef;--text:#102c3a;--stroke:#c4d1d4;--mx:0px;--my:0px;--scroll:0px;background:var(--surface);color:var(--text);position:relative;margin:0 auto;max-width:1600px}
html[data-theme=dark] .glass-campaigns{--surface:#0a1d29;--text:#f3f5f2;--stroke:#36505d}
.glass-pin{padding:32px 5% 34px;background:var(--surface)}
.glass-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:24px}.glass-heading h2{font-size:43px;margin-top:8px}.glass-eyebrow{font:600 11px/1.5 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.glass-eyebrow:before{content:'';display:inline-block;width:6px;height:6px;background:#d70012;border-radius:50%;margin-right:10px}.glass-all{font-size:13px;border-bottom:1px solid var(--stroke);padding:8px 0;white-space:nowrap}
.banner-stage{position:relative;isolation:isolate;min-width:0}.banner-scene{margin-bottom:25px}.banner-live .banner-scene{display:none;margin:0}.banner-live .banner-scene.is-current{display:block}.banner-live .banner-scene.is-leaving{display:block;position:absolute;inset:0;pointer-events:none;z-index:2}
.glass-campaigns .crystal-image picture,.glass-campaigns .crystal-image img{display:block;width:100%;height:100%;object-fit:cover}
.glass-campaigns .glass-cta{display:inline-flex;align-items:center;min-height:44px;padding:11px 18px;margin-top:20px;border-radius:3px;background:#d70012;color:#fff;font:500 13px/1.4 Arial,sans-serif;text-shadow:none;letter-spacing:0;text-decoration:none}.glass-campaigns .glass-cta:hover{background:#af0010}.glass-campaigns .glass-cta:active{background:#94000d}
.glass-campaigns :is(a,button):focus-visible{outline:3px solid #008dbb;outline-offset:5px}.glass-campaigns .glass-all:hover{color:#b90012}
.glass-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:23px}.glass-tabs{display:flex;gap:18px;flex:1;overflow-x:auto;scrollbar-width:none;min-width:0}.glass-tabs button{flex-shrink:0;position:relative;border:0;border-bottom:2px solid var(--stroke);background:none;color:var(--text);text-align:left;padding:12px 0;font:12px/1.4 Arial,sans-serif;min-height:44px}.glass-tabs button span{font-size:10px;opacity:.65;margin-right:8px}.glass-tabs button[aria-pressed=true]{border-color:#d70012}.glass-tabs button:hover{border-color:var(--text)}.glass-arrows{display:flex;gap:10px;align-items:center}.glass-arrows button{background:transparent;color:var(--text);border:1px solid var(--stroke);border-radius:30px;min-width:44px;min-height:44px;padding:8px;font:12px Arial,sans-serif}.glass-arrows button:hover{background:var(--text);color:var(--surface)}.glass-arrows [data-banner-pause]{padding-inline:12px}.glass-arrows [data-banner-count]{font:11px Arial;white-space:nowrap}
.glass-image-banner a,.glass-image-banner img{display:block;width:100%}.glass-image-banner img{object-fit:contain;height:auto}
@media(max-width:760px){.glass-pin{padding:24px 20px}.glass-heading h2{font-size:34px}.glass-heading{gap:8px}.glass-eyebrow{font-size:9px}.glass-all{font-size:11px}.glass-controls{flex-wrap:wrap;gap:12px}.glass-tabs{flex-basis:100%;gap:16px}.glass-tabs button{font-size:11px}.glass-tabs button span{display:block;margin:0 0 5px}.glass-arrows{margin-left:auto}.glass-campaigns .glass-cta{margin-top:14px;font-size:12px}}
/* Round two: translucent objects, compact text and unobstructed photography. */
.crystal-scene{height:500px;position:relative;perspective:1100px;isolation:isolate;overflow:hidden;border-radius:18px;background:#173b47;--crystal-fill:linear-gradient(125deg,#f4fbff70,#e2f1f329 50%,#e9f7ff4d);--crystal-ink:#fff}.crystal-image{position:absolute;inset:0;transform:translate(calc(var(--mx)*.35),calc(var(--scroll)*.4)) scale(1.07)}.crystal-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#02192366,transparent 65%)}.crystal-image img{object-position:center 45%}.crystal-card{position:absolute;left:6%;bottom:12%;width:440px;max-width:60%;border:1px solid #ffffffa6;border-radius:22px;background:var(--crystal-fill);backdrop-filter:blur(17px) saturate(1.25);-webkit-backdrop-filter:blur(17px) saturate(1.25);box-shadow:inset 0 2px 2px #ffffffbd,inset 2px 0 3px #ffffff52,inset -1px -2px 2px #ffffff50,0 3px 0 #9ecccc5c,0 28px 45px #00151e66;transform:rotate(-3deg) rotateY(-7deg) translate(var(--mx),calc(var(--my) + var(--scroll)*-.6));color:var(--crystal-ink);text-shadow:0 1px 10px #001c2b9c;transition:transform .16s ease-out}.crystal-card:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(125deg,#fff3,transparent 33%,transparent 70%,#fff1);border:5px solid #ffffff0c}.crystal-copy{padding:29px 32px;position:relative;z-index:1}.crystal-tag{display:block;font:600 10px/1.4 Arial;letter-spacing:.15em;margin-bottom:15px}.banner-stage .crystal-card h3{font-size:55px;line-height:1.04;letter-spacing:0;max-width:370px}.crystal-meta{font-size:12px;line-height:1.5;margin:18px 0 22px;font-weight:600}.crystal-meta span{display:block;font-weight:400}.crystal-card .cta{font-size:12px;min-height:42px;padding:11px 16px;text-shadow:none}.crystal-index{position:absolute;right:28px;top:24px;color:#fff;font-size:11px;letter-spacing:.15em}.crystal-back{position:absolute;inset:30px 40px 30px auto;width:38%;border:1px solid #ffffff45;border-radius:16px;pointer-events:none;transform:rotate(5deg) translate(calc(var(--mx)*-.5),calc(var(--scroll)*.6));background:linear-gradient(135deg,#ffffff12,transparent 50%);box-shadow:inset 1px 1px 1px #ffffff52}.crystal-7 .crystal-card{left:auto;right:5%;bottom:10%;width:415px;border-radius:48px 48px 48px 12px;transform:rotate(2deg) rotateY(8deg) translate(calc(var(--mx)*-.8),calc(var(--my) + var(--scroll)*-.5));background:linear-gradient(125deg,#9cc8da66,#092e4938 70%,#d3eff05c);backdrop-filter:blur(24px) saturate(1.35);box-shadow:inset 0 3px 3px #fff9,inset -3px -3px 8px #cbefff6b,0 5px 0 #aeced447,0 28px 60px #001b2680}.crystal-7 .crystal-copy{padding:32px 35px}.crystal-7 .crystal-back{inset:35px auto auto 35px;width:75px;height:75px;border-radius:50%;background:#ffffff0d;backdrop-filter:blur(3px);box-shadow:inset 0 2px 2px #fff9,0 8px 18px #001c2b44}.crystal-8{background:radial-gradient(ellipse at 60% 40%,#90bfc25c,transparent 70%);border-radius:0;overflow:visible}.crystal-8 .crystal-image{inset:28px 2% 28px 7%;border-radius:16px;overflow:hidden;transform:rotate(4deg) translate(calc(var(--mx)*-.4),calc(var(--scroll)*.5));box-shadow:0 20px 45px #001d3540;border:1px solid #ffffff77}.crystal-8 .crystal-card{left:4%;bottom:12%;width:430px;background:linear-gradient(135deg,#d8eef09c,#c8e4e365 70%,#eaffff8c);color:#092735;text-shadow:0 1px 8px #ffffff55;transform:rotate(-5deg) translate(var(--mx),calc(var(--scroll)*-.7));backdrop-filter:blur(22px) saturate(1.2)}.crystal-8 .crystal-back{inset:58px 7% 15px 35%;width:auto;transform:rotate(8deg);background:#82bbc026;border-color:#aac6cd;z-index:-1;box-shadow:0 10px 35px #123c4a1f}.crystal-8 .crystal-index{right:7%;top:65px}html[data-theme=dark] .crystal-8 .crystal-card{background:linear-gradient(135deg,#496c8285,#16354873 75%,#63959769);color:#fff;text-shadow:0 1px 8px #001b2777}.glass-paused .crystal-card{transition:none}.glass-paused .crystal-image{animation:none}
@media(max-width:760px){.banner-stage .crystal-scene{height:460px;border-radius:13px}.crystal-card{left:16px;bottom:22px;width:calc(100% - 40px);max-width:none;border-radius:17px;transform:rotate(-2deg) translate(0,calc(var(--scroll)*-.35))}.crystal-copy{padding:17px 19px}.banner-stage .crystal-card h3{font-size:33px;line-height:1.08;max-width:270px}.crystal-tag{font-size:9px;margin-bottom:8px;letter-spacing:.09em}.crystal-meta{font-size:11px;line-height:1.5;margin:11px 0 13px}.crystal-meta span{display:inline}.crystal-card .cta{min-height:40px;font-size:11px;padding:10px 13px;gap:18px}.crystal-index{right:18px;top:19px;font-size:10px}.crystal-back{inset:22px 18px 95px 35px;width:auto}.crystal-image img{object-position:62% center}.crystal-7 .crystal-card{width:calc(100% - 45px);max-width:none;right:18px;bottom:20px;border-radius:30px 30px 30px 9px;transform:rotate(2deg) translate(0,calc(var(--scroll)*-.35))}.crystal-7 .crystal-copy{padding:20px 22px}.crystal-7 .crystal-back{width:44px;height:44px;inset:20px auto auto 20px}.banner-stage .crystal-8{height:475px;overflow:hidden}.crystal-8 .crystal-image{inset:12px 12px 40px 16px;transform:rotate(4deg) translate(0,calc(var(--scroll)*.4))}.crystal-8 .crystal-card{width:calc(100% - 40px);left:15px;bottom:21px;transform:rotate(-3deg) translate(0,calc(var(--scroll)*-.4))}.crystal-8 .crystal-back{inset:26px 24px 70px 22px}.crystal-8 .crystal-index{right:35px;top:35px}}
/* Certification-card motion: rotate in depth, with an independently moving sheen. */
.crystal-8 .crystal-card{transform:translate(calc(var(--mx)*.55),calc(var(--scroll)*-.45)) rotateX(var(--card-rx,-4deg)) rotateY(var(--card-ry,var(--rest-ry,12deg))) rotateZ(var(--rest-rz,3deg)) translateZ(var(--card-lift,0px));transition:transform .55s cubic-bezier(.2,.75,.2,1);box-shadow:inset 0 2px 2px #ffffffbd,inset 2px 0 3px #ffffff52,inset -1px -2px 2px #ffffff50,2px 3px 0 #a8cdd16b,4px 5px 0 #37576555,0 32px 45px -12px #00151e80}
.crystal-8 .crystal-card:after{background:linear-gradient(118deg,transparent 25%,#fff1 40%,#ffffff59 48%,transparent 65%);background-size:250% 100%;background-position:var(--card-shine,85%) 0;transition:background-position .55s cubic-bezier(.2,.75,.2,1)}
.crystal-8 .crystal-card:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--card-glow-x,25%) var(--card-glow-y,20%),#ffffff26,transparent 65%);opacity:.8}
.glass-paused .crystal-8 .crystal-card{transform:rotateX(-4deg) rotateY(var(--rest-ry,12deg)) rotateZ(var(--rest-rz,3deg))}
.glass-paused .crystal-8 .crystal-card:after{background-position:85% 0;transition:none}
@media(max-width:760px),(hover:none){.crystal-8 .crystal-card{transform:rotate(-3deg) translate(0,calc(var(--scroll)*-.4))}.crystal-8 .crystal-card:after{background-position:85% 0}}
@media(prefers-reduced-motion:reduce){.crystal-8 .crystal-card{transform:rotate(-3deg);transition:none}.crystal-8 .crystal-card:after{background-position:85% 0;transition:none}}

.crystal-8 .crystal-description{font-size:14px;line-height:1.6;margin:14px 0 0;max-width:360px;text-wrap:pretty}.crystal-8 .crystal-meta{margin-top:15px}
@media(max-width:760px){.crystal-8 .crystal-description{display:none}.crystal-8 .crystal-meta{margin-top:11px}.glass-paused .crystal-8 .crystal-card{transform:rotate(-3deg)}}

.banner-stage .crystal-outgoing{position:absolute;inset:0;pointer-events:none;z-index:2}

@media(min-width:761px){
 .crystal-8.crystal-mirrored{--rest-ry:-12deg;--rest-rz:-3deg}
 .crystal-8.crystal-mirrored .crystal-image{inset:28px 7% 28px 2%;transform:rotate(-4deg) translate(calc(var(--mx)*-.4),calc(var(--scroll)*.5))}
 .crystal-8.crystal-mirrored .crystal-card{left:auto;right:4%}
 .crystal-8.crystal-mirrored .crystal-back{inset:58px 35% 15px 7%;transform:rotate(-8deg)}
 .crystal-8.crystal-mirrored .crystal-index{right:auto;left:7%}
}
.crystal-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 15px;margin-bottom:15px}.crystal-heading .crystal-date{font-size:13px;font-weight:700;line-height:1.5}.crystal-heading .crystal-tag{margin:0;font-size:10px}.crystal-card .cta{margin-top:20px}.crystal-8 .crystal-description{margin-top:13px}
@media(max-width:760px){.crystal-heading{margin-bottom:10px;gap:4px 10px}.crystal-heading .crystal-date{font-size:11px}.crystal-heading .crystal-tag{font-size:9px}.crystal-card .cta{margin-top:14px}}

/* A quiet supporting type style; the event name alone carries the brand display face. */
.crystal-heading .crystal-date,.crystal-heading .crystal-tag{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}.crystal-heading{gap:6px 12px}.crystal-heading .crystal-tag{border-left:1px solid currentColor;padding-left:12px}.crystal-card .cta{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;letter-spacing:0}.crystal-8 .crystal-description{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;line-height:1.55}
@media(max-width:760px){.crystal-heading .crystal-date,.crystal-heading .crystal-tag{font-size:11px}.crystal-card .cta{font-size:12px}}

/* A quiet supporting type style; the event name alone carries the brand display face. */
.crystal-heading .crystal-date,.crystal-heading .crystal-tag{font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none}.crystal-heading{gap:6px 12px}.crystal-heading .crystal-tag{border-left:1px solid currentColor;padding-left:12px}.crystal-card .cta{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;letter-spacing:0}.crystal-8 .crystal-description{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:400;line-height:1.55}
@media(max-width:760px){.crystal-heading .crystal-date,.crystal-heading .crystal-tag{font-size:11px}.crystal-card .cta{font-size:12px}}

.campaign-scroll-run{position:relative;overflow:visible}.campaign-scroll-run>.campaign-section{position:sticky;top:var(--pin-top,16px);width:100%;background:var(--surface)}

.glass-paused{--mx:0px!important;--my:0px!important;--scroll:0px!important}.glass-paused .crystal-card,.glass-paused .crystal-card:after{transition:none}

.crystal-image .banner-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}.crystal-image .banner-video.is-playing{opacity:1}

/* Full-width tidal backdrop; a single compositor-only reveal, no scroll painting. */
.glass-campaigns{max-width:none;isolation:isolate;background:#dce9eb;--surface:#dce9eb;--stroke:#a8c3c9}
html[data-theme=dark] .glass-campaigns{background:#102c39;--surface:#102c39;--stroke:#45636e}
.glass-campaigns:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 12% 28%,#fbffffb3,transparent 56%),radial-gradient(ellipse at 95% 74%,#63a9b33b,transparent 54%),linear-gradient(125deg,transparent 45%,#ffffff38 45.1%,transparent 45.3%);border-block:1px solid #729ea32b}
html[data-theme=dark] .glass-campaigns:before{background:radial-gradient(ellipse at 12% 28%,#3b71834d,transparent 56%),radial-gradient(ellipse at 95% 74%,#071b3580,transparent 54%),linear-gradient(125deg,transparent 45%,#9bd9e517 45.1%,transparent 45.3%);border-color:#7fb6c22b}
.glass-pin{max-width:1600px;margin-inline:auto;box-sizing:border-box;background:transparent;padding-block:48px}
/* Simulate glass with translucent colour and highlights instead of sampling and
   blurring the moving photograph behind every transformed card. */
.glass-campaigns .crystal-card{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(135deg,#e2f1f0ed,#cce2e4e8 72%,#f5ffffeb)}
html[data-theme=dark] .glass-campaigns .crystal-card{background:linear-gradient(135deg,#365b6aed,#153645eb 72%,#376172ed)}
@media(prefers-reduced-motion:no-preference){
 .glass-campaigns.banner-live:before{opacity:.25;transform:translateY(24px);transition:opacity 700ms ease,transform 700ms cubic-bezier(.2,.7,.2,1)}
 .glass-campaigns.banner-live.glass-arrived:before{opacity:1;transform:none}
}
html[data-motion-paused] .glass-campaigns:before,.glass-campaigns.glass-paused:before{opacity:1;transform:none;transition:none}
@media(max-width:760px){.glass-pin{padding-block:32px}.glass-campaigns .crystal-card{background:linear-gradient(135deg,#e2f1f0f5,#cce2e4f2)}html[data-theme=dark] .glass-campaigns .crystal-card{background:linear-gradient(135deg,#365b6af5,#153645f2)}}

/* Keep the carousel in the document flow so both neighbouring sections stay close. */
.banner-live .banner-stage { height: clamp(480px, 58svh, 620px); overflow: clip; }
.banner-live .banner-scene { display: block; position: absolute; inset: 0; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 1100ms cubic-bezier(.4,0,.2,1), visibility 0s linear 1100ms; }
.banner-live .banner-scene.is-current { display: block; visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
.glass-paused.banner-live .banner-scene { transition: none; }
@media (prefers-reduced-motion: reduce) { .banner-live .banner-scene { transition: none; } }
.banner-live .banner-stage .crystal-scene { height: 100%; }
.glass-pin { padding-block: 24px; }
.glass-heading { margin-bottom: 12px; }
.glass-controls { margin-top: 12px; }
.glass-tabs {
 --tabs-fade-left: 0px;
 --tabs-fade-right: 0px;
 mask-image: linear-gradient(to right, transparent, #000 var(--tabs-fade-left), #000 calc(100% - var(--tabs-fade-right)), transparent);
}
.glass-tabs::-webkit-scrollbar { display: none; }
.glass-tabs[data-more-left=true] { --tabs-fade-left: 22px; }
.glass-tabs[data-more-right=true] { --tabs-fade-right: 22px; }
.glass-tabs button:focus-visible { outline-offset: -4px; }
.glass-continue { display: flex; justify-content: space-between; margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--stroke); font: 13px/1.5 Arial,sans-serif; }
.glass-arrows button:disabled { opacity: .55; cursor: default; }
.glass-arrows button:disabled:hover { background: transparent; color: var(--text); }
@media (min-width:761px) {
 .banner-live .crystal-card { bottom: 8%; }
 .banner-live .crystal-copy { padding: 22px 28px; }
 .banner-live .crystal-card h3 { font-size: clamp(34px, 3.2vw, 48px); }
}
@media (max-width:760px) {
 .banner-live .banner-stage { height: clamp(440px, 56svh, 520px); }
 .glass-pin { padding-block: 16px; }
 .glass-heading { margin-bottom: 8px; }
 .glass-campaigns .crystal-card { box-shadow: inset 0 2px 2px #ffffffbd, 0 10px 20px #00151e33; }
 .glass-campaigns .crystal-image { box-shadow: none; }
 .glass-continue { margin-top: 12px; padding-top: 10px; font-size: 12px; }
}

.banner-live .glass-image-banner :is(a, picture, img) { height: 100%; }
.banner-live .glass-image-banner img { object-fit: contain; }
