.privacy-policy-body { --privacy-navy: #071d3b; --privacy-red: #a5232e; --privacy-red-soft: #fff3f1; --privacy-gold: #d1a431; --privacy-paper: #f7f2e8; --privacy-ink: #1f2630; --privacy-muted: #62666d; overflow-x: hidden;
}
.privacy-main { width: 100%; max-width: none; margin: 0; padding: 0;
}
.privacy-main > .public-breadcrumbs { width: min(100% - 2rem, 74rem); margin-inline: auto;
}
.privacy-page { width: 100%; margin: 0; gap: 0;
}
.privacy-page,
.privacy-page * { box-sizing: border-box;
}
.privacy-container { width: min(100% - 2rem, 74rem); margin-inline: auto;
}
.privacy-page h1,
.privacy-page h2,
.privacy-page h3 { margin: 0; color: var(--privacy-navy); font-family: Georgia, "Times New Roman", serif; line-height: 1.12;
}
.privacy-page p,
.privacy-page ul,
.privacy-page ol,
.privacy-page dl { margin-block: 0;
}
.privacy-page a,
.privacy-page button,
.privacy-page select { overflow-wrap: anywhere;
}
.privacy-page :is(a, button, select):focus-visible { outline: 2px solid var(--privacy-navy); outline-offset: 3px;
}
.privacy-eyebrow { color: var(--privacy-red); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
}
.privacy-eyebrow--light { color: #fff;
}
.privacy-policy-hero { border-top: 4px solid var(--privacy-gold); background: var(--privacy-navy); color: #fff;
}
.privacy-policy-hero__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.55fr); gap: 4rem; align-items: end; padding-block: clamp(3rem, 7vw, 6rem);
}
.privacy-policy-hero__copy { display: grid; gap: 1.25rem;
}
.privacy-policy-hero h1 { color: #fff; font-size: clamp(2.8rem, 7vw, 5.6rem); letter-spacing: -0.035em;
}
.privacy-policy-hero__lead { max-width: 62ch; color: #e3e8ef; font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.65;
}
.privacy-policy-meta { display: grid; gap: 1.25rem; padding-top: 1.25rem; border-top: 1px solid rgb(255 255 255 / 32%);
}
.privacy-draft-badge,
.privacy-source-notice { padding: 0.7rem 0.85rem; border-left: 4px solid var(--privacy-gold); background: rgb(255 255 255 / 10%); color: #fff; font-size: 0.85rem; font-weight: 750;
}
.privacy-policy-meta dl,
.privacy-contact-cta dl { display: grid; gap: 0.65rem;
}
.privacy-policy-meta dl div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 0.75rem;
}
.privacy-policy-meta dt { color: #aeb9c9; font-size: 0.76rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
}
.privacy-policy-meta dd { margin: 0; color: #fff; font-weight: 700;
}
.privacy-print-button,
.privacy-contact-cta__action { display: inline-flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid currentColor; border-radius: 0; background: transparent; color: #fff; font: inherit; font-weight: 800; text-decoration: none;
}
.privacy-print-button { width: 100%; padding: 0.75rem 0.9rem; cursor: pointer;
}
.privacy-intro { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--privacy-paper);
}
.privacy-intro__grid { display: grid; grid-template-columns: minmax(15rem, 0.75fr) minmax(0, 1.25fr); gap: clamp(2rem, 6vw, 6rem);
}
.privacy-intro h2 { max-width: 16ch; margin-top: 0.8rem; font-size: clamp(2rem, 4vw, 3.2rem);
}
.privacy-intro__copy { display: grid; gap: 1rem; max-width: 70ch; color: var(--privacy-ink); font-size: 1.05rem; line-height: 1.75;
}
.privacy-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 3rem; padding: 0; list-style: none;
}
.privacy-summary li { min-width: 0; padding: 1.5rem; border-top: 3px solid var(--privacy-red); border-right: 1px solid #d7cfc0; background: #fff;
}
.privacy-summary li:last-child { border-right: 0;
}
.privacy-summary span,
.privacy-policy-section__number { color: var(--privacy-red); font-weight: 850;
}
.privacy-summary h3 { margin-block: 0.65rem 0.5rem; font-size: 1.15rem;
}
.privacy-summary p { color: var(--privacy-muted); line-height: 1.6;
}
.privacy-practice { padding-block: 2.4rem; background: var(--privacy-red); color: #fff;
}
.privacy-practice__grid { display: grid; grid-template-columns: 18rem minmax(0, 1fr); gap: 3rem;
}
.privacy-practice__list { display: grid; gap: 1rem;
}
.privacy-practice__list p { display: grid; grid-template-columns: minmax(11rem, 0.7fr) minmax(0, 1.3fr); gap: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid rgb(255 255 255 / 35%); line-height: 1.55;
}
.privacy-practice__list p:last-child { padding-bottom: 0; border-bottom: 0;
}
.privacy-mobile-jump { display: none;
}
.privacy-policy-body { padding-block: clamp(3rem, 7vw, 6rem); background: #fff;
}
.privacy-policy-layout { display: grid; grid-template-columns: minmax(16rem, 18.75rem) minmax(0, 1fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start;
}
.privacy-toc { position: sticky; top: 7rem; max-height: calc(100vh - 8rem); overflow-y: auto; border-top: 4px solid var(--privacy-gold);
}
.privacy-toc__title { padding-block: 1rem 0.75rem; color: var(--privacy-navy); font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; font-weight: 700;
}
.privacy-toc__group > p { padding: 0.85rem 0.6rem 0.35rem; color: var(--privacy-muted); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase;
}
.privacy-toc a { display: grid; min-height: 34px; grid-template-columns: 2rem minmax(0, 1fr); align-items: center; padding: 0.2rem 0.55rem; border-left: 4px solid transparent; color: var(--privacy-navy); font-size: 0.875rem; line-height: 1.35; text-decoration: none;
}
.privacy-toc a span { color: #6b6b70; font-variant-numeric: tabular-nums;
}
.privacy-toc a.is-active { border-left-color: var(--privacy-red); background: var(--privacy-red-soft); font-weight: 700;
}
.privacy-toc a.is-active span { color: var(--privacy-red);
}
.privacy-sections { min-width: 0;
}
.privacy-policy-section { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem; padding-block: 0 3.5rem; scroll-margin-top: 7rem;
}
.privacy-policy-section__content { display: grid; gap: 1rem; min-width: 0;
}
.privacy-policy-section h2 { font-size: clamp(1.65rem, 3vw, 2.35rem);
}
.privacy-policy-section__content > :is(p, ul) { max-width: 70ch; color: var(--privacy-ink); line-height: 1.75;
}
.privacy-policy-section ul { display: grid; gap: 0.55rem; padding-left: 1.25rem;
}
.privacy-contact-cta { padding-block: clamp(3rem, 6vw, 5rem); background: var(--privacy-navy); color: #fff;
}
.privacy-contact-cta__grid { display: grid; grid-template-columns: minmax(14rem, 0.7fr) minmax(0, 1.3fr); gap: 2rem 4rem; align-items: start;
}
.privacy-contact-cta h2 { margin-top: 0.7rem; color: #fff; font-size: clamp(2rem, 4vw, 3.2rem);
}
.privacy-contact-cta__details { display: grid; gap: 1.25rem; max-width: 70ch; line-height: 1.65;
}
.privacy-contact-cta dl div { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: 0.75rem;
}
.privacy-contact-cta dd { margin: 0;
}
.privacy-contact-cta a { color: #fff;
}
.privacy-contact-cta__action { grid-column: 2; width: fit-content; max-width: 100%; padding: 0.75rem 1rem;
}
@media (max-width: 50rem) { .privacy-policy-hero__grid, .privacy-intro__grid, .privacy-practice__grid, .privacy-contact-cta__grid { grid-template-columns: 1fr; gap: 2rem; }
 .privacy-summary { grid-template-columns: 1fr; }
 .privacy-summary li { border-right: 0; border-bottom: 1px solid #d7cfc0; }
 .privacy-practice__list p { grid-template-columns: 1fr; gap: 0.35rem; }
 .privacy-mobile-jump { position: sticky; z-index: 8; top: 0; display: grid; gap: 0.35rem; width: 100%; padding: 0.75rem 1rem; border-bottom: 1px solid #d7cfc0; background: var(--privacy-paper); }
 .privacy-mobile-jump label { color: var(--privacy-navy); font-size: 0.78rem; font-weight: 800; }
 .privacy-mobile-jump select { min-height: 44px; width: 100%; border: 1px solid var(--privacy-navy); border-radius: 0; background: #fff; color: var(--privacy-navy); font: inherit; }
 .privacy-policy-layout { grid-template-columns: 1fr; }
 .privacy-toc { display: none; }
 .privacy-policy-section { grid-template-columns: 2.25rem minmax(0, 1fr); scroll-margin-top: 6.5rem; }
 .privacy-contact-cta__action { grid-column: 1; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .privacy-page { scroll-behavior: auto; }
}
@media print { .trcc-utility, .trcc-header, .site-footer, .public-breadcrumbs, .privacy-print-button, .privacy-mobile-jump, .privacy-toc, .privacy-contact-cta, .skip-link { display: none !important; }
 .privacy-policy-hero, .privacy-intro, .privacy-practice, .privacy-policy-body { padding-block: 1.25rem; background: #fff !important; color: #000 !important; }
 .privacy-policy-hero h1, .privacy-policy-hero p, .privacy-policy-meta :is(dt, dd), .privacy-practice :is(h2, p, strong, span) { color: #000 !important; }
 .privacy-policy-layout, .privacy-policy-hero__grid { display: block; }
 .privacy-policy-section { break-inside: avoid; padding-bottom: 1.5rem; }
}
