/* Local review: Playbook navigation in its established charcoal/silver style. */
html.pb-nav-ready { scroll-padding-top: 86px; }
html.pb-menu-open { overscroll-behavior: none; }
.pb-public-shell .pb-header {
  --pb-header-height: 68px;
  position: sticky;
  top: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  height: var(--pb-header-height);
  min-height: var(--pb-header-height);
  padding: 0 max(24px, calc((100vw - 1180px) / 2));
  color: #272b31;
  background: #e9ebee;
  border-bottom: 1px solid rgba(112,125,144,.2);
  box-shadow: 0 0 0 transparent;
  transition: box-shadow 180ms ease, background-color 180ms ease;
}
.pb-public-shell .pb-header.is-scrolled {
  background: #eef0f2;
  box-shadow: 0 4px 18px rgba(36,44,57,.09);
}
.pb-public-shell .pb-brand {
  flex: 0 0 auto;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  min-height: 44px;
  color: #272b31;
  font-family: Mona, Arial, sans-serif;
  font-stretch: normal;
  font-weight: 400;
  text-decoration: none;
  white-space: nowrap;
}
.pb-public-shell .pb-brand-top {
  display: block;
  margin-bottom: 3px;
  font-size: 11px;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.pb-public-shell .pb-brand-name {
  display: block;
  font-size: 18px;
  font-weight: 550;
  line-height: 1.12;
  letter-spacing: -.05em;
}
.pb-public-shell .pb-brand-name sup {
  margin-left: 1px;
  font-size: .45em;
  line-height: 0;
  vertical-align: super;
}
.pb-public-shell .pb-menu-toggle,
.pb-public-shell .pb-menu-close {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 76px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #272b31;
  font-size: 11px;
  font-weight: 450;
  line-height: 1;
  letter-spacing: .015em;
}
.pb-public-shell .pb-menu-toggle svg,
.pb-public-shell .pb-menu-close svg { display: block; flex: 0 0 24px; }
.pb-public-shell .pb-desktop-nav,
.pb-public-shell .pb-desktop-utility { display: none; }

/* Do not assign display to a closed native dialog: it must remain unavailable. */
.pb-public-shell #pb-menu-dialog {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  color: #272b31;
  background: linear-gradient(150deg, #f0f2f4 0%, #e8ebef 55%, #dce1e7 100%);
  opacity: 0;
  transform: translateY(-8px);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(.22,1,.36,1);
}
.pb-public-shell #pb-menu-dialog[open] { display: flex; flex-direction: column; }
.pb-public-shell #pb-menu-dialog[data-state="open"] { opacity: 1; transform: translateY(0); }
.pb-public-shell #pb-menu-dialog[data-state="closing"] { opacity: 0; transform: translateY(-6px); }
.pb-public-shell #pb-menu-dialog::backdrop { background: rgba(39,43,49,.18); }
.pb-public-shell .pb-menu-heading {
  display: flex;
  flex: 0 0 68px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 68px;
  padding: 0 24px;
  border-bottom: 1px solid rgba(112,125,144,.2);
}
.pb-public-shell .pb-menu-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(14px, 4vh, 32px) 24px 22px;
  scrollbar-width: thin;
  scrollbar-color: #8f98a4 transparent;
}
.pb-public-shell .pb-mobile-nav { display: flex; flex-direction: column; }
.pb-public-shell .pb-mobile-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 61px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(112,125,144,.25);
  color: #272b31;
  font-size: 25px;
  font-weight: 450;
  line-height: 1.15;
  letter-spacing: -.035em;
  text-decoration: none;
}
.pb-public-shell .pb-mobile-nav a > span {
  flex: 0 0 auto;
  color: #657080;
  font-size: 20px;
  font-weight: 350;
  transition: transform 160ms ease;
}
@media (hover: hover) {
  .pb-public-shell .pb-mobile-nav a:hover { color: #05090e; }
  .pb-public-shell .pb-mobile-nav a:hover > span { transform: translateX(2px); }
}
.pb-public-shell .pb-menu-footer {
  flex: 0 0 auto;
  padding: 18px 24px max(12px, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(112,125,144,.2);
  background: rgba(239,241,244,.8);
}
.pb-public-shell .pb-menu-footer .pb-menu-cta {
  background: #1c2025;
  color: #fff !important;
  border: 1px solid #959daa !important;
  text-decoration: none;
  font-family: Mona, Arial, sans-serif;
  font-weight: 500 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 56px;
  padding: 16px 22px;
  border-radius: 999px;
  font-size: 14px;
  line-height: 1.25;
  white-space: nowrap;
}
.pb-public-shell .pb-menu-footer .pb-menu-cta > span { font-size: 22px; }
.pb-public-shell .pb-mobile-utility { display: flex; justify-content: center; padding-top: 5px; }
.pb-public-shell .pb-mobile-utility .p3-motion,
.pb-public-shell .pb-desktop-utility .p3-motion {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 0 6px;
  color: #555f6d;
  border: 0;
  background: none;
  opacity: 1;
  font-size: 11px !important;
  line-height: 1.2;
}
.pb-public-shell:has(.pb-header) #opening.final-review-hero {
  min-height: min(800px, calc(100svh - 68px));
}
.pb-public-shell:has(.pb-header) :is(#opening, #summary, #how-it-works, #reviews, #offer, #creator, #questions, #trial) {
  scroll-margin-top: 0;
}
@media (min-width: 1100px) {
  html.pb-nav-ready { scroll-padding-top: 94px; }
  .pb-public-shell .pb-header { --pb-header-height: 76px; gap: 24px; }
  .pb-public-shell .pb-brand-name { font-size: 18px; }
  .pb-public-shell .pb-brand-top { font-size: 12px; }
  .pb-public-shell .pb-menu-toggle { display: none; }
  .pb-public-shell .pb-desktop-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(16px, 1.8vw, 25px);
    margin-left: auto;
  }
  .pb-public-shell .pb-desktop-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: #343b45;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
  }
  .pb-public-shell .pb-desktop-nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
  .pb-public-shell .pb-desktop-utility {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    padding-left: 15px;
    border-left: 1px solid rgba(112,125,144,.3);
  }
  .pb-public-shell .pb-desktop-utility .p3-motion { font-size: 10px !important; }
  .pb-public-shell:has(.pb-header) #opening.final-review-hero { min-height: min(800px, calc(100svh - 76px)); }
}
@media (max-width: 400px) {
  .pb-public-shell .pb-brand-name { font-size: 16px; }
}
@media (max-width: 360px) {
  .pb-public-shell .pb-header,
  .pb-public-shell .pb-menu-heading { padding-inline: 18px; gap: 12px; }
  .pb-public-shell .pb-brand-top { font-size: 10px; }
  .pb-public-shell .pb-menu-toggle,
  .pb-public-shell .pb-menu-close { min-width: 70px; gap: 7px; }
  .pb-public-shell .pb-menu-body { padding-inline: 18px; }
  .pb-public-shell .pb-menu-footer { padding-inline: 18px; }
  .pb-public-shell .pb-menu-footer .pb-menu-cta { padding-inline: 18px; font-size: 13px; }
}
@media (max-height: 720px) {
  .pb-public-shell .pb-menu-body { padding-block: 8px 12px; }
  .pb-public-shell .pb-mobile-nav a { min-height: 54px; padding-block: 12px; font-size: 23px; }
  .pb-public-shell .pb-menu-footer { padding-top: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .pb-public-shell .pb-header,
  .pb-public-shell #pb-menu-dialog,
  .pb-public-shell .pb-mobile-nav a > span { transition: none; transform: none; }
}
:is(.motion-paused, [data-motion="off"]) .pb-public-shell .pb-header,
:is(.motion-paused, [data-motion="off"]) .pb-public-shell #pb-menu-dialog,
:is(.motion-paused, [data-motion="off"]) .pb-public-shell .pb-mobile-nav a > span { transition: none; transform: none; }
@media print {
  .pb-public-shell .pb-header { position: static; box-shadow: none; background: none; }
  .pb-public-shell .pb-menu-toggle,
  .pb-public-shell .pb-desktop-nav,
  .pb-public-shell .pb-desktop-utility,
  .pb-public-shell #pb-menu-dialog[open] { display: none !important; }
}

/* One public shell, isolated from content/reader page templates. */
body.pb-public-shell{margin:0;padding-top:0}
.pb-public-shell>.utility-bar{display:none}
.pb-public-shell .pb-desktop-utility:empty{display:none}
.pb-public-shell.pb-shell-legacy main>.container,.pb-public-shell.pb-shell-legacy main.wrap{max-width:1180px;width:calc(100% - 48px);margin-inline:auto;padding-inline:0}
.pb-public-shell .pb-header,.pb-public-shell #pb-menu-dialog,.pb-public-shell #pb-menu-dialog *,.pb-public-shell .pb-public-footer,.pb-public-shell .pb-public-footer *{box-sizing:border-box}
.pb-public-shell .pb-header{max-width:none;margin:0;inset-inline:0;font-family:Mona,Arial,sans-serif}
.pb-public-shell .pb-header a,.pb-public-shell #pb-menu-dialog a{border-bottom:0}
.pb-public-shell .pb-header::before,.pb-public-shell .pb-header::after{display:none}
.pb-public-shell .pb-public-footer{position:relative;display:block;width:calc(100% - 48px);max-width:1180px;margin:50px auto 0;padding:34px 0 40px;border-top:1px solid rgba(38,48,60,.22);background:none;color:#50565e;font:13px/1.6 Mona,Arial,sans-serif}
.pb-public-shell .pb-footer-row{display:flex;align-items:center;justify-content:space-between;gap:28px}
.pb-public-shell .pb-public-footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 20px;max-width:750px}
.pb-public-shell .pb-public-footer nav a{font:13px/1.6 Mona,Arial,sans-serif;color:inherit;text-decoration:none;border:0;padding:4px 0}
.pb-public-shell .pb-public-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}
.pb-public-shell .pb-company-line{font:11px/1.7 Mona,Arial,sans-serif;color:#697480;margin:18px 0 0;max-width:none}
.pb-public-shell .pb-footer-privacy{margin:24px 0 0;border:0;padding:0}
.pb-public-shell .pb-footer-privacy summary{font:12px/1.6 Mona,Arial,sans-serif;cursor:pointer;list-style:revert;display:list-item;padding:0;border:0;color:inherit}
.pb-public-shell .pb-privacy-body{padding:16px 0 0;max-width:900px}
.pb-public-shell .pb-privacy-actions{display:flex;flex-wrap:wrap;gap:10px 24px;margin-bottom:18px}
.pb-public-shell .pb-privacy-actions button{color:inherit;font:12px/1.6 Mona,Arial,sans-serif;background:none;border:0;padding:4px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pb-public-shell .pb-optout{display:flex;align-items:center;gap:10px;font:12px/1.6 Mona,Arial,sans-serif;text-transform:none;letter-spacing:normal}
.pb-public-shell .pb-optout input{width:17px;height:17px;min-height:0;margin:0;accent-color:#4c6072}
.pb-public-shell .pb-privacy-body p{font:12px/1.7 Mona,Arial,sans-serif;margin:12px 0 0;max-width:none}
.pb-public-shell .pb-landing-notes{position:relative;width:calc(100% - 48px);max-width:1180px;margin:40px auto 0;font:13px/1.7 Mona,Arial,sans-serif;color:#50565e}
.pb-public-shell .pb-landing-notes .p3-footer-disclosure{border:0;margin:0;padding:0}
.pb-public-shell .pb-landing-notes .p3-source-area{max-width:none;border:0;padding:14px 0 0;margin:0}
.pb-public-shell .pb-landing-notes .pb-product-note{font:12px/1.7 Mona,Arial,sans-serif;margin:12px 0}
.pb-public-shell .pb-landing-notes summary{font-size:13px;cursor:pointer}
.pb-public-shell .pb-landing-notes a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.pb-public-shell.pb-answers-design .answer-container{width:calc(100% - 48px);max-width:1180px}
.pb-public-shell.pb-answers-design :is(.answer-heading,.answer-search,.answers-list,.answer-next,.answer-related){max-width:none}
.pb-public-shell.pb-answers-design .answer-row{grid-template-columns:210px minmax(0,1fr);border-top:0}
.pb-public-shell.pb-answers-design .answer-toc{top:106px}
.pb-public-shell.pb-answers-design .answer-copy h2{scroll-margin-top:106px}
.pb-public-shell.pb-shell-legacy .pb-header{font-stretch:normal;letter-spacing:normal}
.pb-public-shell .pb-sources .source-block{padding-block:32px}
.pb-public-shell .pb-sources .source-block h2{font-size:clamp(24px,3vw,34px)}
.pb-public-shell .pb-sources :is(p,li){font-size:16px;line-height:1.75}
@media(max-width:1050px){.pb-public-shell.pb-answers-design .answer-row{grid-template-columns:180px minmax(0,1fr);gap:40px}}
@media(max-width:760px){.pb-public-shell .pb-footer-row{display:block}.pb-public-shell .pb-public-footer nav{justify-content:flex-start;margin-top:24px;gap:10px 22px}.pb-public-shell .pb-public-footer{margin-top:28px;padding:26px 0 30px}.pb-public-shell.pb-answers-design .answer-row{grid-template-columns:minmax(0,1fr);gap:12px}}

/* The original login controller may still set an inline bottom offset for the
   cookie banner. Keep its real button inside the shared navigation utility. */
body.pb-public-login #dz-motion.p3-motion {
  position: static !important;
  inset: auto !important;
  z-index: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  height: auto !important;
  min-height: 44px;
  margin: 0;
  padding: 0 6px;
  border: 0;
  border-radius: 0;
  background: none;
  color: #555f6d;
  opacity: 1;
  transform: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font: inherit;
  font-size: 11px;
  line-height: 1.2;
  white-space: nowrap;
}
body.pb-public-login #dz-motion.p3-motion::before { content: none; }
@media print { body.pb-public-login #dz-motion.p3-motion { display: none; } }
