:root {
  --lp-navy: #122e59;
  --lp-blue-deep: #173b70;
  --lp-blue: #168fc4;
  --lp-blue-highlight: #3ac2e5;
  --lp-pink: #f04f9a;
  --lp-blue-soft: #edf7fb;
  --lp-pink-soft: #fff1f7;
  --lp-surface: #fff;
  --lp-surface-subtle: #f5f8fb;
  --lp-border: #dbe4eb;
  --lp-state-unstarted: #96a4b3;
  --lp-progress-gradient: linear-gradient(90deg, var(--lp-blue-deep) 0%, var(--lp-blue) 65%, var(--lp-blue-highlight) 100%);
  --lp-blue-text: #0d719b;
  --lp-pink-text: #d02d72;
  /* Compatibility aliases: legacy names resolve to the three-color brand system. */
  --lp-gold: var(--lp-blue);
  --lp-gold-text: var(--lp-blue-text);
  --lp-purple: var(--lp-navy);
  --lp-purple-deep: var(--lp-navy);
  --lp-purple-soft: var(--lp-blue-soft);
  --lp-orange: var(--lp-blue);
  --lp-orange-soft: var(--lp-blue-soft);
  --lp-teal: var(--lp-blue);
  --lp-teal-soft: var(--lp-blue-soft);
  --lp-wash-teal: var(--lp-wash-blue);
  --member-teal: var(--lp-blue);
  --member-navy: var(--lp-navy);
  --member-cyan: var(--lp-blue);
  --member-pink: var(--lp-pink);
  --member-orange: var(--lp-blue);
}

/* Local quality pass: one primary action, legible accent text, and clearer page structure. */
.member-home-primary-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  max-width: 650px;
  margin-top: 24px;
  padding: 14px 14px 14px 18px;
  border: 1px solid #dbe3ea;
  border-radius: 18px;
  background: rgb(255 255 255 / .92);
  box-shadow: 0 12px 34px rgb(16 43 85 / .08);
}
.member-home-primary-action > div { display: grid; gap: 3px; min-width: 0; }
.member-home-primary-action strong { color: var(--lp-muted); font-size: 13px; font-weight: 650; }
.member-home-primary-action span { overflow: hidden; color: var(--lp-navy); font-size: 15px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.member-home-primary-action > a { display: inline-flex; min-height: 48px; flex: 0 0 auto; align-items: center; gap: 18px; padding: 11px 20px; border-radius: 12px; background: var(--lp-navy); color: #fff; font-size: 15px; font-weight: 750; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.member-home-primary-action > a:hover,
.member-home-primary-action > a:focus-visible { transform: translateY(-2px); box-shadow: 0 8px 18px rgb(16 43 85 / .16); }
.member-home-primary-action.is-loading { min-height: 78px; background: #f7f9fb; box-shadow: none; }
.learner-home-heading h2 { margin: 4px 0 0; font-family: var(--font-serif); font-size: clamp(34px, 3.2vw, 48px); font-weight: 500; line-height: 1.2; letter-spacing: .02em; }

.member-unit-page-nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 8px 0 26px; padding: 14px 16px; border-block: 1px solid #e3e8ec; }
.member-unit-page-nav > strong { color: var(--lp-muted); font-size: 13px; }
.member-unit-page-nav > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.member-unit-page-nav button { min-height: 44px; padding: 8px 15px; border: 1px solid #d8e1e7; border-radius: 999px; background: #fff; color: var(--lp-navy); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.member-unit-page-nav button:hover,
.member-unit-page-nav button:focus-visible { border-color: var(--lp-blue); background: var(--lp-blue-soft); }
#unit-materials, #unit-note, #unit-check, #unit-related { scroll-margin-top: 20px; }
.member-note-save-status { display: block; min-height: 22px; margin-top: 5px; color: var(--lp-purple-deep); font-size: 12px; font-weight: 650; }

.interview-filters { margin: 8px 0 26px; padding: 20px; border: 1px solid #dfe6ea; border-radius: 18px; background: #fff; }
.interview-filters h2 { margin: 0 0 14px; font-size: 20px; font-weight: 650; }
.interview-filter-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.interview-filter-buttons button { display: inline-flex; min-height: 44px; align-items: center; gap: 8px; padding: 8px 15px; border: 1px solid #d8e1e7; border-radius: 999px; background: #fff; color: var(--lp-navy); font: inherit; cursor: pointer; }
.interview-filter-buttons button small { display: inline-grid; min-width: 22px; min-height: 22px; place-items: center; border-radius: 999px; background: #edf2f6; color: var(--lp-muted); }
.interview-filter-buttons button[aria-pressed="true"] { border-color: var(--lp-navy); background: var(--lp-navy); color: #fff; }
.interview-filter-buttons button[aria-pressed="true"] small { background: #fff; color: var(--lp-navy); }
.interview-filters label { display: grid; gap: 7px; margin-top: 16px; color: var(--lp-muted); font-size: 13px; font-weight: 650; }
.interview-filters input { min-height: 48px; padding: 10px 14px; border: 1px solid #ccd7de; border-radius: 11px; color: var(--lp-navy); font: inherit; font-size: 16px; }
.interview-filters > p { min-height: 20px; margin: 10px 0 0; color: var(--lp-muted); font-size: 13px; }

.member-related-external-card em { color: var(--lp-muted); font-size: 11px; font-style: normal; line-height: 1.45; }
.member-usage-notice-link,
.member-home-new header > a,
.member-search-examples button { min-height: 44px; }
.member-usage-notice-link,
.member-home-new header > a { display: inline-flex; align-items: center; }
.member-source-details { margin-top: 32px; padding: 18px 20px; border: 1px solid var(--lp-border); border-radius: 14px; background: var(--lp-surface-subtle); }
.member-source-details summary { min-height: 44px; color: var(--lp-navy); font-weight: 700; cursor: pointer; }
.member-source-details dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; margin: 12px 0 0; }
.member-source-details dt { color: var(--lp-muted); font-size: 13px; font-weight: 700; }
.member-source-details dd { margin: 0; color: var(--lp-navy); }
.member-search-error,
.member-search-empty > p { border-left-color: var(--lp-blue); background: var(--lp-surface-subtle); }
.member-quick-access-menu { width: min(360px, calc(100vw - 32px)); }
.member-quick-access-menu a { grid-template-columns: 42px minmax(0, 1fr) auto; align-items: start; gap: 10px; }
.member-quick-access-copy em { color: #68778c; font-size: 11px; font-style: normal; line-height: 1.45; }

.member-type-label.is-learning,
.member-type-label.is-interview,
.interview-list > a:not(.is-lecture) > div > span { color: var(--lp-blue-text); }
.member-type-label.is-qa,
.trouble-results > p,
.member-home-entry-grid span.is-question { color: var(--lp-pink-text); }
.member-type-label.is-interview.is-lecture,
.interview-list > a.is-lecture > div > span { color: var(--lp-gold-text); }
.member-kicker,
.member-home-new header > a { color: var(--lp-blue-text); }
.learner-path-legend .is-progress i { color: var(--lp-blue-text); }
.learner-path-legend .is-current i { color: var(--lp-gold-text); }

@media (max-width: 700px) {
  .member-home-primary-action { display: grid; margin-top: 16px; padding: 13px; border-radius: 15px; }
  .member-home-primary-action > a { width: 100%; justify-content: space-between; }
  .member-unit-page-nav { display: grid; padding-inline: 0; }
  .member-unit-page-nav > div { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding: 2px 1px 6px; scrollbar-width: thin; }
  .member-unit-page-nav button { flex: 0 0 auto; }
  .interview-filters { padding: 17px 15px; }
  .member-quick-access-menu { width: calc(100vw - 24px); }
  .member-source-details dl { grid-template-columns: 1fr; gap: 4px; }
  .member-source-details dd + dt { margin-top: 8px; }
}

@media (min-width: 701px) {
  .member-home-reference-hero .member-home-primary-action { max-width: 676px; margin-left: -26px; }
}

/* Public trial reuses member components; these styles only explain access context. */
.trial-member-header { grid-template-columns: auto 1fr auto; }
.trial-member-badge { justify-self: start; padding: 6px 11px; border: 1px solid var(--lp-border); border-radius: 999px; color: var(--lp-blue-deep); font-size: 11px; font-weight: 750; letter-spacing: .04em; }
.trial-member-login { display: inline-flex; min-height: 42px; align-items: center; padding: 7px 13px; border: 1px solid var(--lp-navy); border-radius: var(--lp-radius-control); color: var(--lp-navy); font-size: 12px; font-weight: 700; text-decoration: none; }
.trial-member-login:hover, .trial-member-login:focus-visible { border-color: var(--lp-blue); background: var(--lp-blue-soft); }
.trial-member-context { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 20px 0 34px; padding: 14px 18px; border: 1px solid var(--lp-border); border-radius: var(--lp-radius-control); background: var(--lp-surface-subtle); }
.trial-member-context strong { color: var(--lp-blue-text); font-size: 12px; }
.trial-member-context span { flex: 1 1 360px; color: var(--lp-muted); font-size: 13px; }
.trial-member-context a { color: var(--lp-navy); font-size: 12px; font-weight: 700; }
.trial-member-locked-row { display: grid; min-height: 104px; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; margin-top: 24px; padding: 20px; border: 1px solid var(--lp-border); border-radius: var(--lp-radius-card); background: #fff; }
.trial-member-locked-row > span, .trial-entry-lock { padding: 5px 8px; border-radius: 999px; background: var(--lp-surface-subtle); color: var(--lp-navy); font-size: 10px; font-style: normal; font-weight: 750; }
.trial-member-locked-row > a { color: var(--lp-blue-deep); font-size: 12px; font-weight: 700; }
.member-home-entry-grid > a { position: relative; }
.trial-entry-lock { position: absolute; top: 18px; right: 18px; }
.learner-path a.is-locked { cursor: pointer; opacity: .72; }
.learner-path a.is-locked:hover, .learner-path a.is-locked:focus-visible { opacity: 1; }
.learner-path a.is-locked span small { display: block; margin-top: 4px; color: var(--lp-muted); font-size: 9px; font-weight: 650; letter-spacing: .02em; }
.trial-membership-backdrop { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 20px; background: rgb(10 28 54 / .5); }
.trial-membership-backdrop[hidden] { display: none; }
.trial-membership-dialog { position: relative; width: min(660px, 100%); max-height: min(760px, calc(100vh - 40px)); overflow: auto; padding: clamp(30px, 5vw, 52px); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-panel); background: #fff; box-shadow: 0 28px 80px rgb(10 28 54 / .24); }
.trial-membership-dialog > p:first-of-type { margin: 0 0 8px; color: var(--lp-blue-text); font-size: 12px; font-weight: 750; letter-spacing: .08em; }
.trial-membership-dialog h2 { margin: 0 0 20px; font-family: var(--font-serif); font-size: clamp(28px, 4vw, 40px); font-weight: 450; line-height: 1.45; }
.trial-membership-dialog h2 ~ p { color: var(--lp-muted); line-height: 1.8; }
.trial-membership-dialog .trial-membership-note { padding: 13px 15px; border-radius: var(--lp-radius-control); background: var(--lp-surface-subtle); font-size: 13px; }
.trial-membership-dialog > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.trial-membership-dialog > div > * { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 10px 16px; border: 1px solid var(--lp-navy); border-radius: var(--lp-radius-control); background: #fff; color: var(--lp-navy); font: inherit; font-size: 13px; font-weight: 700; text-decoration: none; cursor: pointer; }
.trial-membership-dialog > div > .is-primary { background: var(--lp-navy); color: #fff; }
.trial-membership-close { position: absolute; top: 14px; right: 14px; display: grid; width: 42px; height: 42px; place-items: center; border: 0; border-radius: 50%; background: var(--lp-surface-subtle); color: var(--lp-navy); font-size: 24px; cursor: pointer; }
body.has-trial-membership-dialog { overflow: hidden; }
.trial-beta-page { display: grid; gap: clamp(64px, 8vw, 112px); }
.trial-beta-hero { display: grid; min-height: 560px; align-content: center; justify-items: start; padding: clamp(48px, 8vw, 112px); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-panel); background: linear-gradient(135deg, #fff 5%, var(--lp-surface-subtle) 100%); }
.trial-beta-hero > p, .trial-beta-about > p, .trial-beta-membership > p:first-child { color: var(--lp-blue-text); font-size: 12px; font-weight: 750; letter-spacing: .08em; }
.trial-beta-hero h1 { max-width: 16ch; margin: 18px 0 22px; font-family: var(--font-serif); font-size: clamp(42px, 6vw, 72px); font-weight: 400; line-height: 1.35; }
.trial-beta-hero > span { max-width: 54ch; color: var(--lp-muted); line-height: 1.9; }
.trial-beta-hero > a, .trial-beta-membership > a { display: inline-flex; min-height: 48px; align-items: center; margin-top: 28px; padding: 10px 20px; border-radius: var(--lp-radius-control); background: var(--lp-navy); color: #fff; font-weight: 700; text-decoration: none; }
.trial-beta-about h2, .trial-beta-membership h2 { margin: 10px 0 34px; font-family: var(--font-serif); font-size: clamp(30px, 4vw, 46px); font-weight: 400; }
.trial-beta-about > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.trial-beta-about article { display: grid; min-height: 190px; align-content: start; gap: 12px; padding: 26px; border: 1px solid var(--lp-border); border-radius: var(--lp-radius-card); background: #fff; }
.trial-beta-about article > span { color: var(--lp-blue-text); font-size: 12px; font-weight: 750; }
.trial-beta-about article strong { font-size: 18px; }
.trial-beta-about article small { color: var(--lp-muted); line-height: 1.65; }
.trial-beta-content { scroll-margin-top: 24px; }
.trial-beta-content .member-unit-list { margin-top: 34px; }
.trial-beta-services > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 34px; }
.trial-beta-services article { position: relative; min-height: 270px; padding: 30px; border: 1px solid var(--lp-border); border-top: 2px solid var(--lp-blue); border-radius: var(--lp-radius-card); background: #fff; }
.trial-beta-services article.is-ask { border-top-color: var(--lp-pink); }
.trial-beta-services article > span { color: var(--lp-blue-text); font-size: 12px; font-weight: 750; }
.trial-beta-services article.is-ask > span { color: var(--lp-pink-text); }
.trial-beta-services h3 { margin: 9px 0 16px; font-family: var(--font-serif); font-size: 27px; font-weight: 500; }
.trial-beta-services p { color: #34465f; line-height: 1.8; }
.trial-beta-services small { display: block; color: var(--lp-muted); line-height: 1.7; }
.trial-beta-services article > b { position: absolute; top: 24px; right: 24px; padding: 6px 9px; border-radius: 999px; background: var(--lp-surface-subtle); color: var(--lp-navy); font-size: 10px; }
.trial-beta-membership { padding: clamp(42px, 7vw, 80px); border: 1px solid var(--lp-border); border-radius: var(--lp-radius-panel); background: var(--lp-surface-subtle); text-align: center; }
.trial-beta-membership > p:not(:first-child) { max-width: 62ch; margin-inline: auto; color: var(--lp-muted); line-height: 1.8; }
.is-trial-mode .member-footer p { margin-left: auto; color: var(--lp-muted); font-size: 11px; }

@media (max-width: 820px) {
  .trial-member-header { grid-template-columns: 1fr auto; }
  .trial-member-badge { display: none; }
  .trial-beta-about > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trial-beta-services > div:last-child { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .trial-member-header .member-header-actions { gap: 6px; }
  .trial-member-login { min-height: 40px; padding-inline: 9px; font-size: 11px; }
  .trial-beta-page { gap: 64px; }
  .trial-beta-hero { min-height: 480px; padding: 42px 24px; }
  .trial-beta-about > div { grid-template-columns: 1fr; }
  .trial-beta-about article { min-height: auto; }
  .trial-member-locked-row { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .member-home-primary-action > a { transition: none; }
}

/* Refined brand palette: navy foundation, blue actions, pink guidance, gold current position. */
.member-usage-summary { border-color: var(--lp-border); background: var(--lp-surface-subtle); }
.member-home-reference-progress .learner-home {
  border: 1px solid #dfe8f0;
  background: #f2f6fb;
}
.member-home-reference-progress .learner-current-progress,
.member-home-reference-progress .learner-overall,
.member-home-reference-progress .learner-next { background: rgb(255 255 255 / .9); }
.member-home-reference-progress .learner-current-progress .learner-progress-track i,
.member-home-reference-progress .learner-overall .learner-progress-track i {
  background: linear-gradient(90deg, var(--lp-pink), var(--lp-blue));
}
.member-app .learner-progress-track i {
  background: linear-gradient(90deg, var(--lp-pink), var(--lp-blue));
}
.learner-path .is-in_progress i {
  border-color: var(--lp-blue);
  color: var(--lp-blue);
  box-shadow: 0 0 0 4px rgb(21 155 211 / .1);
}
.learner-path .is-current i {
  border-color: var(--lp-gold);
  color: var(--lp-gold);
  box-shadow: 0 0 0 5px rgb(22 143 196 / .12);
}
.learner-path .is-current span { color: var(--lp-navy); font-weight: 750; }
.member-home-question {
  position: relative;
  border-color: transparent;
  background: transparent;
}
.member-home-question::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 54px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--lp-pink), var(--lp-blue));
  content: "";
}
.member-home-question .member-search-home {
  border-color: #d8e3eb;
  border-radius: 24px;
  box-shadow: 0 14px 38px rgb(16 43 85 / .065);
}
.member-home-question .member-search-form input:focus {
  border-color: rgb(21 155 211 / .7);
  box-shadow: 0 0 0 4px rgb(21 155 211 / .11);
  outline: 0;
}
.member-home-question .member-search-form button:not(:disabled) {
  background: var(--lp-navy);
  box-shadow: 0 8px 20px rgb(16 43 85 / .14);
}
.member-home-entry-grid > a {
  border-color: #dfe6ed;
  box-shadow: 0 10px 30px rgb(16 43 85 / .05);
}
.member-home-entry-grid b,
.member-home-new header > a { color: var(--lp-blue); }
.member-type-label.is-learning { background: #e5f5fc; color: var(--lp-blue-text); }
.member-new-badge { background: #fff0f6; color: var(--lp-pink); }
.member-home-new { border-color: #dfe6ed; }

/* Directory pages share the same palette. Purple is reserved for completed states. */
.trouble-categories {
  border-color: #dce7ef;
  background: #f3f7fb;
  box-shadow: 0 10px 28px rgb(16 43 85 / .045);
}
.trouble-categories > p { color: var(--lp-blue); }
.trouble-categories button { border-color: #d4dfe8; }
.trouble-categories button:hover,
.trouble-categories button:focus-visible { border-color: #a9cfe2; background: #edf6fb; }
.trouble-categories button.is-active {
  border-color: var(--lp-gold);
  background: var(--lp-blue-soft);
  box-shadow: inset 0 0 0 1px rgb(22 143 196 / .12);
}
.trouble-categories button.is-active small { background: var(--lp-gold); color: #fff; }
.trouble-results > p { color: var(--lp-pink); }

.member-type-label.is-interview,
.interview-list > a > div > span { color: #237eae; background: #eaf5fb; }
.member-type-label.is-interview.is-lecture,
.interview-list > a.is-lecture > div > span { color: var(--lp-blue-text); background: var(--lp-blue-soft); }
.member-interview-link,
.interview-list > a { border-left-color: var(--lp-blue); background: #fff; }
.member-interview-link.is-lecture,
.interview-list > a.is-lecture { border-left-color: var(--lp-gold); }
.member-interview-link:hover,
.member-interview-link:focus-visible,
.interview-list > a:hover,
.interview-list > a:focus-visible {
  border-color: #c9dce7;
  border-left-color: var(--lp-blue);
  background: #f9fcfe;
}
.member-interview-link.is-lecture:hover,
.member-interview-link.is-lecture:focus-visible,
.interview-list > a.is-lecture:hover,
.interview-list > a.is-lecture:focus-visible { border-left-color: var(--lp-gold); }
.interview-list > a:hover h2,
.member-interview-link:hover h3 { color: var(--lp-blue); }
.interview-list > a.is-lecture:hover h2,
.member-interview-link.is-lecture:hover h3 { color: var(--lp-blue-text); }
.interview-list > a:hover > b,
.interview-list > a:focus-visible > b,
.member-interview-link:hover > span,
.member-interview-link:focus-visible > span { color: var(--lp-blue); }
.interview-list > a.is-lecture:hover > b,
.interview-list > a.is-lecture:focus-visible > b,
.member-interview-link.is-lecture:hover > span,
.member-interview-link.is-lecture:focus-visible > span { color: var(--lp-gold); }

.member-home-entry-grid span,
.member-home-entry-grid span.is-question { color: var(--lp-pink); }

/* No green in the member experience: blue denotes media/action, purple denotes completion. */
.member-usage-notice > p:first-child,
.learner-home-heading p { color: var(--lp-blue-text); }
.learner-continue::before { background: var(--lp-navy); }
.member-method-choice.resource-video { border-top-color: var(--lp-blue); }
.member-method-choice.resource-video .member-method-icon,
.resource-video .member-resource-kind,
.member-related-external-card > b { color: var(--lp-blue); }
.learner-path .is-completed,
.member-resource-completion button.is-complete,
.member-unit-completion.is-complete strong,
.member-method-choice.is-complete .member-method-icon::after { color: var(--lp-purple-deep); }
.member-home-reference-progress .learner-complete-label { color: var(--lp-purple-deep); }
.member-progress-state.is-completed {
  background: var(--lp-purple-soft);
  color: var(--lp-purple-deep);
}
.learner-current-progress.is-completed .learner-progress-track i { background: var(--lp-purple); }
.learner-path .is-completed i,
.member-unit-completion.is-complete button {
  border-color: var(--lp-purple);
  background: var(--lp-purple);
  color: #fff;
}
.learner-path .is-completed i { box-shadow: 0 0 0 5px rgb(18 46 89 / .08); }
.member-resource-completion button.is-complete,
.member-method-choice.is-complete {
  border-color: var(--lp-purple);
  background: var(--lp-purple-soft);
}
.member-method-choice.is-complete {
  box-shadow: inset 0 0 0 1px rgb(18 46 89 / .18);
}
.member-method-choice.is-complete .member-method-icon {
  border-color: var(--lp-purple);
  background: #fff;
}
.unit-progress-summary.is-complete .learner-progress-track i { background: var(--lp-purple); }
.member-learning-check-feedback.is-correct {
  border-top-color: rgb(18 46 89 / .28);
  background: linear-gradient(180deg, rgb(243 239 253 / .9), transparent 72%);
}
.member-learning-check-feedback.is-correct > strong { color: var(--lp-purple-deep); }
.member-learning-check-mark {
  background: var(--lp-purple-soft);
  color: var(--lp-purple-deep);
}

/* Informational labels use blue/pink; purple remains exclusive to completed states. */
.member-page-heading.is-learning > p,
.member-kicker,
.member-onboarding-kicker { color: var(--lp-blue-text); }
.member-usage-notice > p:first-child,
.member-onboarding-notice > p:first-child,
.member-getting-started-notice > p:first-child,
.member-learning-note > p:first-child { color: var(--lp-pink-text); }
.member-guide-card > div > span { color: var(--lp-muted); }
.member-getting-started-notice,
.member-service-difference { border-color: #dce6ef; background: #f5f8fc; }
.member-unit-hero::after { background: rgb(23 168 223 / .07); }

.member-display-guide {
  margin-top: 20px;
  padding: 18px;
  border: 1px solid var(--lp-border);
  border-radius: 16px;
  background: var(--lp-surface-subtle);
}
.member-display-guide > strong { display: block; margin-bottom: 10px; color: var(--lp-navy); }
.member-display-guide p { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 10px; margin: 8px 0; }
.member-display-guide p b { color: var(--lp-purple-deep); }
.member-display-guide p span,
.member-display-guide small { color: var(--lp-muted); line-height: 1.7; }
.member-display-guide small { display: block; margin-top: 10px; }

.learner-path-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 12px;
  color: var(--lp-muted);
  font-size: 12px;
}
.learner-path-legend span { display: inline-flex; align-items: center; gap: 6px; }
.learner-path-legend i { display: inline-grid; width: 20px; height: 20px; place-items: center; border: 1px solid #b9c1c9; border-radius: 50%; background: #fff; font-size: 11px; font-style: normal; }
.learner-path-legend .is-progress i { border-color: var(--lp-blue); color: var(--lp-blue); }
.learner-path-legend .is-current i { border-color: var(--lp-blue); color: var(--lp-blue); box-shadow: 0 0 0 3px rgb(22 143 196 / .09); }
.learner-path-legend .is-completed i { border-color: var(--lp-purple); background: var(--lp-purple); color: #fff; }

@media (max-width: 560px) {
  .member-display-guide p { grid-template-columns: 1fr; gap: 2px; }
  .learner-path-legend { gap: 8px 12px; }
}

/* Accessible header actions and an explicit, persistent display preference. */
.member-brand,
.member-admin-link,
.member-display-mode,
.member-usage-notice-link {
  min-height: 44px;
  align-items: center;
}
.member-brand { display: inline-flex; flex-direction: column; justify-content: center; }
.member-admin-link,
.member-display-mode { display: inline-flex; justify-content: center; padding-inline: 6px; }
.member-display-mode {
  border: 0;
  background: transparent;
  color: var(--lp-navy);
  font: inherit;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}
.member-display-mode:hover { color: var(--lp-blue); }

/* One restrained motion language for every member page. Content stays visible if JS fails. */
.member-scroll-reveal {
  backface-visibility: hidden;
}
.member-scroll-reveal.is-reveal-ready:not(.is-revealed) {
  opacity: .58;
  transform: translate3d(0, 14px, 0);
}
.member-scroll-reveal.is-reveal-ready {
  animation: none !important;
  transition:
    opacity 580ms cubic-bezier(.22, .61, .36, 1),
    transform 580ms cubic-bezier(.22, .61, .36, 1);
  transition-delay: var(--member-reveal-delay, 0ms);
  will-change: opacity, transform;
}
.member-scroll-reveal.is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  .member-scroll-reveal,
  .member-scroll-reveal.is-reveal-ready,
  .member-scroll-reveal.is-revealed {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Keep the watercolor distinctive without letting it cross too far into content. */
@media (min-width: 1060px) {
  .member-home-reference-logo { top: -10px; width: min(31vw, 420px); }
  .member-home-reference-logo img { max-width: 420px; max-height: 420px; }
}

/* Calm mode: same information and contrast, with quieter surfaces and no decorative motion. */
html[data-display-mode="calm"] {
  --lp-blue-deep: #365f7d;
  --lp-blue: #5c91aa;
  --lp-blue-highlight: #79a9bd;
  --lp-pink: #b86787;
  --lp-gold: var(--lp-blue);
  --lp-purple: var(--lp-navy);
  --lp-purple-deep: var(--lp-navy);
  --lp-purple-soft: var(--lp-blue-soft);
  --lp-teal: var(--lp-blue);
  --lp-teal-soft: var(--lp-wash-blue);
  --lp-wash-teal: var(--lp-wash-blue);
  --member-teal: var(--lp-blue);
  --member-cyan: var(--lp-blue);
  --member-pink: #b86787;
  --member-orange: var(--lp-blue);
  --lp-wash-blue: #f4f7f9;
  --lp-wash-pink: #faf5f7;
  --lp-wash-orange: var(--lp-blue-soft);
  --lp-soft-shadow: 0 3px 14px rgb(16 43 85 / .035);
  --lp-lift-shadow: 0 5px 18px rgb(16 43 85 / .05);
}
html[data-display-mode="calm"] body { background: #fbfcfd; }
html[data-display-mode="calm"] .member-header { background: rgb(251 252 253 / .96); }
html[data-display-mode="calm"] .member-watercolor img { opacity: .72; }
html[data-display-mode="calm"] .member-home-question::before { background: #7891a5; }
html[data-display-mode="calm"] .member-home-entry-grid > a,
html[data-display-mode="calm"] .qa-question-list a,
html[data-display-mode="calm"] .interview-list > a,
html[data-display-mode="calm"] .member-interview-link,
html[data-display-mode="calm"] .member-search-home { box-shadow: 0 3px 14px rgb(16 43 85 / .035); }
html[data-display-mode="calm"] .member-page-heading::after,
html[data-display-mode="calm"] .member-unit-hero::after { opacity: .38; }
html[data-display-mode="calm"] .trouble-categories,
html[data-display-mode="calm"] .trouble-finder,
html[data-display-mode="calm"] .qa-index-card,
html[data-display-mode="calm"] .member-guide-card,
html[data-display-mode="calm"] .member-getting-started-notice,
html[data-display-mode="calm"] .member-onboarding,
html[data-display-mode="calm"] .member-onboarding-notice,
html[data-display-mode="calm"] .member-usage-notice,
html[data-display-mode="calm"] .member-home-new,
html[data-display-mode="calm"] .unit-progress-summary,
html[data-display-mode="calm"] .member-unit-completion,
html[data-display-mode="calm"] .member-learning-note,
html[data-display-mode="calm"] .member-learning-check-question,
html[data-display-mode="calm"] .member-learning-check-finished,
html[data-display-mode="calm"] .member-inline-viewer,
html[data-display-mode="calm"] .beta-resource-viewer { background: #f7f9fa; box-shadow: none; }
html[data-display-mode="calm"] .member-unit-link,
html[data-display-mode="calm"] .home-foundation-list a,
html[data-display-mode="calm"] .member-community-qa-list a,
html[data-display-mode="calm"] .qa-question-list a,
html[data-display-mode="calm"] .trouble-grid a,
html[data-display-mode="calm"] .member-method-choice,
html[data-display-mode="calm"] .member-related-external-card,
html[data-display-mode="calm"] .member-learning-destination,
html[data-display-mode="calm"] .member-learning-aftercare > div,
html[data-display-mode="calm"] .member-related-learning { box-shadow: none; }
html[data-display-mode="calm"] .member-app *,
html[data-display-mode="calm"] .member-app *::before,
html[data-display-mode="calm"] .member-app *::after {
  animation-duration: .01ms !important;
  animation-iteration-count: 1 !important;
  scroll-behavior: auto !important;
  transition-duration: .01ms !important;
}
html[data-display-mode="calm"] .member-scroll-reveal,
html[data-display-mode="calm"] .member-scroll-reveal.is-reveal-ready,
html[data-display-mode="calm"] .member-scroll-reveal.is-revealed {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
html[data-display-mode="calm"] .member-home-entry-grid > a:hover,
html[data-display-mode="calm"] .qa-question-list a:hover,
html[data-display-mode="calm"] .interview-list > a:hover,
html[data-display-mode="calm"] .member-interview-link:hover,
html[data-display-mode="calm"] .member-unit-link:hover,
html[data-display-mode="calm"] .home-foundation-list a:hover,
html[data-display-mode="calm"] .member-community-qa-list a:hover,
html[data-display-mode="calm"] .qa-index-card:hover,
html[data-display-mode="calm"] .trouble-grid a:hover,
html[data-display-mode="calm"] .member-method-choice:hover,
html[data-display-mode="calm"] .member-related-external-card:hover,
html[data-display-mode="calm"] .member-learning-aftercare a:hover,
html[data-display-mode="calm"] .member-home-entry-grid > a:hover { transform: none; }

@media (min-width: 1060px) {
  .member-home-question {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  .member-home-question::before { top: -3px; }
  .member-home-question .member-search-home > h2 {
    border: 1px solid #e2e8ed;
    background: #fff;
  }
}

@media (max-width: 1059px) {
  .member-home-question {
    padding-top: 30px;
  }
  .member-home-question::before { top: 10px; }
}

.member-usage-notice-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 8px 2px;
}
.member-usage-notice .member-usage-notice-close { top: 10px; right: 12px; width: 44px; height: 44px; }
.member-back-link { display: inline-flex; min-height: 44px; align-items: center; margin-top: -9px; margin-bottom: 25px; }
.member-resource-completion button,
.member-unit-completion button { min-height: 46px; }
.member-search-examples button { min-height: 44px; }
.foundation-list > li > div > a:first-child,
.foundation-list ul a { display: flex; min-height: 44px; align-items: center; }

.member-type-label,
.qa-question-list small,
.member-community-qa-list span,
.home-trouble-list a > span,
.trouble-grid a > span,
.interview-list span,
.member-interview-link > div > span,
.member-method-choice span,
.member-method-choice em,
.member-document-pages figcaption,
.member-unit-completion div small,
.member-learning-check-start small,
.member-quick-access-copy small { font-size: 12px; }

.member-app { padding-bottom: 124px; }
.member-footer { margin-bottom: 18px; }

@keyframes lp-page-reveal {
  from { opacity: .72; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.member-content > header,
.member-unit-page > header { animation: none; }

@media (min-width: 701px) and (max-width: 1100px) {
  .qa-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .member-app { padding-bottom: 112px; }
  .member-header { grid-template-columns: minmax(128px, 1fr) auto; row-gap: 5px; }
  .member-brand { min-width: 128px; align-items: flex-start; }
  .member-brand strong { white-space: nowrap; }
  .member-nav {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0 5px;
    overflow: visible;
    padding-bottom: 5px;
  }
  .member-nav a { min-width: 0; min-height: 44px; justify-content: center; padding-inline: 3px; text-align: center; }
  .member-nav a:nth-child(-n + 3) { grid-column: span 2; }
  .member-nav a:nth-child(n + 4) { grid-column: span 3; }
  .member-nav a[aria-current="page"]::after { right: 18%; left: 18%; }
  .member-header-actions { gap: 2px; }
  .member-admin-link,
  .member-display-mode,
  .member-usage-notice-link { padding-inline: 5px; font-size: 11px; }
  .member-display-mode { width: auto; min-width: 72px; padding-inline: 7px; border-radius: 999px; }
  .member-display-mode span { display: none; }
  .member-display-mode::after { content: "表示：標準"; white-space: nowrap; }
  .member-display-mode[aria-pressed="true"]::after { content: "表示：Calm"; }
  .member-display-mode[aria-pressed="true"] { background: var(--lp-purple-soft); color: var(--lp-purple-deep); }
  .member-quick-access { bottom: max(14px, env(safe-area-inset-bottom)); }
  .member-quick-access.is-condensed:not(.is-open) > button {
    width: 46px;
    min-width: 46px;
    padding: 0;
    justify-content: center;
  }
  .member-quick-access.is-condensed:not(.is-open) .member-quick-access-button-label,
  .member-quick-access.is-condensed:not(.is-open) .member-quick-access-chevron { display: none; }
  .member-quick-access.is-open .member-quick-access-menu {
    width: calc(100vw - 24px);
    max-height: min(56vh, 360px);
    overflow-y: auto;
    border-radius: 18px;
    box-shadow: 0 18px 48px rgb(16 43 85 / .18);
  }
}

/* Match the in-page external choices to the persistent pink/blue quick-access menu. */
.member-external-links > .member-external-question,
.member-external-links > .member-external-notebook {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-content: start;
  align-items: start;
  gap: 16px;
  padding: 24px;
  border: 1px solid #e1e7ed;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(16 43 85 / .07);
}
.member-external-links > .member-external-question { border-left: 1px solid #e1e7ed; background: #fff; }
.member-external-links > .member-external-notebook { background: #fff; }
.member-external-service-icon {
  position: relative;
  display: inline-grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 3px solid currentColor;
  color: var(--lp-pink);
  font-size: 22px;
  font-weight: 700;
}
.member-external-links .member-external-service-icon.is-question {
  border-radius: 50% 50% 50% 15px;
  color: var(--lp-pink);
}
.member-external-links .member-external-service-icon.is-library {
  width: 49px;
  height: 39px;
  margin-top: 5px;
  border-radius: 7px;
  color: var(--lp-blue);
}
.member-external-service-icon.is-library::before {
  position: absolute;
  top: -3px;
  bottom: -3px;
  left: 50%;
  width: 3px;
  background: currentColor;
  content: "";
}
.member-external-service-icon.is-library::after {
  position: absolute;
  right: -12px;
  bottom: -12px;
  width: 18px;
  height: 18px;
  border: 3px solid currentColor;
  border-radius: 50%;
  background: #fff;
  content: "";
}
.member-external-service-icon.is-library i {
  position: absolute;
  right: -15px;
  bottom: -10px;
  width: 11px;
  height: 3px;
  border-radius: 99px;
  background: currentColor;
  transform: rotate(48deg);
}
.member-external-service-copy { display: grid; min-width: 0; gap: 8px; }
.member-external-links .member-external-service-copy > strong {
  color: var(--lp-navy);
  font-size: 19px;
  line-height: 1.45;
}
.member-external-links .member-external-service-copy > span {
  color: var(--lp-muted);
  font-size: 14px;
  line-height: 1.8;
}
.member-external-links .member-external-service-copy > a.member-external-action {
  justify-self: start;
  margin-top: 4px;
  color: var(--lp-navy);
}
.member-external-links .member-external-question .member-external-service-copy > a.member-external-action {
  border-color: var(--lp-navy);
  background: var(--lp-navy);
  color: #fff;
}
.member-external-links .member-external-question .member-external-service-copy > a.member-external-action:hover {
  border-color: var(--lp-blue-deep);
  background: var(--lp-blue-deep);
  color: #fff;
}

@media (max-width: 700px) {
  .member-external-links > .member-external-question,
  .member-external-links > .member-external-notebook {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 13px;
    padding: 19px 17px;
    border-radius: 16px;
  }
  .member-external-service-icon { width: 44px; height: 44px; font-size: 18px; }
  .member-external-service-icon.is-library { width: 41px; height: 33px; }
  .member-external-links .member-external-service-copy > strong { font-size: 17px; }
}

/* Final local overrides: text colors meet AA while decorative accents stay bright. */
.member-type-label.is-learning,
.member-type-label.is-interview,
.interview-list > a:not(.is-lecture) > div > span,
.member-kicker,
.member-home-new header > a,
.trouble-categories > p { color: var(--lp-blue-text); }
.member-type-label.is-qa,
.trouble-results > p,
.member-home-entry-grid span,
.member-home-entry-grid span.is-question,
.member-new-badge { color: var(--lp-pink-text); }
.member-type-label.is-interview.is-lecture,
.interview-list > a.is-lecture > div > span,
.interview-list > a.is-lecture:hover h2 { color: var(--lp-gold-text); }
.learner-path .is-current i,
.learner-path-legend .is-current i { color: var(--lp-gold-text); }
.learner-path .is-in_progress i,
.learner-path-legend .is-progress i { color: var(--lp-blue-text); }

@media (max-width: 700px) {
  .member-home-reference-hero .member-home-primary-action { grid-column: 1 / -1; }
}

.beta-loading {
  display: grid;
  width: min(360px, calc(100% - 40px));
  min-height: 100dvh;
  align-content: center;
  justify-items: center;
  margin: 0 auto;
  color: var(--lp-navy);
  text-align: center;
}
.beta-loading strong { font-family: Georgia, "Times New Roman", serif; font-size: 25px; letter-spacing: .04em; }
.beta-loading small { margin-top: -3px; font-size: 9px; font-weight: 750; letter-spacing: .18em; }
.beta-loading span { margin-top: 26px; color: #5f7184; font-size: 14px; }
.beta-loading i { width: 34px; height: 3px; margin-top: 16px; overflow: hidden; border-radius: 999px; background: #e4ebef; }
.beta-loading i::after {
  display: block;
  width: 45%;
  height: 100%;
  border-radius: inherit;
  background: var(--lp-blue);
  animation: beta-loading-progress 1.1s ease-in-out infinite alternate;
  content: "";
}
@keyframes beta-loading-progress { to { transform: translateX(122%); } }
@media (prefers-reduced-motion: reduce) {
  .beta-loading i::after { width: 100%; animation: none; opacity: .7; }
}

/* 2026 three-color brand system: navy foundation, dimensional blue actions, restrained pink guidance. */
.member-app {
  --member-navy: var(--lp-navy);
  --member-cyan: var(--lp-blue);
  --member-teal: var(--lp-blue);
  --member-orange: var(--lp-blue);
}

/* One progress language across home, units and completion summaries. */
.member-app .learner-progress-track { background: #e7edf2; }
.member-app .learner-progress-track i,
.member-home-reference-progress .learner-current-progress .learner-progress-track i,
.member-home-reference-progress .learner-overall .learner-progress-track i,
.learner-current-progress.is-completed .learner-progress-track i,
.unit-progress-summary.is-complete .learner-progress-track i {
  background: var(--lp-progress-gradient);
}
.member-progress-state { background: var(--lp-blue-soft); color: var(--lp-blue-deep); }
.member-progress-state.is-completed { background: #edf1f5; color: var(--lp-navy); }
.member-home-reference-progress .learner-complete-label,
.learner-path .is-completed,
.member-resource-completion button.is-complete,
.member-unit-completion.is-complete strong,
.member-method-choice.is-complete .member-method-icon::after,
.member-note-save-status { color: var(--lp-navy); }
.learner-path .is-completed i,
.learner-path-legend .is-completed i,
.member-unit-completion.is-complete button {
  border-color: var(--lp-navy);
  background: var(--lp-navy);
  color: #fff;
}
.learner-path .is-completed i { box-shadow: 0 0 0 4px rgb(18 46 89 / .08); }
.member-resource-completion button.is-complete,
.member-method-choice.is-complete {
  border-color: rgb(18 46 89 / .32);
  background: #f3f6f8;
}
.member-method-choice.is-complete { box-shadow: inset 0 0 0 1px rgb(18 46 89 / .12); }
.member-method-choice.is-complete .member-method-icon { border-color: var(--lp-navy); }

/* In progress is blue and current position is a labelled double blue ring, never gold. */
.learner-path .is-in_progress i,
.learner-path-legend .is-progress i {
  border-color: var(--lp-blue);
  background: linear-gradient(90deg, var(--lp-blue-deep) 0 50%, #fff 50% 100%);
  color: transparent;
  box-shadow: none;
}
.learner-path .is-current i,
.learner-path-legend .is-current i {
  border: 2px solid var(--lp-blue);
  background: #fff;
  color: var(--lp-blue-deep);
  box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 5px var(--lp-blue), 0 0 0 3px rgb(22 143 196 / .09);
}
.learner-path .is-current span { color: var(--lp-navy); }
.learner-path a:not(:last-child)::after { background: #d6e0e8; }
.learner-path-legend { color: #657488; }

/* Shared selection, focus and link behavior. */
.member-app a:not(.member-brand):focus-visible,
.member-app button:focus-visible,
.member-app input:focus-visible,
.member-app textarea:focus-visible,
.member-app select:focus-visible {
  outline-color: var(--lp-blue);
}
.member-nav a:hover,
.member-home-new header > a,
.member-related-external-card > b,
.member-method-choice.resource-video .member-method-icon,
.resource-video .member-resource-kind { color: var(--lp-blue-text); }
.trouble-categories button.is-active,
.interview-filter-buttons button[aria-pressed="true"] {
  border-color: var(--lp-blue-deep);
  background: var(--lp-blue-soft);
  color: var(--lp-navy);
  box-shadow: inset 0 0 0 1px rgb(22 143 196 / .12);
}
.trouble-categories button.is-active small,
.interview-filter-buttons button[aria-pressed="true"] small {
  background: var(--lp-navy);
  color: #fff;
}

/* Directory cards use one brand, while type is communicated by text rather than page colors. */
.member-type-label.is-learning,
.member-type-label.is-interview,
.member-type-label.is-interview.is-lecture,
.interview-list > a > div > span,
.interview-list > a.is-lecture > div > span {
  background: var(--lp-blue-soft);
  color: var(--lp-blue-text);
}
.member-interview-link,
.member-interview-link.is-lecture,
.interview-list > a,
.interview-list > a.is-lecture { border-left-color: var(--lp-blue-deep); background: #fff; }
.member-interview-link:hover,
.member-interview-link:focus-visible,
.member-interview-link.is-lecture:hover,
.member-interview-link.is-lecture:focus-visible,
.interview-list > a:hover,
.interview-list > a:focus-visible,
.interview-list > a.is-lecture:hover,
.interview-list > a.is-lecture:focus-visible {
  border-color: #c9dce7;
  border-left-color: var(--lp-blue);
  background: #f8fbfd;
}
.interview-list > a:hover h2,
.interview-list > a.is-lecture:hover h2,
.member-interview-link:hover h3,
.member-interview-link.is-lecture:hover h3,
.interview-list > a:hover > b,
.interview-list > a:focus-visible > b,
.member-interview-link:hover > span,
.member-interview-link:focus-visible > span { color: var(--lp-blue-text); }

/* Pink is reserved for asking and small attention cues. */
.member-home-entry-grid b,
.member-home-entry-grid span,
.member-home-entry-grid span.is-question,
.member-new-badge { color: var(--lp-navy); }
.member-type-label.is-qa { background: var(--lp-pink-soft); color: var(--lp-pink-text); }
.member-quick-access-icon.is-question,
.member-quick-access-button-label .is-ask,
.member-external-links .member-external-service-icon.is-question { color: var(--lp-pink); }
.member-quick-access-icon.is-library,
.member-quick-access-button-label .is-find,
.member-quick-access-arrow { color: var(--lp-blue); }
.member-home-question::before { background: var(--lp-navy); }

/* Quiet, common surfaces instead of page-specific color washes. */
.member-usage-summary,
.trouble-categories,
.member-service-difference,
.member-getting-started-notice,
.member-display-guide {
  border-color: var(--lp-border);
  background: var(--lp-surface-subtle);
}
.member-display-guide p b { color: var(--lp-navy); }
.member-unit-hero::after { background: rgb(22 143 196 / .055); }
.learner-continue::before { background: var(--lp-navy); }
.member-home-reference-progress .learner-home { border-color: var(--lp-border); background: #f2f6fa; }

/* Correct feedback uses shape and words; it does not introduce a fourth brand color. */
.member-learning-check-feedback.is-correct {
  border-top-color: rgb(18 46 89 / .28);
  background: linear-gradient(180deg, rgb(237 247 251 / .82), transparent 72%);
}
.member-learning-check-feedback.is-correct > strong,
.member-learning-check-mark { color: var(--lp-navy); }
.member-learning-check-mark { background: var(--lp-blue-soft); }

/* Calm mode derives from the same semantic palette and only lowers intensity. */
html[data-display-mode="calm"] {
  --lp-navy: #233d61;
  --lp-blue-deep: #365f7d;
  --lp-blue: #5c91aa;
  --lp-blue-highlight: #79a9bd;
  --lp-pink: #b86787;
  --lp-blue-text: #365f7d;
  --lp-pink-text: #96516d;
  --lp-blue-soft: #f2f6f8;
  --lp-pink-soft: #faf5f7;
  --lp-progress-gradient: linear-gradient(90deg, var(--lp-blue-deep), var(--lp-blue));
}
html[data-display-mode="calm"] .member-home-question::before { background: var(--lp-navy); }
html[data-display-mode="calm"] .learner-path .is-current i,
html[data-display-mode="calm"] .learner-path-legend .is-current i { box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 5px var(--lp-blue); }

/* Final cross-page refinement: less pillowy, more editorial, with depth from lines and tone. */
.member-app {
  --lp-radius-panel: 18px;
  --lp-radius-card: 14px;
  --lp-radius-control: 10px;
  --lp-line-strong: #cbd8e2;
  --lp-action-gradient: linear-gradient(135deg, var(--lp-navy) 0%, var(--lp-blue-deep) 100%);
  --lp-accent-gradient: linear-gradient(90deg, var(--lp-navy) 0%, var(--lp-blue) 82%, var(--lp-blue-highlight) 100%);
}

/* A restrained editorial rule replaces isolated blocks of bright blue. */
.member-page-heading::after,
.member-home-question::before {
  height: 3px;
  background: var(--lp-accent-gradient);
}
.qa-member-page .member-page-heading::after {
  background: linear-gradient(90deg, var(--lp-navy), var(--lp-pink));
}
.learner-continue::before { background: var(--lp-accent-gradient); }

/* Primary actions retain authority but gain a small tonal shift instead of a flat fill. */
.member-home-primary-action > a,
.member-onboarding-confirm,
.member-unit-completion button:not(.is-complete),
.member-search-form button:not(:disabled) {
  background: var(--lp-action-gradient);
  color: #fff;
  box-shadow: 0 7px 18px rgb(18 46 89 / .13);
}

/* One card geometry across home, directories, guides and learning details. */
:where(
  .member-home-primary-action,
  .member-home-reference-progress .learner-next,
  .member-home-reference-progress .learner-current-progress,
  .member-home-reference-progress .learner-overall,
  .member-home-question .member-search-home,
  .member-home-entry-grid > a,
  .member-home-new,
  .qa-index-card,
  .member-interview-link,
  .interview-list > a,
  .trouble-categories,
  .member-guide-card,
  .member-getting-started-notice,
  .member-service-difference,
  .member-display-guide,
  .member-learning-check-question,
  .member-learning-note,
  .member-related-external-card
) {
  border-color: var(--lp-border);
  border-radius: var(--lp-radius-card);
  box-shadow: 0 8px 24px rgb(18 46 89 / .045);
}

.learner-home,
.member-unit-hero,
.member-onboarding {
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-panel);
}

/* Controls stay friendly, but no longer look like unrelated oversized pills. */
:where(
  .member-home-primary-action > a,
  .member-search-form input,
  .member-search-form button,
  .interview-filters input,
  .member-unit-page-nav button,
  .member-resource-completion button
) { border-radius: var(--lp-radius-control); }

/* Structural cards get a fine top rule; status and type remain in text, not new colors. */
:where(
  .member-home-entry-grid > a,
  .qa-index-card,
  .member-interview-link,
  .interview-list > a,
  .member-guide-card,
  .member-related-external-card
) { border-top: 2px solid var(--lp-line-strong); }
.member-home-entry-grid > a:hover,
.qa-index-card:hover,
.member-interview-link:hover,
.interview-list > a:hover,
.member-guide-card:hover,
.member-related-external-card:hover { border-top-color: var(--lp-blue); }

/* Home navigation numbers are structure, with blue reserved for interaction. */
.member-home-entry-grid span,
.member-home-entry-grid span.is-question {
  color: var(--lp-blue-deep);
  letter-spacing: .14em;
}
.member-home-entry-grid > a:hover span { color: var(--lp-blue-text); }

/* Reduce the visual weight of surfaces while keeping their boundaries clear. */
.member-home-reference-progress .learner-home,
.member-unit-hero,
.trouble-categories,
.member-service-difference,
.member-getting-started-notice,
.member-display-guide { background: linear-gradient(180deg, #f8fafc 0%, #f3f7fa 100%); }

html[data-display-mode="calm"] .member-app {
  --lp-action-gradient: linear-gradient(135deg, var(--lp-navy), var(--lp-blue-deep));
  --lp-accent-gradient: linear-gradient(90deg, var(--lp-navy), var(--lp-blue));
}
html[data-display-mode="calm"] :where(
  .member-home-primary-action,
  .member-home-entry-grid > a,
  .member-home-new,
  .qa-index-card,
  .member-interview-link,
  .interview-list > a,
  .member-guide-card,
  .member-related-external-card
) { box-shadow: none; }

@media (max-width: 700px) {
  .member-app { --lp-radius-panel: 15px; --lp-radius-card: 12px; }
}

/* Final type scale: clear hierarchy without oversized editorial display text. */
.member-home-reference-hero h1,
.member-hero h1 {
  font-size: clamp(40px, 4.1vw, 52px);
  font-weight: 500;
  line-height: 1.32;
}
.member-page-heading h1,
.member-unit-hero h1 {
  font-size: clamp(36px, 3.8vw, 46px);
  font-weight: 500;
  line-height: 1.3;
}
.learner-home-heading h1,
.learner-home-heading h2 {
  font-size: clamp(32px, 3vw, 40px);
  font-weight: 500;
  line-height: 1.28;
}
.member-home-question > h2,
.member-section-heading h2,
.trouble-categories h2,
.trouble-results h2,
.trouble-related-learning > h2,
.member-learning-check h2,
.member-learning-note h2 {
  font-size: clamp(26px, 2.6vw, 32px);
  font-weight: 500;
  line-height: 1.35;
}
.member-home-entry-grid strong,
.member-unit-link h3,
.interview-list h2,
.member-interview-link h3,
.qa-index-card h2,
.member-learning-destination h4 {
  font-size: clamp(18px, 1.6vw, 21px);
  line-height: 1.5;
}
.member-hero-lead,
.member-page-heading > span,
.member-unit-description,
.member-answer-copy,
.qa-detail .qa-detail-section p,
.member-guide-card p {
  font-size: 16px;
}

@media (max-width: 700px) {
  .member-home-reference-hero h1,
  .member-hero h1,
  .member-page-heading h1,
  .member-unit-hero h1 {
    font-size: clamp(30px, 8.4vw, 35px);
    line-height: 1.35;
  }
  .learner-home-heading h1,
  .learner-home-heading h2 { font-size: clamp(28px, 7.7vw, 32px); }
  .member-home-question > h2,
  .member-section-heading h2,
  .trouble-categories h2,
  .trouble-results h2,
  .trouble-related-learning > h2,
  .member-learning-check h2,
  .member-learning-note h2 { font-size: clamp(24px, 6.8vw, 28px); }
  .member-home-entry-grid strong,
  .member-unit-link h3,
  .interview-list h2,
  .member-interview-link h3,
  .qa-index-card h2,
  .member-learning-destination h4 { font-size: 18px; }
  .member-hero-lead,
  .member-page-heading > span,
  .member-unit-description,
  .member-answer-copy,
  .qa-detail .qa-detail-section p,
  .member-guide-card p { font-size: 15px; }
}

/* The continuation card is already clear from its label, title and primary action. */
.learner-continue,
.member-home-reference-progress .learner-continue {
  grid-template-columns: minmax(0, 1fr) auto;
  padding-left: 26px;
}
.learner-continue::before { display: none; content: none; }
.learner-continue > div { grid-column: 1; }
.learner-continue > a { grid-column: 2; }

@media (max-width: 700px) {
  .learner-continue,
  .member-home-reference-progress .learner-continue {
    grid-template-columns: 1fr;
    padding-left: 15px;
  }
  .learner-continue > div,
  .learner-continue > a { grid-column: 1; }
}

/* A short editorial rule gives the continuation card a clear starting point without a heavy rail. */
.learner-continue,
.member-home-reference-progress .learner-continue {
  position: relative;
  min-height: 136px;
  padding-top: 24px;
  padding-bottom: 24px;
}
.learner-continue::before {
  position: absolute;
  top: 24px;
  left: 26px;
  display: block;
  width: 36px;
  height: 2px;
  border-radius: 999px;
  background: var(--lp-accent-gradient);
  content: "";
}
.learner-continue > div { padding-top: 16px; }

@media (max-width: 700px) {
  .learner-continue,
  .member-home-reference-progress .learner-continue {
    min-height: 0;
    padding-top: 20px;
    padding-bottom: 18px;
  }
  .learner-continue::before { top: 20px; left: 15px; width: 32px; }
  .learner-continue > div { padding-top: 14px; }
}

/* Completion offers one approved next step and one clear exit. */
.member-completion-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-top: 18px;
  padding: 22px 24px;
  border: 1px solid var(--lp-border);
  border-top: 2px solid var(--lp-blue-deep);
  border-radius: var(--lp-radius-card);
  background: #fff;
  box-shadow: 0 8px 24px rgb(18 46 89 / .045);
}
.member-completion-actions p { margin: 0 0 5px; color: var(--lp-blue-text); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.member-completion-actions h2 { margin: 0; color: var(--lp-navy); font-size: clamp(20px, 2vw, 24px); font-weight: 600; line-height: 1.45; }
.member-completion-actions small { display: block; margin-top: 7px; color: var(--lp-muted); font-size: 12px; }
.member-completion-actions nav { display: flex; align-items: center; gap: 10px; }
.member-completion-actions a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 15px;
  padding: 10px 17px;
  border: 1px solid var(--lp-navy);
  border-radius: var(--lp-radius-control);
  color: var(--lp-navy);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.member-completion-actions a.is-primary { background: var(--lp-action-gradient); color: #fff; }
.member-completion-actions a.is-secondary { background: #fff; }
.member-completion-actions a:hover { border-color: var(--lp-blue); transform: translateY(-1px); }
html[data-display-mode="calm"] .member-completion-actions { box-shadow: none; }

/* Keep the home concise: the approved next step lives on the learning directory. */
.learn-next-step {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin: 26px 0 46px;
  padding: 22px 24px;
  border: 1px solid var(--lp-border);
  border-top: 2px solid var(--lp-blue-deep);
  border-radius: var(--lp-radius-card);
  background: #fff;
  box-shadow: 0 8px 24px rgb(18 46 89 / .045);
}
.learn-next-step.is-loading { min-height: 116px; }
.learn-next-step p { margin: 0 0 5px; color: var(--lp-blue-text); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.learn-next-step h2 { margin: 0; color: var(--lp-navy); font-size: clamp(20px, 2vw, 24px); font-weight: 600; line-height: 1.45; }
.learn-next-step span { display: block; margin-top: 6px; color: var(--lp-muted); font-size: 14px; line-height: 1.7; }
.learn-next-step > a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 11px 18px;
  border: 1px solid var(--lp-navy);
  border-radius: var(--lp-radius-control);
  background: var(--lp-action-gradient);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.learn-next-step > a:hover { transform: translateY(-1px); }
html[data-display-mode="calm"] .learn-next-step { box-shadow: none; }

@media (max-width: 700px) {
  .learn-next-step { grid-template-columns: 1fr; gap: 17px; margin: 18px 0 34px; padding: 18px 16px; }
  .learn-next-step > a { width: 100%; }
  .member-completion-actions { grid-template-columns: 1fr; gap: 17px; padding: 19px 16px; }
  .member-completion-actions nav { display: grid; }
  .member-completion-actions a { width: 100%; }
}

/* Keep progress changes understandable when the learning catalogue grows. */
.learner-overall .learner-overall-note {
  display: block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--lp-border);
  color: var(--lp-muted);
  font-size: 11px;
  line-height: 1.65;
}
.member-progress-notice {
  margin: 18px 0;
  padding: 16px 18px;
  border: 1px solid var(--lp-border);
  border-radius: var(--lp-radius-control);
  background: var(--lp-surface-subtle);
}
.member-progress-notice strong {
  display: block;
  margin-bottom: 6px;
  color: var(--lp-navy);
  font-size: 14px;
}
.member-progress-notice p {
  margin: 0;
  color: var(--lp-muted);
  font-size: 13px;
  line-height: 1.75;
}
.member-sharing-rules { margin: 20px 0; padding: 18px; border: 1px solid var(--lp-border); border-left: 3px solid var(--lp-navy); border-radius: var(--lp-radius-control); background: #f8fafc; }
.member-sharing-rules > strong { display: block; margin-bottom: 8px; color: var(--lp-navy); font-size: 15px; }
.member-sharing-rules p, .member-sharing-rules li, .member-sharing-rules small { color: var(--lp-muted); font-size: 13px; line-height: 1.75; }
.member-sharing-rules p { margin: 0; }
.member-sharing-rules ul { margin: 10px 0; padding-left: 1.35em; }
.member-sharing-rules li + li { margin-top: 5px; }
.member-sharing-rules .member-sharing-warning { margin-top: 12px; color: var(--lp-navy); font-weight: 750; }
.member-sharing-rules small { display: block; margin-top: 10px; }
.member-copyright-rules { margin: 20px 0; padding: 18px; border: 1px solid var(--lp-border); border-radius: var(--lp-radius-control); background: #fff; }
.member-copyright-rules > strong { display: block; margin-bottom: 8px; color: var(--lp-navy); font-size: 15px; }
.member-copyright-rules p, .member-copyright-rules small { color: var(--lp-muted); font-size: 13px; line-height: 1.75; }
.member-copyright-rules p { margin: 0; }
.member-copyright-rules p + p { margin-top: 8px; }
.member-copyright-rules small { display: block; margin-top: 10px; }
.member-footer-copyright { margin-left: auto; }
@media (max-width: 700px) { .member-footer-copyright { margin-left: 0; } }

/* Shared typography audit: one hierarchy for member and trial experiences. */
:root {
  --font-family-display: var(--font-serif, "Yu Mincho", "Hiragino Mincho ProN", Georgia, serif);
  --font-family-body: var(--font-sans, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Noto Sans JP", sans-serif);
  --font-size-hero: clamp(40px, 4vw, 50px);
  --font-size-page-title: clamp(34px, 3.4vw, 42px);
  --font-size-section-title: clamp(24px, 2.4vw, 30px);
  --font-size-card-title: clamp(18px, 1.45vw, 20px);
  --font-size-body: 16px;
  --font-size-caption: 13px;
  --font-size-label: 12px;
  --font-size-button: 15px;
  --line-height-heading: 1.35;
  --line-height-body: 1.8;
  --letter-spacing-heading: .015em;
  --text-max-width: 68ch;
  --spacing-heading-before: clamp(42px, 6vw, 72px);
  --spacing-heading-after: clamp(18px, 2.5vw, 28px);
}

.member-app { font-family: var(--font-family-body); font-size: 15px; line-height: var(--line-height-body); }

.member-home-reference-hero h1,
.member-hero h1 {
  font-family: var(--font-family-display);
  font-size: var(--font-size-hero);
  font-weight: 500;
  line-height: 1.32;
  letter-spacing: var(--letter-spacing-heading);
}

.member-page-heading h1,
.member-unit-hero h1,
.qa-detail header h1 {
  font-family: var(--font-family-display);
  font-size: var(--font-size-page-title);
  font-weight: 500;
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
  text-wrap: balance;
}

.learner-home-heading h1,
.learner-home-heading h2 {
  font-family: var(--font-family-display);
  font-size: clamp(30px, 2.8vw, 36px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: var(--letter-spacing-heading);
}

.member-home-question > h2,
.member-section-heading h2,
.trouble-categories h2,
.trouble-results h2,
.trouble-related-learning > h2,
.member-learning-check h2,
.member-learning-note h2,
.member-resources > h2,
.member-home-new h2,
.member-onboarding-notice h2,
.member-getting-started-notice h2 {
  font-family: var(--font-family-display);
  font-size: var(--font-size-section-title);
  font-weight: 500;
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
  text-wrap: balance;
}

.member-home-entry-grid strong,
.member-unit-link h3,
.interview-list h2,
.member-interview-link h3,
.qa-index-card h2,
.member-learning-destination h4,
.member-learning-check-question h3 {
  font-size: var(--font-size-card-title);
  line-height: 1.5;
  overflow-wrap: anywhere;
  word-break: normal;
}

.member-hero-lead,
.member-page-heading > span,
.member-unit-description,
.member-answer-copy,
.qa-detail .qa-detail-section p,
.member-guide-card p,
.trial-beta-services p,
.trial-beta-membership > p:not(:first-child) {
  max-width: var(--text-max-width);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
}

.member-app button,
.member-app input,
.member-app textarea,
.member-app select,
.member-external-action { font-size: var(--font-size-button); }

.member-app button,
.member-app a,
.member-app h1,
.member-app h2,
.member-app h3,
.member-app h4 { word-break: normal; }

.trial-beta-hero h1 {
  max-width: 18ch;
  font-size: var(--font-size-hero);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: var(--letter-spacing-heading);
  text-wrap: balance;
}
.trial-beta-about h2,
.trial-beta-membership h2,
.trial-membership-dialog h2 {
  font-size: clamp(28px, 2.8vw, 34px);
  font-weight: 500;
  line-height: 1.4;
  text-wrap: balance;
}
.trial-beta-services h3 { font-size: var(--font-size-card-title); line-height: 1.5; text-wrap: balance; }
.trial-beta-page { gap: clamp(56px, 7vw, 92px); }
.trial-beta-membership { padding: clamp(36px, 6vw, 68px); }

.member-onboarding h1 { font-size: var(--font-size-page-title); line-height: 1.3; text-wrap: balance; }
.member-guide-card h2 { font-size: var(--font-size-section-title); line-height: 1.4; }

@media (max-width: 700px) {
  :root {
    --font-size-hero: clamp(28px, 7.5vw, 31px);
    --font-size-page-title: clamp(27px, 7.2vw, 31px);
    --font-size-section-title: clamp(21px, 5.7vw, 24px);
    --font-size-card-title: clamp(17px, 4.7vw, 19px);
    --font-size-body: 15px;
    --font-size-button: 15px;
  }
  .member-app { font-size: 15px; }
  .member-home-reference-hero h1 { font-size: clamp(22px, 6.15vw, 24.5px); line-height: 1.4; }
  .member-home-reference-hero h1 > span { display: block; white-space: nowrap; }
  .learner-home-heading h1,
  .learner-home-heading h2 { font-size: clamp(25px, 6.8vw, 28px); line-height: 1.32; }
  .member-nav a { font-size: 13px; line-height: 1.4; }
  .member-app button,
  .member-app a,
  .member-app h1,
  .member-app h2,
  .member-app h3,
  .member-app h4 { overflow-wrap: break-word; }
  .member-home-primary-action,
  .member-external-action,
  .member-unit-completion button,
  .member-learning-check button,
  .member-completion-actions a,
  .learn-next-step a { min-height: 44px; line-height: 1.45; white-space: normal; }
  .trial-beta-hero { min-height: 0; padding: 36px 20px; }
  .trial-beta-hero h1 { max-width: 15ch; font-size: clamp(28px, 7.6vw, 31px); line-height: 1.4; }
  .trial-beta-about h2,
  .trial-beta-membership h2,
  .trial-membership-dialog h2 { font-size: clamp(24px, 6.5vw, 28px); line-height: 1.42; }
  .trial-beta-services h3 { font-size: 19px; }
  .trial-beta-page { gap: 52px; }
  .trial-beta-membership { padding: 32px 18px; }
  .member-onboarding h1 { font-size: clamp(27px, 7.2vw, 31px); }
  .member-guide-card h2 { font-size: clamp(21px, 5.7vw, 24px); }
}

@media (max-width: 390px) {
  .member-home-reference-hero h1 { font-size: clamp(21.5px, 6vw, 23.5px); }
  .member-nav a { font-size: 12.5px; }
}

@media (max-width: 340px) {
  .member-home-reference-hero h1 { font-size: 20.5px; }
  .member-brand strong { font-size: 18px; }
  .member-nav a { font-size: 12px; }
}

@media (min-width: 1600px) {
  :root { --font-size-hero: 50px; --font-size-page-title: 42px; --font-size-section-title: 30px; }
}
/* Member-home expansion: seminars and the East Tohoku branch information hub. */
.member-home-seminars,.member-home-services-entry{width:min(var(--member-width),calc(100% - 64px));margin-inline:auto}.member-home-seminars{margin-top:64px}.member-home-seminars .member-section-heading{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:24px}.member-home-seminars .member-section-heading>div{position:relative;padding-top:18px}.member-home-seminars .member-section-heading>div::before{position:absolute;top:0;left:0;width:54px;height:3px;border-radius:999px;background:var(--lp-progress-gradient);content:""}.member-home-seminars .member-section-heading span,.member-home-services-entry>div>span,.member-service-intro>span{color:var(--lp-blue-text);font-size:12px;font-weight:750;letter-spacing:.08em}.member-home-seminars h2,.member-home-services-entry h2{margin:5px 0 0;color:var(--lp-navy);font-family:var(--font-serif);font-size:clamp(25px,3vw,32px);font-weight:500;line-height:1.45}.member-seminar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.member-seminar-grid article,.member-seminar-empty{border:1px solid var(--lp-border);border-top:2px solid var(--lp-blue-deep);border-radius:var(--lp-radius-card);background:#fff}.member-seminar-grid article{display:flex;min-width:0;flex-direction:column;overflow:hidden}.member-seminar-cover{display:grid;aspect-ratio:16/9;overflow:hidden;place-items:center;border-bottom:1px solid var(--lp-border);background:#fff}.member-seminar-cover img{display:block;width:100%;height:100%;object-fit:contain}.member-seminar-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:28px}.member-seminar-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--lp-blue-text);font-size:12px;font-weight:700}.member-seminar-meta span{padding:3px 8px;border-radius:999px;background:var(--lp-blue-soft)}.member-seminar-grid h3{margin:16px 0 8px;color:var(--lp-navy);font-size:20px;line-height:1.55}.member-seminar-content>a{display:inline-flex;min-height:44px;align-items:center;margin-top:auto;padding-top:22px;color:var(--lp-navy);font-weight:750;text-underline-offset:4px}.member-seminar-empty{padding:28px;border-top-color:var(--lp-border);background:var(--lp-surface-subtle)}.member-seminar-empty p{color:var(--lp-muted)}.member-seminar-others{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px 28px;align-items:start;margin-top:20px;padding:18px 20px;border:1px solid var(--lp-border);border-radius:var(--lp-radius-control);background:var(--lp-surface-subtle)}.member-seminar-others>strong{color:var(--lp-blue-text);font-size:13px}.member-seminar-others ul{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding:0;list-style:none}.member-seminar-others a{color:var(--lp-navy);font-size:14px;font-weight:700;text-underline-offset:4px}.member-seminar-more{margin-top:20px;text-align:right}.member-seminar-more a{display:inline-flex;min-height:44px;align-items:center;color:var(--lp-navy);font-size:13px;font-weight:700;text-underline-offset:4px}.member-home-services-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin-top:56px;margin-bottom:80px;padding:34px 38px;border:1px solid var(--lp-border);border-radius:var(--lp-radius-card);background:var(--lp-surface-subtle)}.member-home-services-entry p{max-width:660px;margin:9px 0 0;color:var(--lp-muted);line-height:1.75}.member-home-services-entry>a{display:inline-flex;min-height:48px;align-items:center;padding:10px 18px;border:1px solid var(--lp-navy);border-radius:var(--lp-radius-control);background:#fff;color:var(--lp-navy);font-weight:750;text-decoration:none;white-space:nowrap;cursor:pointer}.member-home-services-entry>a:hover,.member-home-services-entry>a:focus-visible{border-color:var(--lp-blue-deep);background:var(--lp-blue-soft)}

.member-service-page{width:min(var(--member-width),calc(100% - 64px));margin:0 auto;padding:52px 0 104px}.member-page-back{display:flex;flex-wrap:wrap;gap:7px;color:var(--lp-muted);font-size:12px}.member-page-back a{color:var(--lp-navy);text-underline-offset:3px}.member-service-intro{position:relative;max-width:760px;margin-top:54px;padding-bottom:30px}.member-service-intro::after{position:absolute;bottom:0;left:0;width:76px;height:3px;border-radius:999px;background:var(--lp-progress-gradient);content:""}.member-service-intro h1{margin:8px 0 18px;color:var(--lp-navy);font-family:var(--font-serif);font-size:clamp(34px,5vw,48px);font-weight:500}.member-service-intro p{margin:0;color:var(--lp-muted);font-size:16px;line-height:1.85}.member-service-categories{display:grid;gap:58px;margin-top:68px}.member-service-categories>section{display:grid;grid-template-columns:210px minmax(0,1fr);gap:36px}.member-service-categories>section.is-featured{margin-bottom:8px;padding:30px;border:1px solid var(--lp-border);border-radius:var(--lp-radius-card);background:linear-gradient(135deg,#f8fafc 0%,#f3f8fb 100%)}.member-service-categories>section>header{position:relative;padding-top:18px}.member-service-categories>section>header::before{position:absolute;top:0;left:0;width:42px;height:3px;border-radius:999px;background:var(--lp-progress-gradient);content:""}.member-service-categories h2{margin:0;color:var(--lp-navy);font-family:var(--font-serif);font-size:30px;font-weight:500}.member-service-categories header p{margin:8px 0 0;color:var(--lp-muted);font-size:13px;line-height:1.7}.member-service-list{display:grid;gap:10px}.member-service-list>a{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1fr) auto;align-items:center;gap:20px;min-height:88px;padding:18px 22px;border:1px solid var(--lp-border);border-left:2px solid var(--lp-navy);border-radius:var(--lp-radius-control);background:#fff;color:var(--lp-navy);text-decoration:none}.member-service-list>a:hover,.member-service-list>a:focus-visible{border-color:var(--lp-blue);background:var(--lp-blue-soft)}.member-service-list span{color:var(--lp-muted);font-size:13px;line-height:1.65}.member-service-list b{font-size:12px;white-space:nowrap}.member-column-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:58px}.member-column-list article{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--lp-border);border-radius:var(--lp-radius-card);background:#fff}.member-column-thumbnail{display:grid;aspect-ratio:1.91/1;overflow:hidden;place-items:center;border-bottom:1px solid var(--lp-border);background:var(--lp-surface-subtle)}.member-column-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.member-column-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px}.member-column-list h2{margin:0;color:var(--lp-navy);font-family:var(--font-serif);font-size:22px;font-weight:500;line-height:1.5}.member-column-list a{display:inline-flex;min-height:44px;align-items:center;margin-top:auto;padding-top:18px;color:var(--lp-navy);font-size:13px;font-weight:700;text-underline-offset:4px}

@media(max-width:800px){.member-seminar-grid{grid-template-columns:1fr}.member-home-services-entry{grid-template-columns:1fr}.member-home-services-entry>a{justify-content:center;width:100%}.member-service-categories>section{grid-template-columns:1fr;gap:20px}.member-service-categories>section.is-featured{padding:24px}.member-service-list>a{grid-template-columns:1fr auto}.member-service-list span{grid-column:1/-1;grid-row:2}.member-column-list{grid-template-columns:1fr}}
@media(max-width:700px){.member-home-seminars,.member-home-services-entry,.member-service-page{width:calc(100% - 32px)}.member-home-seminars{margin-top:52px}.member-seminar-others{grid-template-columns:1fr;gap:10px}.member-seminar-others ul{display:grid;gap:10px}.member-seminar-content,.member-seminar-empty{padding:22px 18px}.member-home-services-entry{margin-top:48px;margin-bottom:64px;padding:27px 20px}.member-service-page{padding-top:34px}.member-service-intro{margin-top:42px;padding-bottom:24px}.member-service-categories{gap:50px;margin-top:54px}.member-service-categories>section.is-featured{padding:22px 18px}.member-service-list>a{min-height:0;padding:18px}}
html[data-display-mode="calm"] .member-home-seminars .member-section-heading>div::before,html[data-display-mode="calm"] .member-service-intro::after,html[data-display-mode="calm"] .member-service-categories>section>header::before{background:linear-gradient(90deg,var(--lp-navy),var(--lp-blue))}
