 :root {
     --navy: #05053E !important;
     --navy2: #1e304f;
     --muted: #6b7a99;
     --dark: #182641;
     --offwhite: #f5f6fa;
     --light: #eef0f8;
     --gold: #c9a84c;
     --gold2: #f0d882;
     --teal: #6b5bff;
     --teal2: #b8a7ff;
     --teal3: #6b5bff;
     --shadow: 0 4px 24px rgba(24, 38, 65, .07);
     --shadow2: 0 12px 48px rgba(24, 38, 65, .13);
     --font: 'Montserrat', sans-serif;
 }

 *,
 *::before,
 *::after {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: var(--font);
     background: #fff;
     color: var(--dark);
     overflow-x: hidden;
 }

 ::-webkit-scrollbar {
     width: 4px;
 }

 ::-webkit-scrollbar-thumb {
     background: var(--teal);
     border-radius: 4px;
 }

 img {
     max-width: 100%;
     display: block;
 }

 a {
     text-decoration: none;
     color: var(--teal);
 }

 a:hover {
     text-decoration: underline;
 }

 .wrap {
     max-width: 980px;
     margin: 0 auto;
     padding: 0 44px;
 }

 @keyframes fU {
     from {
         opacity: 0;
         transform: translateY(18px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 /* ══════════════════════════════
   HERO — COMPACT LEGAL BANNER
══════════════════════════════ */
 .pp-hero {
     background: var(--navy);
     padding: 72px 44px 56px;
     position: relative;
     overflow: hidden;
 }

 .pp-hero-grid {
     position: absolute;
     inset: 0;
     background-image: linear-gradient(rgba(34, 211, 238, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(34, 211, 238, .03) 1px, transparent 1px);
     background-size: 48px 48px;
 }

 .pp-hero-in {
     position: relative;
     z-index: 2;
     max-width: 90%;
     margin: 0 auto;
     display: grid;
     grid-template-columns: 1fr auto;
     align-items: end;
     gap: 32px;
 }

 .pp-hero-badge {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgba(34, 211, 238, .1);
     border: 1px solid rgba(34, 211, 238, .25);
     border-radius: 50px;
     padding: 7px 18px;
     font-size: 11px;
     font-weight: 700;
     letter-spacing: 2px;
     text-transform: uppercase;
     color: var(--teal3);
     margin-bottom: 16px;
     animation: fU .7s ease both;
 }

 .pp-hero h1 {
     font-size: clamp(28px, 4vw, 48px);
     font-weight: 900;
     letter-spacing: -1.8px;
     color: #fff;
     line-height: 1.04;
     margin-bottom: 10px;
     animation: fU .8s .05s ease both;
 }

 .pp-hero-sub {
     font-size: 16px;
     color: rgba(255, 255, 255, .45);
     font-weight: 500;
     line-height: 1.7;
     animation: fU .9s .1s ease both;
 }

 .pp-hero-meta {
     background: rgba(255, 255, 255, .06);
     border: 1px solid rgba(255, 255, 255, .1);
     border-radius: 16px;
     padding: 18px 22px;
     white-space: nowrap;
     animation: fU .9s .14s ease both;
     text-align: left;
 }

 .pp-hero-meta p {
     font-size: 12px;
     color: rgba(255, 255, 255, .38);
     margin-bottom: 5px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .5px;
 }

 .pp-hero-meta strong {
     font-size: 13.5px;
     color: #fff;
     font-weight: 700;
     display: block;
     margin-bottom: 2px;
 }

 .pp-hero-meta a {
     color: var(--teal2);
     font-size: 12px;
     font-weight: 700;
 }

 /* ══════════════════════════════
   STICKY TOC BAR
══════════════════════════════ */
 .pp-toc-bar {
     background: #fff;
     border-bottom: 1px solid #e4e8f4;
     position: sticky;
     top: 0;
     z-index: 100;
     box-shadow: 0 2px 14px rgba(24, 38, 65, .05);
 }

 .pp-toc-in {
     max-width: 980px;
     margin: 0 auto;
     padding: 0 44px;
     display: flex;
     overflow-x: auto;
     scrollbar-width: none;
     gap: 0;
 }

 .pp-toc-in::-webkit-scrollbar {
     display: none;
 }

 .ptab {
     flex-shrink: 0;
     padding: 14px 14px;
     font-size: 11px;
     font-weight: 700;
     letter-spacing: .6px;
     color: var(--muted);
     border-bottom: 2px solid transparent;
     cursor: pointer;
     transition: all .22s;
     white-space: nowrap;
 }

 .ptab:hover,
 .ptab.on {
     color: var(--navy);
     border-bottom-color: var(--teal);
 }

 /* ══════════════════════════════
   DOCUMENT BODY
══════════════════════════════ */
 .pp-body {
     padding: 64px 0 100px;
 }

 .pp-layout {
     display: grid;
     grid-template-columns: 240px 1fr;
     gap: 52px;
     align-items: start;
 }

 /* Sidebar TOC */
 .pp-sidebar {
     position: sticky;
     top: 60px;
     align-self: start;
 }

 .sidebar-toc {
     background: var(--offwhite);
     border: 1.5px solid #e4e8f4;
     border-radius: 18px;
     overflow: hidden;
 }

 .st-head {
     padding: 16px 20px;
 }

 .st-head h3 {
     font-weight: 800;
     color: var(--teal3);
     text-transform: uppercase;
     letter-spacing: 1.5px;
 }

 .st-links {
     display: flex;
     flex-direction: column;
 }

 .st-link {
     padding: 10px 20px;
     font-size: 12.5px;
     font-weight: 600;
     color: var(--muted);
     border-bottom: 1px solid #e8eaf4;
     cursor: pointer;
     transition: all .2s;
     display: flex;
     align-items: center;
     gap: 8px;
     text-decoration: none;
 }

 .st-link:last-child {
     border-bottom: none;
 }

 .st-link:hover,
 .st-link.on {
     color: var(--navy);
     background: #fff;
     padding-left: 24px;
 }

 .st-link span {
     font-size: 10px;
     font-weight: 800;
     color: var(--teal);
     opacity: .7;
     flex-shrink: 0;
 }

 /* Quick meta card */
 .sidebar-meta {
     background: #fff;
     border: 1.5px solid #e4e8f4;
     border-radius: 18px;
     padding: 18px 20px;
     margin-top: 16px;
     box-shadow: var(--shadow);
 }

 .sm-item {
     display: flex;
     align-items: flex-start;
     gap: 10px;
     margin-bottom: 12px;
 }

 .sm-item:last-child {
     margin-bottom: 0;
 }

 .sm-ico {
     width: 32px;
     height: 32px;
     border-radius: 9px;
     background: rgba(8, 145, 178, .08);
     border: 1px solid rgba(8, 145, 178, .18);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .sm-ico svg {
     width: 15px;
     height: 15px;
     stroke: var(--teal);
 }

 .sm-label {
     font-size: 10px;
     font-weight: 700;
     color: var(--muted);
     text-transform: uppercase;
     letter-spacing: .5px;
     margin-bottom: 2px;
 }

 .sm-val {
     font-size: 12.5px;
     font-weight: 700;
     color: var(--dark);
     line-height: 1.3;
 }

 /* Main content */
 .pp-content {
     min-width: 0;
 }

 .pp-section {
     margin-bottom: 52px;
     padding-bottom: 52px;
     border-bottom: 1px solid #edf0f8;
 }

 .pp-section:last-child {
     border-bottom: none;
     margin-bottom: 0;
     padding-bottom: 0;
 }

 .pp-section h2 {
     font-weight: 900;
     color: var(--navy);
     margin-bottom: 14px;
     letter-spacing: -.4px;
     line-height: 1.2;
     display: flex;
     align-items: center;
     gap: 12px;
 }

 .pp-section-num {
     width: 60px;
     height: 34px;
     border-radius: 9px;
     background: linear-gradient(135deg, var(--teal), var(--teal2));
     color: #fff;
     font-size: 13px;
     font-weight: 900;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .pp-section h3 {
     font-weight: 800;
     color: var(--navy);
     margin: 20px 0 8px;
 }

 .pp-section p {
     font-size: 15px !important;
     color: #4a5568;
     line-height: 1.9;
     margin-bottom: 12px;
 }

 .pp-section p:last-child {
     margin-bottom: 0;
 }

 /* Lists */
 .pp-list {
     list-style: none;
     display: flex;
     flex-direction: column;
     gap: 7px;
     margin: 10px 0 14px;
 }

 .pp-list li {
     font-size: 15px;
     color: #4a5568;
     padding-left: 18px;
     position: relative;
     line-height: 1.65;
 }

 .pp-list li::before {
     content: '';
     position: absolute;
     left: 0;
     top: 7px;
     width: 7px;
     height: 7px;
     background: linear-gradient(135deg, var(--teal), var(--teal2));
     border-radius: 50%;
 }

 .pp-list.dashes li::before {
     content: '—';
     background: none;
     color: var(--teal);
     font-weight: 700;
     top: 0;
     font-size: 12px;
 }

 /* Info cards */
 .info-card {
     background: var(--offwhite);
     border: 1.5px solid #e4e8f4;
     border-radius: 14px;
     padding: 18px 20px;
     margin: 16px 0;
 }

 .info-card.blue {
     background: rgba(8, 145, 178, .05);
     border-color: rgba(8, 145, 178, .2);
 }

 .info-card.gold {
     background: var(--gold-lt, #fdf3c8);
     border-color: rgba(201, 168, 76, .3);
 }

 .info-card.red {
     background: rgba(239, 68, 68, .04);
     border-color: rgba(239, 68, 68, .18);
 }

 .info-card-head {
     display: flex;
     align-items: center;
     gap: 9px;
     margin-bottom: 8px;
 }

 .info-card-head h4 {
     font-size: 13px;
     font-weight: 800;
     color: var(--navy);
 }

 .info-card p {
     font-size: 13.5px;
     color: #4a5568;
     line-height: 1.78;
     margin-bottom: 0;
 }

 .ic-ico {
     width: 28px;
     height: 28px;
     border-radius: 8px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .ic-ico.blue {
     background: rgba(8, 145, 178, .12);
 }

 .ic-ico.gold {
     background: rgba(201, 168, 76, .15);
 }

 .ic-ico.red {
     background: rgba(239, 68, 68, .1);
 }

 .ic-ico svg {
     width: 14px;
     height: 14px;
 }

 /* Sub-section card blocks */
 .sub-block {
     background: #fff;
     border: 1.5px solid #edf0f8;
     border-radius: 14px;
     padding: 18px 22px;
     margin-top: 14px;
     box-shadow: var(--shadow);
 }

 .sub-block h4 {
     font-weight: 800;
     color: var(--navy);
     margin-bottom: 8px;
 }

 .sub-block p {
     font-size: 13.5px;
     color: #4a5568;
     line-height: 1.8;
     margin-bottom: 8px;
 }

 .sub-block p:last-child {
     margin-bottom: 0;
 }

 /* Retention table */
 .ret-table {
     width: 100%;
     border-collapse: collapse;
     margin-top: 16px;
     font-size: 13.5px;
     border-radius: 12px;
     overflow: hidden;
     box-shadow: var(--shadow);
 }

 .ret-table thead {
     background: linear-gradient(135deg, var(--navy), var(--navy2));
 }

 .ret-table thead th {
     color: #fff;
     font-weight: 700;
     padding: 13px 18px;
     text-align: left;
     font-size: 12px;
     text-transform: uppercase;
     letter-spacing: .6px;
 }

 .ret-table tbody tr {
     border-bottom: 1px solid #edf0f8;
     transition: background .2s;
 }

 .ret-table tbody tr:last-child {
     border-bottom: none;
 }

 .ret-table tbody tr:hover {
     background: var(--offwhite);
 }

 .ret-table tbody td {
     padding: 13px 18px;
     color: #4a5568;
     vertical-align: top;
     line-height: 1.55;
 }

 .ret-table tbody td:first-child {
     font-weight: 700;
     color: var(--dark);
     width: 45%;
 }

 /* Contact card */
 .contact-card {
     background: #FFFFFF !important;
     border: 1.5px solid rgba(123, 97, 255, 0.14) !important;
     border-radius: 18px !important;
     transition: transform .3s, border-color .3s, box-shadow .3s !important;
     padding: 28px 32px;
 }

 .contact-card h4 {
     font-weight: 900;
     margin-bottom: 14px;
 }

 .contact-items {
     display: flex;
     flex-direction: column;
     gap: 10px;
 }

 .ci {
     display: flex;
     align-items: flex-start;
     gap: 12px;
 }

 .ci-ico {
     width: 34px;
     height: 34px;
     border-radius: 10px;
     background: rgba(34, 211, 238, .1);
     border: 1px solid rgba(34, 211, 238, .2);
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
 }

 .ci-ico svg {
     width: 15px;
     height: 15px;
     stroke: var(--teal2);
 }

 .ci-label {
     font-size: 11px;
     font-weight: 600;
     text-transform: uppercase;
     letter-spacing: .5px;
     margin-bottom: 2px;
 }

 .ci-val {
     font-size: 13.5px;
     font-weight: 700;
 }

 .ci-val a {
     color: var(--teal2);
 }

 /* HIPAA note */
 .hipaa-note {
     background: rgba(34, 211, 238, .07);
     border: 1px solid rgba(34, 211, 238, .22);
     border-radius: 12px;
     padding: 13px 16px;
     margin-top: 14px;
     display: flex;
     align-items: flex-start;
     gap: 10px;
     font-size: 13px;
     color: #2d6e7e;
     line-height: 1.6;
 }

 .hipaa-note svg {
     width: 16px;
     height: 16px;
     stroke: var(--teal);
     flex-shrink: 0;
     margin-top: 1px;
 }

 /* ══ RESPONSIVE ══ */
 @media(max-width:900px) {
     .pp-hero {
         padding: 56px 24px 44px;
     }

     .pp-hero-in {
         grid-template-columns: 1fr;
         gap: 0;
         margin: 50px 20px;
     }

     .pp-hero-meta {
         text-align: left;
     }

     .pp-layout {
         grid-template-columns: 1fr;
     }

     .pp-sidebar {
         position: static;
     }

     .sidebar-toc {
         display: none;
     }

     .wrap {
         padding: 0 24px;
     }

     .pp-toc-in {
         padding-left: 24px;
         padding-right: 24px;
     }

     .pp-body {
         padding: 44px 0 70px;
     }
 }