/* Private PM presentation only; load after the retained source styles. */
.lp-content.pwa-pm {
  --pm-ink: #12242c;
  --pm-muted: #4d5e64;
  --pm-teal: #17665e;
  --pm-orange: #e98f22;
  --pm-line: #bac7cb;
  --pm-soft: #f1f4f5;
  --pm-gutter: max(32px, calc((100% - 1200px) / 2));
  color-scheme: light;
  margin: 0;
  background: #fff;
  color: var(--pm-ink);
  font: 17px/1.85 system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  line-break: strict;
}
.lp-content.pwa-pm *, .lp-content.pwa-pm *::before, .lp-content.pwa-pm *::after { box-sizing: border-box; letter-spacing: 0; }
.lp-content.pwa-pm :is(main, section, div, figure, nav, dl, ol) { min-width: 0; }
.lp-content.pwa-pm a { color: var(--pm-teal); text-underline-offset: 0.22em; }
.lp-content.pwa-pm a:hover { text-decoration-thickness: 2px; }
.lp-content.pwa-pm :is(a, button, input, [tabindex]):focus-visible { outline: 3px solid #9b315a; outline-offset: 5px; }
.lp-content.pwa-pm :is(section, h2) { scroll-margin-top: 24px; }
.lp-content.pwa-pm p { max-width: 80ch; margin: 16px 0; }
.lp-content.pwa-pm :is(h1, h2, h3, dt) { overflow-wrap: anywhere; word-break: normal; }
.lp-content.pwa-pm :is(main, .lp-content) h1 { margin: 16px 0 20px; color: var(--pm-muted); font-size: 23px; line-height: 1.55; font-weight: 500; }
.lp-content.pwa-pm h1 > span { display: block; }
.lp-content.pwa-pm h1 > span:first-child { margin-bottom: 12px; color: var(--pm-ink); font-size: 54px; line-height: 1.2; font-weight: 750; }
.lp-content.pwa-pm :is(main, .lp-content) h2 { max-width: 36ch; margin: 0 0 28px; font-size: 32px; line-height: 1.5; font-weight: 750; }
.lp-content.pwa-pm h3 { margin: 28px 0 12px; font-size: 21px; line-height: 1.65; }
.lp-content.pwa-pm .section-kicker { display: block; margin: 0 0 12px; color: var(--pm-teal); font-size: 13px; line-height: 1.6; font-weight: 750; }
.lp-content.pwa-pm ul, .lp-content.pwa-pm ol { max-width: 85ch; margin: 24px 0; padding-left: 1.5em; }
.lp-content.pwa-pm li { padding-left: 4px; margin: 0 0 12px; }
.lp-content.pwa-pm li::marker { color: var(--pm-teal); font-weight: 700; }
.lp-content.pwa-pm .note { max-width: 95ch; margin-top: 20px; color: var(--pm-muted); font-size: 14px; line-height: 1.8; }
.lp-content.pwa-pm .skip { position: absolute; top: -100px; left: 20px; z-index: 2; padding: 10px 16px; background: #fff; }
.lp-content.pwa-pm .skip:focus { top: 8px; }

.lp-content.pwa-pm .review-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; min-height: 36px; padding: 7px var(--pm-gutter); background: var(--pm-ink); color: #fff; font-size: 12px; line-height: 1.6; }
.lp-content.pwa-pm .review-bar :is(p, span) { max-width: 100%; margin: 0; }
.lp-content.pwa-pm .review-bar a { color: #fff; }
.lp-content.pwa-pm header.pm-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 32px; width: 100%; max-width: none; min-height: 88px; margin: 0; padding: 18px var(--pm-gutter); border-bottom: 1px solid var(--pm-line); background: #fff; font-size: 15px; }
.lp-content.pwa-pm .pm-header .brand { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; min-height: 44px; color: var(--pm-ink); font-size: 21px; line-height: 1.5; font-weight: 750; text-decoration: none; }
.lp-content.pwa-pm .brand img { flex: 0 0 auto; width: 33px; height: 37px; object-fit: contain; }
.lp-content.pwa-pm .pm-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; }
.lp-content.pwa-pm .pm-nav a { display: inline-flex; align-items: center; min-height: 44px; color: var(--pm-ink); line-height: 1.6; }
.lp-content.pwa-pm .lp-content { display: block; width: 100%; max-width: none; margin: 0; padding: 0; background: #fff; color: var(--pm-ink); font: inherit; }
.lp-content.pwa-pm main { width: 100%; max-width: none; margin: 0; padding: 0; }
.lp-content.pwa-pm main > section { margin: 0; padding: 64px var(--pm-gutter); border: 0; border-bottom: 1px solid var(--pm-line); border-radius: 0; background: #fff; box-shadow: none; }
.lp-content.pwa-pm .section-inner { width: 100%; max-width: 1200px; margin: 0 auto; }

/* Keep the original square avatar, including its background, fully visible. */
.lp-content.pwa-pm section.intro.pm-hero { position: relative; isolation: isolate; min-height: 0; padding-top: 40px; padding-bottom: 40px; background: #fff; }
.lp-content.pwa-pm .pm-hero::after { content: ""; position: absolute; z-index: -1; top: 50%; right: var(--pm-gutter); width: 256px; height: 256px; transform: translateY(-50%); background-image: var(--hero-portrait, none); background-position: center; background-size: contain; background-repeat: no-repeat; pointer-events: none; }
.lp-content.pwa-pm .pm-hero > :not(.section-inner), .lp-content.pwa-pm .pm-hero > .section-inner > * { max-width: calc(100% - 304px); }
.lp-content.pwa-pm .pm-hero .eyebrow { margin: 0 0 12px; color: var(--pm-teal); font-size: 13px; line-height: 1.6; font-weight: 750; }
.lp-content.pwa-pm .pm-hero .lead { margin: 16px 0; color: var(--pm-ink); font-size: 21px; line-height: 1.75; font-weight: 650; }
.lp-content.pwa-pm .pm-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin-top: 24px; }
.lp-content.pwa-pm :is(main, .lp-content) :is(a.button, .pm-primary, .pm-secondary) { display: inline-flex; align-items: center; justify-content: center; min-width: 0; max-width: 100%; min-height: 54px; margin: 0; padding: 13px 20px; border: 1px solid var(--pm-teal); border-radius: 4px; background: var(--pm-teal); color: #fff; font: inherit; font-size: 16px; line-height: 1.65; font-weight: 700; text-align: center; text-decoration: none; white-space: normal; overflow-wrap: anywhere; }
.lp-content.pwa-pm :is(main, .lp-content) :is(a.button, .pm-primary):hover { background: #104f49; }
.lp-content.pwa-pm :is(main, .lp-content) a.pm-secondary { background: #fff; color: var(--pm-teal); }
.lp-content.pwa-pm :is(main, .lp-content) a.pm-secondary:hover { background: #e5eeec; }
.lp-content.pwa-pm .pm-hero.pm-hero--text-only::after { content: none; }
.lp-content.pwa-pm .pm-hero.pm-hero--text-only > :not(.section-inner), .lp-content.pwa-pm .pm-hero.pm-hero--text-only > .section-inner > * { max-width: 80ch; }

.lp-content.pwa-pm figure.pm-product-visual { width: 100%; max-width: none; margin: 32px 0 0; padding: 0; border: 0; background: transparent; }
.lp-content.pwa-pm .pm-product-visual img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 1200 / 630; margin: 0; border-radius: 0; background: #fff; object-fit: contain; }
.lp-content.pwa-pm dl.requirements { max-width: none; margin: 28px 0 0; padding: 0; border-bottom: 1px solid var(--pm-line); }
.lp-content.pwa-pm dl.requirements > div { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--pm-line); }
.lp-content.pwa-pm .requirements dt { min-width: 0; margin: 0; padding: 20px 24px; background: var(--pm-soft); color: var(--pm-ink); font-size: 17px; line-height: 1.8; font-weight: 700; }
.lp-content.pwa-pm .requirements dd { min-width: 0; margin: 0; padding: 20px 24px; border-left: 1px solid var(--pm-line); color: var(--pm-ink); }
.lp-content.pwa-pm .requirements dd p { margin: 0; }
.lp-content.pwa-pm .requirements dd p + p { margin-top: 12px; }
.lp-content.pwa-pm main > section.conditions { border-top: 4px solid var(--pm-orange); background: var(--pm-soft); }
.lp-content.pwa-pm .conditions p { max-width: 85ch; }
.lp-content.pwa-pm main > section.limitations { border-left: 0; border-top: 2px solid var(--pm-line); background: #fff; }
.lp-content.pwa-pm .limitations li { padding-bottom: 12px; border-bottom: 1px solid var(--pm-line); }
.lp-content.pwa-pm .limitations li:last-child { margin-bottom: 0; }

/* These are wide OS-operation examples, not portrait device screenshots. */
.lp-content.pwa-pm .photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 32px; margin: 28px 0 0; }
.lp-content.pwa-pm .photos figure { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.lp-content.pwa-pm .photos figure img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; border: 1px solid var(--pm-line); border-radius: 0; background: #fff; object-fit: contain; }
.lp-content.pwa-pm figcaption { margin-top: 12px; color: var(--pm-muted); font-size: 14px; line-height: 1.75; }
.lp-content.pwa-pm .photos figcaption { padding-bottom: 12px; border-bottom: 1px solid var(--pm-line); color: var(--pm-ink); font-size: 16px; font-weight: 700; }

.lp-content.pwa-pm ol.registration-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; max-width: none; margin: 28px 0; padding: 0; list-style: none; counter-reset: pwa-step; }
.lp-content.pwa-pm .registration-steps > li { min-width: 0; margin: 0; padding: 20px 0 0; border-top: 2px solid var(--pm-teal); counter-increment: pwa-step; }
.lp-content.pwa-pm .registration-steps > li::before { content: counter(pwa-step, decimal-leading-zero); display: block; margin-bottom: 12px; color: var(--pm-teal); font-size: 24px; line-height: 1.3; font-weight: 750; font-variant-numeric: tabular-nums; }
.lp-content.pwa-pm .registration-steps strong { display: block; margin-bottom: 8px; font-size: 18px; line-height: 1.7; }
.lp-content.pwa-pm .registration-steps p { margin: 8px 0 0; }
.lp-content.pwa-pm main > section.registration { background: #f1f6f4; }
.lp-content.pwa-pm .registration .pm-actions { margin-top: 28px; }
.lp-content.pwa-pm .registration a.button { min-width: 320px; max-width: 100%; margin-top: 20px; }
.lp-content.pwa-pm main > a.button { margin: 28px var(--pm-gutter); }
.lp-content.pwa-pm .sources { color: var(--pm-muted); font-size: 15px; }
.lp-content.pwa-pm :is(main, .lp-content) .sources h2 { font-size: 24px; }
.lp-content.pwa-pm .week-related { margin-top: 0; }
.lp-content.pwa-pm .pm-legal { width: 100%; max-width: none; margin: 0; padding: 32px var(--pm-gutter) 40px; border-top: 1px solid var(--pm-line); background: var(--pm-soft); color: var(--pm-muted); font-size: 13px; line-height: 1.85; }
.lp-content.pwa-pm .pm-legal .shell { display: flex; flex-wrap: wrap; gap: 20px 32px; width: 100%; max-width: none; margin: 0; padding: 0; }
.lp-content.pwa-pm .pm-legal nav { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.lp-content.pwa-pm .pm-legal p { max-width: 95ch; }

@media (max-width: 1199px) {
  .lp-content.pwa-pm { --pm-gutter: 32px; }
  .lp-content.pwa-pm h1 > span:first-child { font-size: 44px; }
  .lp-content.pwa-pm :is(main, .lp-content) h2 { font-size: 28px; }
}
@media (max-width: 1023px) {
  .lp-content.pwa-pm main > section { padding-top: 48px; padding-bottom: 48px; }
  .lp-content.pwa-pm section.intro.pm-hero { padding-top: 32px; padding-bottom: 32px; }
  .lp-content.pwa-pm .pm-hero > :not(.section-inner), .lp-content.pwa-pm .pm-hero > .section-inner > * { max-width: calc(100% - 232px); }
  .lp-content.pwa-pm .pm-hero::after { width: 200px; height: 200px; }
  .lp-content.pwa-pm .pm-hero .lead { font-size: 20px; }
  .lp-content.pwa-pm .pm-hero.pm-hero--text-only > :not(.section-inner), .lp-content.pwa-pm .pm-hero.pm-hero--text-only > .section-inner > * { max-width: 80ch; }
  .lp-content.pwa-pm .photos { gap: 24px; }
  .lp-content.pwa-pm ol.registration-steps { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
@media (max-width: 767px) {
  .lp-content.pwa-pm { --pm-gutter: 20px; font-size: 16px; }
  .lp-content.pwa-pm .review-bar { font-size: 11px; }
  .lp-content.pwa-pm header.pm-header { gap: 0 20px; min-height: 0; padding-top: 8px; padding-bottom: 8px; font-size: 13px; }
  .lp-content.pwa-pm .pm-header .brand { min-height: 36px; font-size: 19px; }
  .lp-content.pwa-pm .pm-nav { gap: 0 16px; }
  .lp-content.pwa-pm main > section { padding-top: 36px; padding-bottom: 36px; }
  .lp-content.pwa-pm :is(main, .lp-content) h1 { margin: 10px 0 12px; font-size: 18px; line-height: 1.5; }
  .lp-content.pwa-pm h1 > span:first-child { margin-bottom: 6px; font-size: 32px; }
  .lp-content.pwa-pm :is(main, .lp-content) h2 { margin-bottom: 20px; font-size: 25px; }
  .lp-content.pwa-pm h3 { font-size: 19px; }
  .lp-content.pwa-pm section.intro.pm-hero { display: grid; grid-template-columns: minmax(0, 1fr); padding-top: 20px; padding-bottom: 24px; }
  .lp-content.pwa-pm .pm-hero > .section-inner { display: contents; }
  .lp-content.pwa-pm .pm-hero > :not(.section-inner), .lp-content.pwa-pm .pm-hero > .section-inner > * { width: 100%; max-width: 100%; }
  .lp-content.pwa-pm .pm-hero .eyebrow { grid-row: 1; margin-bottom: 6px; }
  .lp-content.pwa-pm .pm-hero h1 { grid-row: 2; }
  .lp-content.pwa-pm .pm-hero .lead { grid-row: 3; margin: 8px 0 12px; font-size: 18px; line-height: 1.65; }
  .lp-content.pwa-pm .pm-hero::after { position: relative; grid-row: 4; top: auto; right: auto; width: 72px; height: 72px; margin: 0; transform: none; justify-self: center; }
  .lp-content.pwa-pm .pm-actions { flex-direction: column; gap: 10px; margin-top: 14px; }
  .lp-content.pwa-pm .pm-actions a { width: 100%; }
  .lp-content.pwa-pm :is(main, .lp-content) :is(a.button, .pm-primary, .pm-secondary) { min-height: 50px; padding: 11px 16px; font-size: 16px; }
  .lp-content.pwa-pm .pm-hero + .pm-overview { padding-top: 24px; }
  .lp-content.pwa-pm figure.pm-product-visual { margin-top: 28px; }
  .lp-content.pwa-pm dl.requirements > div { grid-template-columns: minmax(0, 1fr); }
  .lp-content.pwa-pm .requirements dt { padding: 14px 16px 8px; font-size: 16px; }
  .lp-content.pwa-pm .requirements dd { padding: 12px 16px 18px; border-left: 0; }
  .lp-content.pwa-pm .photos { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lp-content.pwa-pm .registration a.button { min-width: 0; width: 100%; }
  .lp-content.pwa-pm main > a.button { width: calc(100% - 2 * var(--pm-gutter)); }
  .lp-content.pwa-pm .pm-legal { padding-top: 28px; padding-bottom: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-content.pwa-pm, .lp-content.pwa-pm * { scroll-behavior: auto; }
}
@media (forced-colors: active) {
  .lp-content.pwa-pm :is(.pm-primary, .pm-secondary, a.button) { forced-color-adjust: auto; }
}

.lp-content.pwa-pm{--hero-portrait:url("assets/jwb-avatar.png")}
.lp-content.pwa-pm .pm-page-nav{padding:10px var(--pm-gutter);border-bottom:1px solid var(--pm-line)}

.week-lp .lp-content.pwa-pm .week-related{margin:0}

@media(max-width:767px){.lp-content.pwa-pm .pm-page-nav{display:none}.lp-content.pwa-pm .pm-hero+.pm-overview{padding-top:20px}}
