/* One public-site control language, shared by Next pages and the static homepage. */
.soty-consent {
  position: fixed; z-index: 100; right: 24px; bottom: max(24px, env(safe-area-inset-bottom));
  box-sizing: border-box; width: min(440px, calc(100% - 32px)); padding: 24px;
  border: 1px solid #dedede; border-radius: 18px; background: #fff; color: #161616;
  box-shadow: 0 12px 48px #0003; font-family: inherit; text-align: left;
}
.soty-consent h2 { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 650; letter-spacing: -.02em; text-wrap: balance; }
.soty-consent__copy { margin: 12px 0 0; font-size: 14px; line-height: 1.6; color: #505050; }
.soty-consent__copy a { color: #252525; text-decoration: underline; text-underline-offset: 3px; }
.soty-consent__current { margin: 10px 0 0; font-size: 13px; color: #505050; }
.soty-consent__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.soty-consent__choice { min-height: 48px; padding: 12px 16px; border: 1px solid #161616; border-radius: 10px; background: #161616; color: #fff; font-size: 14px; line-height: 1.3; font-weight: 600; font-family: inherit; cursor: pointer; }
.soty-consent__choice:hover { background: #333; }
.soty-consent__close { display: block; margin-top: 12px; padding: 6px 0; border: 0; background: transparent; color: #505050; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.soty-consent button:focus-visible, .soty-consent a:focus-visible { outline: 2px solid #386bdc; outline-offset: 3px; }
.soty-marketing .soty-action, .soty-marketing .dsh-cta-inline {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px;
  border: 1px solid #ddd; border-radius: 10px; padding: 13px 22px;
  background: #fff; color: #161616; font-size: 14px; line-height: 1.4; font-weight: 600;
  text-decoration: none; cursor: pointer; text-align: center;
}
.soty-marketing .soty-action:hover, .soty-marketing .dsh-cta-inline:hover { background: #e9e9e9; color: #161616; }
.soty-marketing .soty-action:focus-visible, .soty-marketing .dsh-cta-inline:focus-visible { outline: 2px solid #7c9dff; outline-offset: 4px; }
.soty-marketing h1, .soty-marketing h2, .soty-marketing h3 { text-wrap: balance; }
.soty-marketing p { text-wrap: pretty; }
.soty-marketing .dsh-prose-body > p { max-width: 68ch; line-height: 1.8; }
.soty-marketing .dsh-prose-body > h2 { margin-top: 56px; }
.soty-source-note { padding: 24px; border: 1px solid var(--dsw-alias-border-default, #414754); border-radius: 12px; background: var(--dsw-alias-bg-layer-1); }
.soty-worked-calculation__result { margin-top: 24px; padding: 24px; border-radius: 8px; background: var(--dsw-alias-bg-base); }
.soty-payment-breakdown { margin-top: 24px; padding: 24px 0 0; border-top: 1px solid #414754; }
.soty-payment-breakdown__bar { display: flex; height: 22px; margin: 18px 0; overflow: hidden; border-radius: 4px; }
.soty-payment-breakdown__bar span:first-child { background: #a8bbff; }
.soty-payment-breakdown__bar span:last-child { background: #d6b87b; }
.soty-payment-breakdown dl > div:first-child dt::before, .soty-payment-breakdown dl > div:last-child dt::before { content: ''; display: inline-block; width: 9px; height: 9px; margin-right: 8px; background: #a8bbff; }
.soty-payment-breakdown dl > div:last-child dt::before { background: #d6b87b; }
.soty-workflow { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 40px; border-block: 1px solid #414754; }
.soty-workflow > a { padding: 24px; text-decoration: none; border-right: 1px solid #414754; }
.soty-workflow > a:first-child { padding-left: 0; }
.soty-workflow > a:last-child { border-right: 0; }
.soty-workflow > a:hover { background: #ffffff05; }
.soty-workflow > a:focus-visible { outline: 2px solid #a8bbff; outline-offset: 3px; }
@media (max-width: 640px) {
  .soty-workflow { grid-template-columns: 1fr; }
  .soty-workflow > a, .soty-workflow > a:first-child { padding: 20px 0; border-right: 0; border-bottom: 1px solid #414754; }
  .soty-workflow > a:last-child { border-bottom: 0; }
}
@media (max-width: 520px) {
  .soty-consent { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); padding: 20px; }
}
