:root { --pf-cc-blue: #00add8; --pf-cc-navy: #12364a; --pf-cc-border: #cfe4ec; }
.pf-cc[hidden], .pf-cc [hidden], .pf-cc-trigger[hidden] { display: none !important; }
.pf-cc { position: relative; z-index: 2147483000; font-family: inherit; color: var(--pf-cc-navy); }
.pf-cc__banner { position: fixed; right: 20px; bottom: 20px; left: 20px; display: flex; gap: 24px; align-items: center; max-width: 1120px; margin: 0 auto; padding: 20px; background: #fff; border: 1px solid var(--pf-cc-border); border-radius: 18px; box-shadow: 0 18px 60px rgba(9,48,67,.22); }
.pf-cc__copy { flex: 1 1 480px; }
.pf-cc__copy strong { display: block; margin-bottom: 5px; font-size: 20px; line-height: 1.25; }
.pf-cc__copy p { margin: 0 0 6px; font-size: 15px; line-height: 1.5; }
.pf-cc a, .pf-form-privacy a { color: #007fa4; text-decoration: underline; text-underline-offset: 2px; }
.pf-cc__actions, .pf-cc__modal-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pf-cc__actions { justify-content: flex-end; flex: 1 1 520px; }
.pf-cc__button { min-height: 46px; padding: 11px 17px; border: 2px solid #008eb6; border-radius: 12px; font: inherit; font-weight: 700; line-height: 1.2; cursor: pointer; }
.pf-cc__button--primary { color: #fff; background: #008eb6; }
.pf-cc__button--secondary { color: #07516b; background: #fff; }
.pf-cc__button:hover, .pf-cc__button:focus-visible, .pf-cc__close:focus-visible, .pf-cc-trigger:focus-visible { outline: 3px solid #ffd24a; outline-offset: 2px; }
.pf-cc__backdrop { position: fixed; inset: 0; background: rgba(4,25,34,.62); }
.pf-cc__modal { position: fixed; top: 50%; left: 50%; width: min(620px, calc(100% - 32px)); max-height: min(760px, calc(100vh - 32px)); overflow: auto; transform: translate(-50%, -50%); padding: 24px; background: #fff; border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.pf-cc__modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.pf-cc__modal h2 { margin: 0; font-size: 28px; color: var(--pf-cc-navy); }
.pf-cc__eyebrow { margin: 0 0 4px !important; color: #007fa4; font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pf-cc__close { width: 46px; height: 46px; flex: 0 0 46px; border: 1px solid var(--pf-cc-border); border-radius: 50%; color: var(--pf-cc-navy); background: #f3fafc; font-size: 30px; line-height: 1; cursor: pointer; }
.pf-cc__category { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 12px; padding: 16px; border: 1px solid var(--pf-cc-border); border-radius: 14px; background: #f8fcfd; }
.pf-cc__category p, .pf-cc__description { display: block; margin: 4px 0 0; color: #496875; font-size: 14px; line-height: 1.45; }
.pf-cc__category input[type="checkbox"] {
  position: relative !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid #8abcca !important;
  border-radius: 999px !important;
  background: #dcecf1 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer;
}
.pf-cc__category input[type="checkbox"]::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  transition: transform .18s ease;
}
.pf-cc__category input[type="checkbox"]:checked { border-color: #008eb6 !important; background: #008eb6 !important; }
.pf-cc__category input[type="checkbox"]:checked::after { transform: translateX(24px); }
.pf-cc__category input[type="checkbox"]:focus-visible { outline: 3px solid #ffd24a !important; outline-offset: 3px; }
.pf-cc__always { flex: 0 0 auto; color: #087552; font-size: 13px; font-weight: 800; }
.pf-cc__modal-actions { justify-content: flex-end; margin-top: 20px; }
.pf-cc-trigger { display: none !important; }
.pf-cc-open { overflow: hidden; }
.pf-form-privacy { margin: 10px 0 0; color: #536b75; font-size: 13px; line-height: 1.45; }

.pf-privacy-page { background: #f3fafc; color: #183a4a; }
.pf-privacy__hero { padding: 72px 20px 44px; background: linear-gradient(135deg,#e9faff 0%,#fff 65%); }
.pf-privacy__container { width: min(1080px, 100%); margin: 0 auto; }
.pf-privacy__eyebrow { margin: 0 0 8px; color: #0086aa; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pf-privacy-page h1 { margin: 0 0 14px; color: #12364a; font-size: clamp(34px,5vw,58px); line-height: 1.06; }
.pf-privacy__lead { max-width: 780px; margin: 0; color: #4b6977; font-size: clamp(17px,2vw,21px); line-height: 1.55; }
.pf-privacy__meta { display: inline-flex; margin-top: 20px; padding: 8px 12px; border-radius: 999px; background: #dff5fb; font-size: 14px; font-weight: 700; }
.pf-privacy__layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 34px; padding: 40px 20px 70px; }
.pf-privacy__nav { position: sticky; top: 110px; align-self: start; padding: 18px; border: 1px solid #d5e8ee; border-radius: 16px; background: #fff; }
.pf-privacy__nav strong { display: block; margin-bottom: 9px; }
.pf-privacy__nav a { display: block; padding: 7px 0; color: #17627d; text-decoration: none; }
.pf-privacy__content { min-width: 0; }
.pf-privacy__section { margin-bottom: 20px; padding: clamp(20px,3vw,34px); border: 1px solid #d5e8ee; border-radius: 18px; background: #fff; box-shadow: 0 10px 34px rgba(20,66,84,.06); }
.pf-privacy__section h2 { margin: 0 0 14px; color: #12364a; font-size: clamp(24px,3vw,32px); }
.pf-privacy__section h3 { margin: 22px 0 8px; color: #174c62; }
.pf-privacy__section p, .pf-privacy__section li { line-height: 1.65; }
.pf-privacy__section a { color: #007fa4; }
.pf-privacy__section ul { padding-left: 22px; }
.pf-privacy__table-wrap { overflow-x: auto; }
.pf-privacy__table { width: 100%; min-width: 720px; border-collapse: collapse; }
.pf-privacy__table th, .pf-privacy__table td { padding: 12px; border-bottom: 1px solid #dcebef; text-align: left; vertical-align: top; }
.pf-privacy__table th { color: #174c62; background: #eff9fb; }
.pf-privacy__callout { padding: 16px; border-left: 4px solid #00add8; border-radius: 8px; background: #eefafd; }

@media (max-width: 820px) {
  .pf-cc__banner { align-items: stretch; flex-direction: column; gap: 14px; }
  .pf-cc__actions { justify-content: stretch; flex-basis: auto; }
  .pf-cc__actions .pf-cc__button { flex: 1 1 180px; }
  .pf-privacy__layout { grid-template-columns: 1fr; }
  .pf-privacy__nav { position: static; }
}
@media (max-width: 560px) {
  html.pf-cc-open { overflow-y: auto; }
  html.pf-cc-open:has(.pf-cc__modal:not([hidden])) { overflow: hidden; }
  .pf-cc__banner {
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    left: 8px;
    max-height: min(50vh, 420px);
    max-height: min(50dvh, 420px);
    padding: 14px;
    gap: 10px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 16px;
    box-shadow: 0 14px 42px rgba(9,48,67,.2);
  }
  .pf-cc__copy { flex-basis: auto; }
  .pf-cc__copy strong { margin-bottom: 3px; font-size: 16px; line-height: 1.2; }
  .pf-cc__copy p { margin-bottom: 4px; font-size: 13px; line-height: 1.35; }
  .pf-cc__copy a { font-size: 13px; }
  .pf-cc__actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; }
  .pf-cc__actions .pf-cc__button { width: 100%; min-height: 44px; padding: 8px 9px; font-size: 12.5px; }
  .pf-cc__actions .pf-cc__button--primary { grid-column: 1 / -1; }
  .pf-cc__modal { width: calc(100% - 20px); max-height: calc(100vh - 20px); padding: 18px; border-radius: 14px; }
  .pf-cc__modal h2 { font-size: 24px; }
  .pf-cc__category { align-items: flex-start; }
  .pf-cc__always { max-width: 90px; text-align: right; }
  .pf-cc-trigger { right: 8px; bottom: 8px; }
  .pf-privacy__hero { padding-top: 46px; }
  .pf-privacy__layout { padding: 24px 12px 50px; }
}
@media (prefers-reduced-motion: reduce) { .pf-cc *, .pf-privacy-page * { scroll-behavior: auto !important; } }
