/* Scoped to the existing cabinet welcome. The original artwork is untouched. */
.cab-banner [hidden] { display:none!important; }
.cab-banner .cab-banner-slides { display:grid; }
.cab-banner .cab-banner-slide { min-width:0; grid-area:1/1; animation:cab-banner-reveal .22s ease-out; }
.cab-banner .cab-banner-slide :is(h1,h2) { font:780 clamp(33px,3.4vw,49px)/1.08 var(--font-sans); letter-spacing:-.045em; margin:15px 0 20px; }
.cab-banner .cab-banner-slide h2 em { font-style:normal; color:var(--text); text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:6px; text-underline-offset:7px; text-decoration-skip-ink:none; }
.cab-banner .cab-banner-slide p { min-height:70px; }
.cab-banner .hero-benefits { flex-wrap:wrap; }
.cab-banner .cab-banner-controls { display:flex; align-items:center; gap:7px; margin-top:22px; }
.cab-banner .cab-banner-controls button { display:grid; place-items:center; flex:none; width:36px; height:36px; min-height:36px; padding:0; border:1px solid var(--border); border-radius:50%; background:var(--panel); color:var(--text); font-size:16px; cursor:pointer; }
.cab-banner .cab-banner-controls button:hover { background:var(--hover); }
.cab-banner .cab-banner-controls button:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.cab-banner .cab-banner-dots { display:flex; align-items:center; gap:0; }
.cab-banner .cab-banner-dots button { width:26px; height:36px; border:0; background:transparent; }
.cab-banner .cab-banner-dots button::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--muted); opacity:.45; }
.cab-banner .cab-banner-dots button[aria-pressed=true]::before { width:18px; border-radius:5px; background:var(--text); opacity:1; }
.cab-banner .cab-banner-controls .cab-banner-pause { width:auto; min-width:82px; border-radius:7px; padding-inline:10px; font-size:11px; margin-left:4px; }
.cab-banner .cab-banner-pause:disabled { cursor:default; color:var(--muted); opacity:1; border-color:transparent; background:transparent; }
:root[data-theme=dark] .cab-banner .cab-banner-slide h2 em { color:var(--accent); text-decoration:none; }
@keyframes cab-banner-reveal { from { opacity:.45; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1150px) { .cab-banner .cab-banner-slide :is(h1,h2) { font-size:38px; } }
@media (max-width:650px) {
 .cab-banner .cab-banner-slide :is(h1,h2) { font-size:clamp(28px,8vw,37px); }
 .cab-banner .cab-banner-slide p { min-height:92px; }
 .cab-banner .cab-banner-controls { gap:5px; }
 .cab-banner .cab-banner-controls .cab-banner-pause { margin-left:auto; min-width:76px; }
}
@media (prefers-reduced-motion:reduce) { .cab-banner .cab-banner-slide { animation:none; } }
/* Compact account-mode card. Variables and typography stay inside the card. */
.account-welcome { --font-sans:system-ui,-apple-system,sans-serif; --text:#25252a; --muted:#62666e; --panel:#fff; --border:#dddfe4; --accent:#ffdd00; --focus:#876f00; --hover:#f7f6f2; display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:center; gap:24px; background:var(--panel); border:1px solid var(--border); border-radius:18px; padding:28px; margin:20px 0; overflow:hidden; }
.account-welcome .cab-welcome-copy { min-width:0; }
.account-welcome .eyebrow { font-size:10px; letter-spacing:.12em; font-weight:650; color:var(--muted); }
.account-welcome .cab-banner-slide h2 { font-size:34px; margin:12px 0 18px; }
.account-welcome .cab-banner-slide p { min-height:66px; margin:0 0 20px; font-size:14px; line-height:1.6; color:var(--muted); max-width:500px; }
.account-welcome .hero-create { display:inline-flex; align-items:center; min-height:42px; padding:9px 16px; background:var(--accent); color:var(--text); font-size:13px; font-weight:650; text-decoration:none; border-radius:8px; }
.account-welcome .hero-benefits { margin-top:15px; color:var(--muted); font-size:11px; line-height:1.6; }
.account-welcome .account-banner-art { display:block; width:100%; max-height:260px; object-fit:contain; }
.account-welcome .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:650px) {
 .account-welcome { grid-template-columns:minmax(0,1fr); padding:22px; gap:16px; }
 .account-welcome .cab-banner-slide h2 { font-size:29px; }
 .account-welcome .cab-banner-slide p { min-height:112px; }
 .account-welcome .account-banner-art { display:none; }
}
@media(max-width:360px) {
 .cab-banner .cab-banner-controls { gap:4px; }
 .cab-banner .cab-banner-controls > button:not(.cab-banner-pause) { width:32px; }
 .cab-banner .cab-banner-dots button { width:22px; }
 .cab-banner .cab-banner-controls .cab-banner-pause { padding-inline:7px; min-width:0; font-size:10px; }
}
