ssu-membership { display: block; }
:host { display: block; }
.ssu-membership { color: #e4dcc6; font: 16px/1.65 'DM Sans', sans-serif; text-shadow: none; }
.ssu-membership * { box-sizing: border-box; }
.ssu-membership h2, .ssu-membership h3 { font-family: 'Cormorant Garamond', serif; font-weight: 400; color: #f3dd95; }
.ssu-membership h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.15; margin: 0 0 28px; }
.ssu-membership h3 { font-size: 25px; margin: 0 0 12px; }
.ssu-card { display: grid; grid-template-columns: 1.2fr 1fr; gap: 44px; padding: 42px; border: 1px solid rgba(200,146,42,.32); border-radius: 6px; background: linear-gradient(158deg,rgba(18,22,48,.94),rgba(11,14,30,.90)); box-shadow: 0 26px 72px rgba(0,0,0,.6); }
.ssu-card ul { padding-left: 20px; margin: 0; }
.ssu-card li { padding: 9px 0; border-bottom: 1px solid rgba(200,146,42,.14); }
.ssu-card li::marker { color: #e8b73f; }
.ssu-box { align-self: center; text-align: center; min-width: 0; }
.ssu-switch { display: flex; width: max-content; max-width: 100%; margin: 0 auto 26px; padding: 5px; border: 1px solid #c8922a; border-radius: 99px; background: #111009; gap: 3px; }
.ssu-switch button { border: 0; border-radius: 99px; padding: 11px 16px; background: transparent; color: #e4dcc6; cursor: pointer; font: 500 14px 'DM Sans',sans-serif; }
.ssu-switch button[aria-pressed=true] { background: #e8b73f; color: #111009; }
.ssu-best { display: inline-block; font-size: 10px; margin-left: 4px; }
.ssu-price strong { font: 400 64px/1.15 'Cormorant Garamond',serif; color: #f3dd95; }
.ssu-price span { white-space: nowrap; }
.ssu-note { min-height: 80px; margin: 14px 0 22px; }
.ssu-join { display: block; background: #e8b73f; color: #111009; padding: 17px 20px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; text-decoration: none; }
.ssu-login, .ssu-extra { font-size: 13px; line-height: 1.65; }
.ssu-membership a:not(.ssu-join) { color: #e4dcc6; text-underline-offset: 3px; }
.ssu-membership a:hover { filter: brightness(1.15); }
.ssu-membership :focus-visible { outline: 2px solid #f3dd95; outline-offset: 4px; }
.ssu-comparison .ssu-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.ssu-comparison .ssu-card { display: flex; flex-direction: column; gap: 28px; padding: 28px; }
.ssu-comparison .ssu-content { flex: 1; }
.ssu-comparison .ssu-box { width: 100%; }
.ssu-library { margin-top: 30px; }
.ssu-library summary { cursor: pointer; color: #f3dd95; }
.ssu-page { max-width: 1240px; margin: auto; padding: 80px 32px; font-family: 'DM Sans',sans-serif; line-height: 1.7; }
.ssu-page h1, .ssu-page h2 { font-family: 'Cormorant Garamond',serif; color: #f3dd95; font-weight: 400; }
.ssu-page h1 { font-size: 56px; line-height: 1.15; }
.ssu-hero { text-align: center; padding-bottom: 55px; }
.ssu-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; padding: 30px; border: 1px solid rgba(200,146,42,.3); }
.ssu-faq { max-width: 850px; margin: 65px auto 0; }
.ssu-faq details { padding: 20px 0; border-bottom: 1px solid rgba(200,146,42,.3); }
.ssu-faq summary { cursor: pointer; color: #f3dd95; }
@media(max-width:1000px) { .ssu-comparison .ssu-cards { grid-template-columns: 1fr; } }
@media(max-width:760px) { .ssu-card { grid-template-columns: 1fr; padding: 25px; gap: 28px; } .ssu-steps { grid-template-columns: 1fr; } .ssu-page { padding: 55px 22px; } .ssu-note { min-height: 0; } }
/* Keep the added navigation destination available on narrow course pages. */
@media(max-width:1100px) { nav { padding: 14px 22px !important; flex-wrap: wrap; gap: 12px; } nav > div:last-child { flex-wrap: wrap; gap: 14px !important; } }

/* Bundle picture: every course in the level, across the top of the card. */
.ssu-bundle { grid-column: 1 / -1; display: block; width: 100%; height: auto; border-radius: 6px; border: 1px solid rgba(200,146,42,.32); box-shadow: 0 18px 50px rgba(0,0,0,.5); }
.ssu-comparison .ssu-bundle { border-radius: 4px; }
.ssu-guarantee { margin: 14px 0 0; font-size: 13px; letter-spacing: .04em; color: #d9b25a; }
/* Light version (same slide on a white card), for pages that sell on a light ground. */
.ssu-light { color: #2a2f45; }
.ssu-light h2, .ssu-light h3 { color: #1b2440; }
.ssu-light .ssu-card { background: #ffffff; border-color: #e5dfcf; box-shadow: 0 18px 54px rgba(20,24,48,.16); }
.ssu-light .ssu-card li { border-bottom-color: #eee8d9; }
.ssu-light .ssu-card li::marker { color: #b8891f; }
.ssu-light .ssu-switch { background: #f4f1e8; border-color: #d8cfb8; }
.ssu-light .ssu-switch button { color: #2a2f45; }
.ssu-light .ssu-switch button[aria-pressed=true] { background: #1b2440; color: #ffffff; }
.ssu-light .ssu-price strong { color: #1b2440; }
.ssu-light .ssu-join { background: #e8b73f; color: #111009; box-shadow: 0 8px 22px rgba(232,183,63,.35); }
.ssu-light .ssu-guarantee { color: #8a6a17; }
.ssu-light a:not(.ssu-join) { color: #2a2f45; }
.ssu-light .ssu-bundle { border-color: #e5dfcf; box-shadow: 0 12px 36px rgba(20,24,48,.18); }
.ssu-light .ssu-library summary { color: #1b2440; }

/* Course-page slide (one level): heading block, bundle picture, then what is included beside the price box. */
.ssu-solo .ssu-head { grid-column: 1 / -1; text-align: center; max-width: 860px; margin: 0 auto; }
.ssu-eyebrow { margin: 0 0 12px; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: #d9b25a; font-weight: 600; }
.ssu-solo .ssu-head h2 { font-style: italic; font-size: clamp(32px, 3.6vw, 50px); margin: 0 0 14px; }
.ssu-lede { margin: 0; font-size: 18px; color: inherit; opacity: .9; }
.ssu-num { list-style: none; padding: 0; margin: 0; }
.ssu-num li { display: flex; gap: 16px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid rgba(200,146,42,.14); }
.ssu-num li span { font: 400 22px/1 'Cormorant Garamond', serif; color: #e8b73f; flex-shrink: 0; min-width: 30px; }
.ssu-label { margin: 0 0 18px; font-size: 15px; letter-spacing: .06em; opacity: .85; }
.ssu-light .ssu-eyebrow { color: #8a6a17; }
.ssu-light .ssu-num li { border-bottom-color: #eee8d9; }
.ssu-light .ssu-num li span { color: #b8891f; }

/* Phone overrides also apply inside each membership shadow root. */
@media (max-width: 760px) {
  .ssu-solo { grid-template-columns: minmax(0, 1fr); }
  .ssu-solo > * { min-width: 0; max-width: 100%; }
  .ssu-solo .ssu-content { grid-column: 1; }
  .ssu-solo .ssu-box { grid-column: 1; width: 100%; }
  .ssu-switch button, .ssu-join, .ssu-library summary { min-height: 44px; }
  .ssu-join, .ssu-login, .ssu-extra, .ssu-guarantee { font-size: 14px; }
  .ssu-best { font-size: 14px; }
  .ssu-login a { overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
  .ssu-card, .ssu-comparison .ssu-card { padding: 20px 12px; gap: 24px; }
  .ssu-num li { gap: 8px; }
  .ssu-num li span { min-width: 22px; }
  .ssu-switch button { padding: 11px 12px; }
  .ssu-solo .ssu-head h2 { font-size: 30px; }
  .ssu-steps { padding: 20px 12px; }
}
