/* Scoped banner styles; the original site layout is untouched. */
.curtain-banner{display:block;position:relative;overflow:hidden;border-radius:18px;background:#172f40;color:#fff;margin:12px 0 24px;min-height:310px;text-align:left;font-family:'Segoe UI',Arial,sans-serif;isolation:isolate}
.curtain-banner .cb-copy{padding:32px 36px;position:relative;z-index:3;width:56%;pointer-events:none}
.curtain-banner:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#172f40 0%,#172f40 40%,rgba(23,47,64,.95) 46%,rgba(23,47,64,.6) 53%,rgba(23,47,64,0) 65%);pointer-events:none}
.curtain-banner .cb-actions{pointer-events:auto}
.curtain-banner .cb-kicker{display:block;color:#f7c460;font-size:12px;font-weight:800;letter-spacing:1.3px;margin-bottom:15px}
.curtain-banner h2{font-size:clamp(30px,3.6vw,44px);font-weight:850;letter-spacing:-1px;line-height:1.08;margin:0 0 15px;color:#fff}
.curtain-banner p{font-size:15px;line-height:1.6;font-weight:400;margin:0;max-width:490px;color:#e2e9ef}
.curtain-banner .cb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.curtain-banner .cb-actions a,.curtain-banner .cb-actions button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;background:#8035c1;border:1px solid transparent;border-radius:7px;padding:12px 17px;min-height:44px;font:700 13px 'Segoe UI',sans-serif;cursor:pointer}
.curtain-banner .cb-actions button{background:#ffffff12;border-color:#ffffff50}
.curtain-banner .cb-stage{display:block;position:absolute;inset:0 0 0 40%;width:60%;min-width:0;min-height:310px;overflow:hidden;border:0;padding:0;border-radius:0;background:#0d2333;text-align:left;cursor:pointer;color:#fff;font:inherit}
.curtain-banner .cb-reveal{position:absolute;inset:0;display:block}
.curtain-banner .cb-reveal img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.curtain-banner .cb-caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;padding:45px 25px 24px;background:linear-gradient(transparent,#091b2dee);color:white}
.curtain-banner .cb-caption strong{font-size:22px}.curtain-banner .cb-caption>span{font-size:14px;margin-top:5px}
.curtain-banner .cb-hint{position:absolute;z-index:4;bottom:22px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#210711c9;border:1px solid #e4bd6966;border-radius:99px;padding:9px 16px;color:#ffe6ad;font-size:12px;transition:opacity .2s}
.curtain-banner .cb-original-curtains{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;pointer-events:none}
.curtain-banner.cb-open .cb-hint{opacity:0}
.curtain-banner .cb-stage{transition:left 1.25s .25s cubic-bezier(.2,.8,.2,1),width 1.25s .25s cubic-bezier(.2,.8,.2,1)}
.curtain-banner.cb-open .cb-stage{left:0;width:100%}
.curtain-banner .cb-copy{transition:transform 1.1s .25s ease,opacity .7s .25s ease}
.curtain-banner.cb-open .cb-copy{transform:translateX(-105%);opacity:0}
.curtain-banner:after{transition:transform 1.25s .25s cubic-bezier(.2,.8,.2,1)}
.curtain-banner.cb-open:after{transform:translateX(-100%)}
.curtain-banner .cb-reveal{background:#070c14}
.curtain-banner .cb-reveal img{object-fit:contain}
.curtain-banner .cb-wide-copy[hidden]{display:none}
.curtain-banner .cb-wide-copy{position:absolute;inset:0 auto 0 0;width:39%;padding:30px 26px 40px 48px;display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:left}
.curtain-banner .cb-wide-eyebrow{font-size:11px;font-weight:750;letter-spacing:1.8px;color:#c8a9f1;margin-bottom:16px}
.curtain-banner .cb-wide-copy strong{font-size:clamp(25px,3vw,39px);font-weight:800;line-height:1.1;letter-spacing:-.7px}
.curtain-banner .cb-wide-description{font-size:15px;line-height:1.6;color:#d3d9e5;margin-top:16px;max-width:310px}
.curtain-banner .cb-reveal[data-layout=dark]{background:linear-gradient(90deg,#131729 0%,#252b3c 38%,#323644 65%)}
.curtain-banner .cb-reveal[data-layout=mining]{background:linear-gradient(100deg,#201910,#373022 50%,#171d24)}
.curtain-banner .cb-reveal[data-layout=dark] img,.curtain-banner .cb-reveal[data-layout=mining] img{position:absolute;right:27px;top:16px;width:60%;height:calc(100% - 32px);object-fit:contain}
.curtain-banner .cb-reveal[data-layout=mining] .cb-wide-eyebrow{color:#efc079}
.curtain-banner .cb-reveal[data-layout=mining] .cb-wide-copy{width:45%}
.curtain-banner .cb-reveal[data-layout=mining] img{width:53%}
@media(max-width:700px){.curtain-banner .cb-wide-copy{padding:20px 12px 20px 30px;width:42%}.curtain-banner .cb-wide-copy strong{font-size:24px}.curtain-banner .cb-wide-description{font-size:12px;line-height:1.4;margin-top:10px}.curtain-banner .cb-wide-eyebrow{font-size:9px;letter-spacing:.7px;margin-bottom:10px}.curtain-banner .cb-reveal[data-layout=dark] img,.curtain-banner .cb-reveal[data-layout=mining] img{right:12px;width:55%}}
.curtain-banner .cb-feature-link{position:absolute;inset:0;z-index:5;display:flex;justify-content:flex-end;align-items:flex-end;padding:12px;opacity:0;visibility:hidden;pointer-events:none;text-decoration:none;transition:opacity .25s}
.curtain-banner.cb-open .cb-feature-link{opacity:1;visibility:visible;pointer-events:auto}
.curtain-banner .cb-feature-link span{background:#172f40eb;color:#ffe1a1;border:1px solid #c79a4b;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:700}
/* Small side arrows; the image remains the article link. */
.curtain-banner .cb-slides{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s}
.curtain-banner.cb-open .cb-slides{opacity:1;visibility:visible}
.curtain-banner .cb-prev,.curtain-banner .cb-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:48px;border:0;border-radius:6px;background:transparent;color:rgba(255,255,255,.65);text-shadow:0 1px 5px #0009;font:300 34px/1 'Segoe UI',sans-serif;cursor:pointer;pointer-events:auto;transition:color .15s,background .15s}
.curtain-banner .cb-prev{left:7px}.curtain-banner .cb-next{right:7px}
.curtain-banner .cb-prev:hover,.curtain-banner .cb-next:hover,.curtain-banner .cb-slides button:focus-visible{color:#fff;background:#0002}
.curtain-banner .cb-slide-count{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.curtain-banner :focus-visible{outline:3px solid #ffdb83;outline-offset:-4px}
.cb-trailer{width:min(960px,94vw);max-width:94vw;border:0;border-radius:12px;padding:38px 12px 12px;background:#172f40;color:#fff;box-shadow:0 25px 90px #0008}
.cb-trailer::backdrop{background:#06111dd9}.cb-trailer video{display:block;width:100%;max-height:78vh}.cb-trailer .cb-close{position:absolute;top:5px;right:12px;font-size:28px;background:none;border:0;color:#fff;cursor:pointer}
@media(max-width:700px){.curtain-banner .cb-copy{padding:26px;width:100%}.curtain-banner:after{display:none}.curtain-banner .cb-stage{position:relative;inset:auto;width:100%;min-height:280px}.curtain-banner h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.curtain-banner .cb-curtain-panel,.curtain-banner .cb-curtain-valance,.curtain-banner .cb-hint{transition:none!important}}

.curtain-banner .cb-reveal[data-fit=contain]>img{object-fit:contain;background:#182936}

.curtain-banner .cb-reveal[data-layout=groove]{background:linear-gradient(100deg,#192c37,#253e4a)}
.curtain-banner .cb-reveal[data-layout=groove]>img{position:absolute;right:20px;top:15px;width:59%;height:calc(100% - 30px);object-fit:contain;background:transparent}
.curtain-banner .cb-reveal[data-layout=groove] .cb-wide-eyebrow{color:#f4d28c}
@media(max-width:700px){.curtain-banner .cb-reveal[data-layout=groove]>img{right:10px;width:55%}}
