/* StockRepublic offer slide (agent E; decluttered in round 2 by agent K2). Everything is scoped under .jo-offer and uses
   the engine tokens in ../research-deck/styles.css. The low strip reproduces the "About us" slide (02/29) of
   Mason's approach deck: light logo tiles in grayscale that colour on hover, a moving logo row, then the advisor
   logos. Overflow stays visible on desktop so card shadows are not cut into hard-edged boxes; mount() steps the
   sizes down (jo-c1, jo-c2) if the content would not fit above the footer. */
.jo-offer{--jo-gap:clamp(12px,2.4vh,26px);--jo-ls:.85;--jo-tile:clamp(38px,5.6vh,64px);flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:visible}
.jo-offer .jo-in{margin-block:auto;display:flex;flex-direction:column;gap:var(--jo-gap);min-width:0}
.jo-offer .jo-head{display:flex;flex-direction:column;gap:10px;animation:joUp .6s var(--ease) both}
.jo-offer .eyebrow{font-size:12px}
.jo-offer .jo-h1{font-size:clamp(30px,min(3.4vw,6vh),56px);line-height:1.06;max-width:none}
.jo-offer .jo-k{font-size:clamp(12.5px,1.35vh,14px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.jo-offer .jo-kb{color:var(--blue)}
/* price cards: label and price on top, one line at the foot (aligned with the money-back chip) */
.jo-offer .jo-price{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.18fr);gap:12px}
.jo-offer .jo-card{position:relative;overflow:hidden;border-radius:24px;padding:clamp(14px,2.4vh,28px) clamp(16px,1.7vw,28px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(8px,1.4vh,14px);min-height:clamp(150px,calc(32vh - 70px),275px);animation:joUp .7s var(--ease) both;animation-delay:calc(var(--i,0)*90ms + 120ms)}
.jo-offer .jo-p{font-family:Montserrat,Inter,sans-serif;font-size:clamp(32px,6vh,66px);font-weight:500;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.jo-offer .jo-d{margin:auto 0 0;padding-block:8px;font-size:clamp(13px,1.9vh,16.5px);line-height:1.4;color:var(--muted)}
.jo-offer .jo-both{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(246,248,255,.94)) padding-box,var(--grad) border-box;border:1.5px solid transparent;box-shadow:0 26px 64px rgba(102,51,153,.20),0 2px 6px rgba(50,16,85,.06)}
.jo-offer .jo-orb{position:absolute;right:-90px;top:-110px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(153,76,229,.22),transparent 70%);pointer-events:none}
.jo-offer .jo-guar{position:relative;margin-top:auto;align-self:stretch;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:rgba(102,51,153,.10);color:#663399;font-weight:600;font-size:clamp(13px,1.9vh,16px);line-height:1.35}
.jo-offer .jo-guar svg{flex:none}
/* sign-now terms */
.jo-offer .jo-now{grid-column:1/-1;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:clamp(16px,3vw,48px);align-items:center;border-radius:24px;padding:clamp(14px,2.2vh,26px) clamp(18px,2.2vw,32px);background:linear-gradient(160deg,#1C062F,#321055);color:#fff;box-shadow:0 24px 60px rgba(15,31,77,.28);animation:joUp .7s var(--ease) .45s both}
.jo-offer .jo-glow{position:absolute;left:-120px;bottom:-200px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(179,128,241,.30),transparent 68%);pointer-events:none}
.jo-offer .jo-now-copy{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
.jo-offer .jo-now .jo-k{color:#B380F1}
.jo-offer .jo-big{font-family:Montserrat,Inter,sans-serif;font-size:clamp(26px,4.6vh,48px);font-weight:500;letter-spacing:-.04em;line-height:1.05;color:#fff}
.jo-offer .jo-big span{color:#B380F1;font-variant-numeric:tabular-nums}
.jo-offer .jo-bar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4fr);gap:6px;min-width:0}
.jo-offer .jo-seg{border-radius:14px;padding:clamp(8px,1.4vh,13px) clamp(10px,1vw,15px);display:flex;flex-direction:column;gap:2px;min-width:0}
.jo-offer .jo-sl{font-size:clamp(12px,1.25vh,13.5px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jo-offer .jo-seg b{font-family:Montserrat,Inter,sans-serif;font-size:clamp(17px,2.6vh,25px);font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.jo-offer .jo-seg.now{background:linear-gradient(135deg,#E0D6EB,#B380F1);color:var(--ink);box-shadow:0 12px 30px rgba(255,178,26,.35);animation:joGrow .8s var(--ease) .9s both}
.jo-offer .jo-seg.now .jo-sl{color:rgba(28,6,47,.7)}
.jo-offer .jo-seg.later{border:1.5px dashed rgba(255,255,255,.34);background:rgba(255,255,255,.04);animation:joFade .8s var(--ease) 1.25s both}
.jo-offer .jo-seg.later .jo-sl{color:rgba(255,255,255,.66)}
/* low strip: worked-with logos (3/5) and advisors (2/5) */
.jo-offer .jo-trust{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);border-radius:22px;padding:clamp(10px,1.6vh,16px) clamp(14px,1.6vw,22px);animation:joUp .7s var(--ease) .6s both}
.jo-offer .jo-worked,.jo-offer .jo-advisors{display:flex;flex-direction:column;gap:8px;min-width:0}
.jo-offer .jo-worked{padding-right:clamp(14px,1.6vw,22px);border-right:.75px solid var(--line2)}
.jo-offer .jo-advisors{padding-left:clamp(14px,1.6vw,22px)}
.jo-offer .jo-lab{display:inline-flex;align-items:center;gap:9px;font-size:clamp(12px,1.25vh,13.5px);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.jo-offer .jo-lab::before{content:"";width:6px;height:6px;border-radius:50%;background:rgba(28,6,47,.25);flex:none}
.jo-offer .jo-advisors .jo-lab::before{background:var(--accent)}
.jo-offer .jo-marquee{position:relative;overflow:hidden;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.jo-offer .jo-track{display:flex;width:max-content;animation:joMarq 46s linear infinite;will-change:transform}
.jo-offer .jo-marquee:hover .jo-track,body.paused .jo-offer .jo-track{animation-play-state:paused}
.jo-offer .jo-set{display:flex;gap:6px;padding-right:6px}
.jo-offer .jo-logo{flex:none;width:clamp(100px,8.6vw,150px);height:var(--jo-tile);display:grid;place-items:center;border-radius:14px;background:#EFEBF3;box-shadow:inset 0 0 0 .75px rgba(28,6,47,.06)}
.jo-offer .jo-logo img{width:auto;max-width:70%;height:calc(var(--h,22) * var(--jo-ls) * 1px);object-fit:contain;filter:grayscale(1) brightness(.5) contrast(1.3);opacity:.62;transition:filter .4s,opacity .4s}
.jo-offer .jo-logo:hover img{filter:none;opacity:1}
.jo-offer .jo-adv{display:flex;align-items:center;justify-content:space-between;gap:clamp(10px,1.4vw,22px);height:var(--jo-tile);min-width:0}
.jo-offer .jo-adv span{flex:0 1 auto;min-width:0;display:flex;align-items:center;justify-content:center}
.jo-offer .jo-adv img{width:auto;max-width:100%;height:calc(var(--h,22) * var(--jo-ls) * 1px);object-fit:contain;filter:grayscale(1) brightness(.5) contrast(1.3);opacity:.55}
@keyframes joUp{from{opacity:0;transform:translateY(14px)}}
@keyframes joFade{from{opacity:0}}
@keyframes joGrow{from{opacity:.4;clip-path:inset(0 80% 0 0 round 14px)}to{clip-path:inset(0 0 0 0 round 14px)}}
@keyframes joMarq{to{transform:translateX(-50%)}}
/* auto-fit steps, added by mount() only when the content would not fit the slide */
.jo-offer.jo-c1{--jo-gap:10px;--jo-tile:38px;--jo-ls:.75}
.jo-offer.jo-c1 .jo-h1{font-size:clamp(26px,min(2.8vw,5vh),44px)}
.jo-offer.jo-c1 .jo-card{min-height:0;padding:12px 16px;gap:6px}
.jo-offer.jo-c1 .jo-p{font-size:clamp(28px,5vh,52px)}
.jo-offer.jo-c1 .jo-d{font-size:13px;padding-block:4px}
.jo-offer.jo-c1 .jo-now{padding:12px 20px}
.jo-offer.jo-c1 .jo-big{font-size:clamp(22px,3.8vh,40px)}
.jo-offer.jo-c1 .jo-trust{padding:8px 16px}
.jo-offer.jo-c2 .jo-head .eyebrow{display:none}
.jo-offer.jo-c2 .jo-guar{padding:6px 10px}
/* narrow screens: stack and let the slide scroll by touch or wheel */
@media (max-width:1000px){.jo-offer .jo-now{grid-template-columns:1fr}.jo-offer .jo-bar{grid-template-columns:minmax(0,1fr) minmax(0,2.4fr)}}
@media (max-width:760px){
 .jo-offer{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
 .jo-offer .jo-in{margin-block:0 8px}
 .jo-offer .jo-h1{font-size:28px}
 .jo-offer .jo-price{grid-template-columns:1fr}
 .jo-offer .jo-card{min-height:0}
 .jo-offer .jo-trust{grid-template-columns:1fr;gap:14px}
 .jo-offer .jo-worked{padding-right:0;border-right:0;padding-bottom:14px;border-bottom:.75px solid var(--line2)}
 .jo-offer .jo-advisors{padding-left:0}
 .jo-offer .jo-adv{flex-wrap:wrap;justify-content:space-around;height:auto;row-gap:10px}
 .jo-offer .jo-adv span{height:44px}
 .jo-offer .jo-sl{white-space:normal}
}
@media (prefers-reduced-motion:reduce){.jo-offer .jo-track{animation:none!important;transform:none}.jo-offer *{animation:none!important}}
