/* Member surfaces; existing brand rotation remains in legacy-vision.css. */
.lv-root.lv-portal{--lv-ink:#22272b;--lv-muted:#606970;--lv-gold:#d2bc92;--lv-gold-dark:#8c692f;--lv-sidebar-bg:#24292c;--lv-border:#e0e4e3;--lv-warm:#f5f6f5;--lv-radius:8px;--lv-surface-shadow:0 1px 2px rgba(25,35,40,.025);background:var(--lv-warm);color:var(--lv-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.lv-root.lv-portal .lv-sidebar{background:var(--lv-sidebar-bg);border-right-color:#343b3f;gap:24px;position:sticky;top:0;align-self:start;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#596065 #24292c}
.lv-root.lv-portal .lv-sidebar-label{color:#aeb7bb!important;letter-spacing:.13em;font-size:.65rem}
.lv-root.lv-portal .lv-sidebar-nav{gap:4px;margin-top:14px}
.lv-root.lv-portal .lv-sidebar-nav a{padding:11px 12px;min-height:48px;gap:12px;border:1px solid transparent;border-radius:7px;background:transparent;color:#e9edef!important;font-size:.88rem;line-height:1.4;justify-content:flex-start;box-shadow:none;transform:none}
.lv-root.lv-portal .lv-sidebar-nav a .lv-nav-label{color:#e9edef!important;font-size:inherit}
.lv-root.lv-portal .lv-sidebar-nav a>svg{width:24px;height:24px;color:#d1b884;stroke-width:1.65}
.lv-root.lv-portal .lv-sidebar-nav a[aria-current=page]{background:#353d42;border-color:#353d42;box-shadow:inset 3px 0 #d1b884;font-weight:650}
.lv-root.lv-portal .lv-sidebar-nav a[aria-current=page] .lv-nav-label{color:#fff!important}
.lv-root.lv-portal .lv-sidebar-nav a[aria-current=page]>svg{color:#e1c99b}
.lv-root.lv-portal .lv-sidebar-nav a:hover{background:#30373c;border-color:#414a50}
.lv-root.lv-portal .lv-sidebar-nav a:focus-visible{outline:2px solid #dec694;outline-offset:2px}
.lv-root.lv-portal .lv-sidebar-end{color:#d9dfe2!important;border-top:1px solid #454d52;padding-top:18px}
.lv-root.lv-portal .lv-sidebar-header .lv-menu-toggle{background:#2d3438;border-color:#536068;color:#e7edef!important}
.lv-root.lv-portal .lv-sidebar-header .lv-menu-toggle svg{stroke:#e7edef}
.lv-root.lv-portal .lv-sidebar-header .lv-menu-toggle span{color:inherit!important}
.lv-root.lv-portal .lv-sidebar-header .lv-menu-toggle:hover{background:#394248;border-color:#76838a}
.lv-root.lv-portal .lv-topbar{background:#fff;border-bottom-color:var(--lv-border);color:#606970}
.lv-root.lv-portal .lv-member-content{padding-top:32px;padding-bottom:40px}
.lv-root.lv-portal .lv-welcome-banner{background:#fff;min-height:0;padding:28px 30px;border:1px solid var(--lv-border);border-radius:8px;box-shadow:none;align-items:center}
.lv-root.lv-portal .lv-welcome-copy{width:100%;max-width:780px}
.lv-root.lv-portal .lv-welcome-copy h1.lv-welcome-heading{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.13;letter-spacing:-.035em}
.lv-root.lv-portal .lv-welcome-copy h1.lv-welcome-heading>span+span{color:#9a7843!important}
.lv-root.lv-portal .lv-welcome-copy .lv-eyebrow{margin-bottom:12px!important;color:#8c692f!important;font-size:.67rem}
.lv-root.lv-portal .lv-welcome-copy .lv-lead{font-size:.95rem;line-height:1.65;color:#515b62!important;margin-top:14px!important}
.lv-root.lv-portal :where(.lv-card,.lv-next-session,.lv-access-conditions,.lv-result-figure,.lv-empty,.lv-week-layout){border-color:var(--lv-border);border-radius:8px;box-shadow:var(--lv-surface-shadow)}
.lv-root.lv-portal .lv-card{background:#fff}
.lv-root.lv-portal .lv-card>svg{color:#9a7843;width:32px;height:32px;margin-bottom:18px;stroke-width:1.65}
.lv-root.lv-portal .lv-next-session{background:#fff;padding:24px;border-color:var(--lv-border);box-shadow:none}
.lv-root.lv-portal .lv-next-date{color:#515b62!important}
.lv-root.lv-portal .lv-countdown>div{background:#f5f6f4;border-color:#e4e7e4;border-radius:6px;box-shadow:none}
.lv-root.lv-portal .lv-countdown strong{color:#70572f!important}
.lv-root.lv-portal .lv-button{background:#d2bc92;border-color:#c5ac7c;border-radius:6px;color:#24292c!important;box-shadow:none;font-weight:650}
.lv-root.lv-portal .lv-button:hover:not(:disabled){background:#c7ad7e;border-color:#b59862;box-shadow:none;transform:none}
.lv-root.lv-portal .lv-button-outline{background:#fff;border-color:#bca371;color:#765a2e!important}
.lv-root.lv-portal .lv-button-outline:hover:not(:disabled){background:#f7f4ed;border-color:#a68a56}
.lv-root.lv-portal .lv-tab{border-radius:6px;color:#515b62}
.lv-root.lv-portal .lv-tab[aria-selected=true]{background:#f0e9db;border-color:#d1bf9d;color:#3b352c}
.lv-root.lv-portal .lv-course-icon{background:#f5f5f0;border-radius:6px;color:#9a7843}
.lv-root.lv-portal .lv-member-footer{color:#71797c}
.lv-root.lv-portal .lv-access-conditions{background:#fff}
.lv-root.lv-portal .lv-access-conditions>summary{color:#515b62}
.lv-root.lv-portal :where(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea){color:#22272b;-webkit-text-fill-color:#22272b;background-color:#fff;border-color:#cbd1d1;border-radius:6px}
.lv-root.lv-portal :where(input,select,textarea)::placeholder{color:#687379;-webkit-text-fill-color:#687379;opacity:1}
.lv-root.lv-portal :where(input,select,textarea):focus-visible{outline-color:#997437}
.lv-root.lv-portal.lv-nav-collapsed .lv-sidebar-nav a{padding:12px 8px;min-height:52px;justify-content:center;gap:0}
@media(max-width:1100px) and (min-width:801px){.lv-root.lv-portal .lv-sidebar-nav a{padding-inline:8px;gap:10px;font-size:.8rem}}
@media(max-width:800px){
 .lv-root.lv-portal.lv-navigation-ready .lv-sidebar{position:static;height:auto;overflow:visible;overscroll-behavior:auto;gap:14px}
 .lv-root.lv-portal.lv-navigation-ready .lv-sidebar-nav{border-top-color:#485259;gap:6px}
 .lv-root.lv-portal.lv-navigation-ready .lv-sidebar-nav a{min-height:64px;padding:10px 7px;gap:7px;justify-content:center;font-size:.77rem}
 .lv-root.lv-portal .lv-sidebar-nav a>svg{width:23px;height:23px}
 .lv-root.lv-portal .lv-member-content{padding-top:24px}
 .lv-root.lv-portal .lv-welcome-banner{padding:24px 22px;min-height:0;background:#fff}
 .lv-root.lv-portal .lv-welcome-copy{width:100%;max-width:none}
 .lv-root.lv-portal .lv-welcome-copy h1.lv-welcome-heading{font-size:clamp(1.5rem,6.4vw,1.9rem)}
 .lv-root.lv-portal .lv-next-session{padding:20px}
}
@media(prefers-reduced-motion:no-preference){.lv-root.lv-portal .lv-sidebar-nav a{transition:background .15s ease,border-color .15s ease}}

/* Welcome photograph opposite the free-standing gold emblem. */
.lv-root.lv-portal .lv-symbol-scene .lv-logo-face{border-radius:0;overflow:visible;background:transparent}
.lv-root.lv-portal .lv-gold-symbol{display:block;width:100%;height:100%;background-color:#b99a55;-webkit-mask:url('legacy-lion-symbol.png') center/contain no-repeat;mask:url('legacy-lion-symbol.png') center/contain no-repeat}
.lv-root.lv-portal .lv-welcome-banner{display:grid;grid-template-columns:180px minmax(0,1fr) 112px;gap:24px;align-items:center;padding:28px;background:var(--lv-sidebar-bg);border-color:var(--lv-sidebar-bg)}
.lv-root.lv-portal .lv-welcome-photo{position:relative;align-self:stretch;min-width:0;min-height:210px;margin:0;border-radius:6px;overflow:hidden;background:#24292c}
.lv-root.lv-portal .lv-welcome-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:90% center}
.lv-root.lv-portal .lv-welcome-banner .lv-welcome-copy{width:100%;max-width:none}
.lv-root.lv-portal .lv-welcome-banner .lv-welcome-copy h1.lv-welcome-heading>span{color:#f4f6f7!important}
.lv-root.lv-portal .lv-welcome-banner .lv-welcome-copy h1.lv-welcome-heading>span+span{color:#d3bb89!important}
.lv-root.lv-portal .lv-welcome-banner .lv-welcome-copy .lv-eyebrow{color:#d3bb89!important}
.lv-root.lv-portal .lv-welcome-banner .lv-welcome-copy .lv-lead{color:#d8dee1!important}
.lv-root.lv-portal .lv-welcome-emblem{display:grid;place-items:center;min-width:0}
.lv-root.lv-portal .lv-welcome-emblem .lv-brand{width:100%;padding:0;justify-content:center}
.lv-root.lv-portal .lv-welcome-emblem .lv-logo-scene{width:112px;max-width:100%}
@media(max-width:1100px) and (min-width:801px){
 .lv-root.lv-portal .lv-welcome-banner{grid-template-columns:140px minmax(0,1fr) 88px;gap:18px;padding:24px}
 .lv-root.lv-portal .lv-welcome-banner .lv-welcome-copy h1.lv-welcome-heading{font-size:clamp(1.3rem,2.65vw,1.9rem)}
 .lv-root.lv-portal .lv-welcome-emblem .lv-logo-scene{width:88px}
}
@media(max-width:800px){
 .lv-root.lv-portal .lv-welcome-banner{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding:22px}
 .lv-root.lv-portal .lv-welcome-photo{grid-column:1;grid-row:1;min-height:150px;max-width:136px;width:100%;height:150px}
 .lv-root.lv-portal .lv-welcome-emblem{grid-column:2;grid-row:1;justify-self:end;width:100%;max-width:116px}
 .lv-root.lv-portal .lv-welcome-emblem .lv-logo-scene{width:clamp(80px,25vw,110px)}
 .lv-root.lv-portal .lv-welcome-copy{grid-column:1/-1;grid-row:2}
}

/* Shared decorative background across the protected member views. */
.lv-root.lv-portal{position:relative;isolation:isolate}
.lv-root.lv-portal>.lv-member-watermark{position:fixed;inset:0;z-index:0;display:grid;place-items:center;overflow:hidden;pointer-events:none;perspective:1600px}
.lv-root.lv-portal .lv-member-watermark .lv-login-watermark-rotor{position:relative;width:min(112vw,1120px);aspect-ratio:1;transform-style:preserve-3d;transform-origin:center}
.lv-root.lv-portal .lv-member-watermark .lv-login-watermark-rotor>span{position:absolute;inset:0;display:block;opacity:.12;background:#d2bc92;-webkit-mask:url('legacy-lion-symbol.png') center/contain no-repeat;mask:url('legacy-lion-symbol.png') center/contain no-repeat;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.lv-root.lv-portal .lv-member-watermark .lv-login-watermark-front{transform:translateZ(1px)}
.lv-root.lv-portal .lv-member-watermark .lv-login-watermark-back{transform:rotateY(180deg) translateZ(1px)}
.lv-root.lv-portal>.lv-sidebar{z-index:1}
.lv-root.lv-portal>.lv-main{position:relative;z-index:1}
@keyframes lv-member-watermark-turn{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
@media(prefers-reduced-motion:no-preference){.lv-root.lv-portal .lv-member-watermark .lv-login-watermark-rotor{animation:lv-member-watermark-turn 32s linear infinite;will-change:transform}body.lv-login-paused .lv-root.lv-portal .lv-member-watermark .lv-login-watermark-rotor{animation-play-state:paused}}
@media(prefers-reduced-motion:reduce){.lv-root.lv-portal .lv-member-watermark .lv-login-watermark-rotor{animation:none;transform:none}}
@media(max-width:800px){.lv-root.lv-portal.lv-navigation-ready>.lv-sidebar{position:relative}}
@media(max-width:480px){.lv-root.lv-portal .lv-member-watermark .lv-login-watermark-rotor{width:170vw;max-width:760px}}
