.pt-newsletter-nav-link:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
@media (max-width: 600px) {
  .pt-newsletter-nav-link { box-sizing: border-box; min-height: 44px; }
}

.pt-legal-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 20px;
}
footer:has(.pt-legal-links) { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 20px; }
.pt-legal-links a:hover, .pt-legal-links a:focus-visible { text-decoration: underline; }
@media (max-width: 800px) {
  .pt-legal-links { justify-content: center; margin-top: 12px; }
}
.pt-legal-main { display: block; max-width: 860px; margin-inline: auto; }
.pt-legal-back { display: inline-block; margin: 0 0 12px; }
.pt-legal {
  padding: clamp(16px, 4vw, 36px);
  border: 1px solid #cbd9e9;
  border-radius: 7px;
  background: #fff;
  color: #172a46;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.pt-legal h1 { margin: 0 0 16px; }
.pt-legal h2 { margin: 24px 0 8px; }
.pt-legal p { margin: 0 0 12px; }
.pt-legal p:last-child { margin-bottom: 0; }
.pt-legal dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 20px; }
.pt-legal dt { font-weight: 700; }
.pt-legal dd { margin: 0; }
.pt-legal .pt-legal-draft, .pt-legal .pt-legal-pending:not(span) {
  border-left: 3px solid #ae7613;
  background: #fff7e6;
  color: #523400;
  padding: 8px 12px;
}
.pt-legal span.pt-legal-pending { color: #735016; }
@media (max-width: 520px) {
  .pt-legal dl { grid-template-columns: minmax(0, 1fr); }
  .pt-legal dd { margin-bottom: 8px; }
}

.pt-newsletter-trial-nav ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; background: #1858ae; color: #fff; }
.pt-newsletter-trial-nav li:first-child, .pt-newsletter-trial-nav a { display: flex; align-items: center; min-height: 44px; padding: 0 16px; color: inherit; }
.pt-newsletter-trial-nav a:hover { text-decoration: underline; }

.pt-subscribe {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 4vw, 44px);
  margin-block: 28px 22px;
  padding: clamp(20px, 3.5vw, 36px);
  scroll-margin-top: 16px;
  border: 1px solid #cbd9e9;
  border-top: 4px solid #1858ae;
  border-radius: 7px;
  background: #f2f6fb;
  color: #172a46;
}
.pt-subscribe .pt-subscribe-label {
  margin: 0 0 8px;
  color: #1858ae;
  font-size: .875rem;
  font-weight: 700;
}
.pt-subscribe h2 {
  margin: 0 0 8px;
  color: #172a46;
  font-size: clamp(1.4rem, 2.6vw, 2rem);
  line-height: 1.18;
}
.pt-subscribe p { margin: 0; line-height: 1.5; }
.pt-subscribe .pt-subscribe-renewal { margin-top: 8px; }
.pt-subscribe :is(form, .pt-subscribe-inert) {
  display: grid;
  gap: 8px;
  margin: 0;
  min-width: 0;
}
.pt-subscribe :is(form, .pt-subscribe-inert) > label[for] { font-weight: 700; }
.pt-subscribe :is(.pt-subscribe-row, .ri-newsletter-row) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.pt-subscribe input[type="text"], .pt-subscribe input[type="email"], .pt-subscribe button {
  box-sizing: border-box;
  min-width: 0;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid #64788f;
  border-radius: 5px;
  font: inherit;
}
.pt-subscribe input[type="text"], .pt-subscribe input[type="email"] { width: 100%; background: #fff; color: #172a46; }
.pt-subscribe button {
  border-color: #1858ae;
  background: #1858ae;
  color: #fff;
  cursor: pointer;
  font-weight: 700;
}
.pt-subscribe button:enabled:hover { background: #124582; }
.pt-subscribe button:disabled { opacity: .65; cursor: not-allowed; }
.pt-subscribe :focus-visible { outline: 3px solid #1858ae; outline-offset: 2px; }
.pt-subscribe :is(.pt-subscribe-consent, .ri-newsletter-consent) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  font-size: .9rem;
  line-height: 1.45;
  cursor: pointer;
}
.pt-subscribe :is(.pt-subscribe-consent, .ri-newsletter-consent) input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #1858ae; }
.pt-subscribe .ri-newsletter-form { max-width: none; }
.pt-subscribe .ri-newsletter-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pt-subscribe .ri-newsletter-form p[role="status"] { font-size: .875rem; color: #435771; }
.pt-subscribe-note, .pt-subscribe-status { font-size: .875rem; color: #435771; }
.pt-subscribe-status:not(:empty) { padding: 8px 10px; border-radius: 4px; background: #e4edf9; }
.pt-subscribe-status:empty { margin-top: -8px; }
@media (max-width: 760px) {
  .pt-subscribe { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 440px) {
  .pt-subscribe :is(.pt-subscribe-row, .ri-newsletter-row) { grid-template-columns: minmax(0, 1fr); }
}
@supports (grid-template-columns: subgrid) {
  @media (min-width: 761px) {
    .pt-subscribe :is(form, .pt-subscribe-inert) {
      grid-template-columns: minmax(0, 1fr) auto;
    }
    .pt-subscribe :is(form, .pt-subscribe-inert) > * { grid-column: 1 / -1; }
    .pt-subscribe :is(form, .pt-subscribe-inert) > input[type="text"] { grid-column: 1; }
    .pt-subscribe :is(.pt-subscribe-row, .ri-newsletter-row) { grid-template-columns: subgrid; }
  }
}
