.doc-header{background:linear-gradient(135deg,var(--navy) 0%,#171a35 100%);color:#fff;padding:150px 0 55px}
.doc-header .brand-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:#76c9bd;font-weight:800;margin-bottom:16px}
.doc-header .brand-tag span{color:var(--orange)}
.doc-header h1{color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:900;letter-spacing:-.03em;max-width:18ch;line-height:1.08;margin:0}
.doc-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.doc-tag{font-size:.72rem;letter-spacing:.05em;color:#c4c8d8;border:1px solid #ffffff2a;background:#ffffff0d;padding:7px 13px;border-radius:999px;white-space:nowrap}

.doc-layout{max-width:1180px;margin:0 auto;padding:0 18px 90px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:50px;align-items:start}
nav.doc-index{position:sticky;top:96px;align-self:start;padding-top:50px;z-index:1}
.doc-index-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-bottom:14px;font-weight:800}
nav.doc-index ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--border)}
nav.doc-index a{display:flex;gap:9px;align-items:baseline;text-decoration:none;color:var(--text-soft);font-size:.86rem;padding:8px 0 8px 16px;margin-left:-1px;border-left:2px solid transparent;transition:.2s}
nav.doc-index a .num{font-size:.72rem;color:var(--orange-text);font-weight:800;flex-shrink:0}
nav.doc-index a:hover{color:var(--text)}
nav.doc-index a.active{color:var(--text);border-left-color:var(--orange-text);font-weight:800}

.doc-content{min-width:0;padding-top:50px}

.quickfacts{background:var(--surface-alt);border-radius:22px;padding:28px 30px;margin-bottom:45px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px 28px}
.quickfacts .item .label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-weight:800;margin-bottom:6px}
.quickfacts .item .value{font-size:.94rem;color:var(--text)}
.quickfacts .item .value a{color:var(--orange-text);text-decoration:none;border-bottom:1px solid #9b510e55}

section.doc-section{max-width:68ch;padding-block:26px;border-top:1px solid var(--border)}
section.doc-section:first-of-type{border-top:none;padding-top:0}
section.doc-section h2{display:flex;align-items:baseline;gap:12px;font-size:1.35rem;font-weight:900;margin-bottom:16px;letter-spacing:-.02em;color:var(--text)}
section.doc-section h2 .num{font-size:.8rem;font-weight:800;color:#fff;background:var(--orange-text);padding:3px 8px;border-radius:6px;flex-shrink:0}
section.doc-section h3{font-size:1rem;font-weight:800;margin:20px 0 8px;color:var(--text)}
section.doc-section p{margin:0 0 15px;color:var(--text-soft)}
section.doc-section p.soft{color:var(--text-faint)}
section.doc-section ul{margin:0 0 15px;padding-left:20px;display:flex;flex-direction:column;gap:8px}
section.doc-section li{color:var(--text-soft)}
section.doc-section li::marker{color:var(--orange-text)}
section.doc-section strong{color:var(--text)}

.callout{background:var(--surface-alt);border-left:3px solid var(--orange);border-radius:0 14px 14px 0;padding:16px 18px;margin:0 0 16px;font-size:.93rem;color:var(--text-soft)}
.callout strong{color:var(--text)}

.table-wrap{overflow-x:auto;margin:0 0 18px;border:1px solid var(--border);border-radius:16px}
.doc-section table{width:100%;border-collapse:collapse;font-size:.88rem;min-width:520px}
.doc-section thead th{text-align:left;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--navy);padding:12px 14px}
.doc-section tbody td{padding:12px 14px;border-top:1px solid var(--border);color:var(--text-soft);vertical-align:top}
.doc-section tbody tr:nth-child(even){background:var(--surface-soft)}
.doc-section tbody td strong{color:var(--text)}
.cell-yes{color:var(--text-faint);font-size:.8rem}

.dpo-card{max-width:68ch;margin-top:30px;background:var(--surface-alt);border-radius:22px;padding:26px 28px;display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center}
.dpo-card .plate{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);font-weight:800}
.dpo-card h3{margin:4px 0 6px;font-size:1.05rem;color:var(--text)}
.dpo-card a.contact{font-size:.95rem;color:var(--orange-text);text-decoration:none;border-bottom:1px solid #9b510e55;font-weight:700}
.dpo-card p{margin:0;color:var(--text-soft);font-size:.9rem;max-width:38ch}

.doc-footer-note{max-width:68ch;margin-top:28px;font-size:.8rem;color:var(--text-faint);display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.print-btn{font-family:inherit;font-size:.78rem;letter-spacing:.02em;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 16px;cursor:pointer}
.print-btn:hover{color:var(--text);border-color:var(--border)}

details.doc-index-mobile{display:none}
@media(max-width:860px){
  .doc-layout{grid-template-columns:1fr;gap:0;padding-top:0}
  nav.doc-index{display:none}
  .doc-content{padding-top:30px}
  details.doc-index-mobile{display:block;position:sticky;top:76px;z-index:5;background:var(--surface);border-bottom:1px solid var(--border);margin:0 0 28px}
  details.doc-index-mobile summary{list-style:none;cursor:pointer;padding:16px 18px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);display:flex;align-items:center;justify-content:space-between;font-weight:800}
  details.doc-index-mobile summary::-webkit-details-marker{display:none}
  details.doc-index-mobile summary::after{content:"▾";color:var(--orange-text)}
  details.doc-index-mobile[open] summary::after{content:"▴"}
  details.doc-index-mobile .doc-index-mobile-list{max-height:60vh;overflow-y:auto;padding:0 18px 16px;display:flex;flex-direction:column;gap:2px}
  details.doc-index-mobile a{text-decoration:none;color:var(--text-soft);font-size:.9rem;padding:8px 0;display:flex;gap:9px}
  details.doc-index-mobile a .num{color:var(--orange-text);font-size:.78rem;font-weight:800}
}
@media print{
  details.doc-index-mobile,nav.doc-index,.print-btn,body>nav,.footer{display:none!important}
  .doc-layout{grid-template-columns:1fr}
  .doc-header{background:none;color:#000}
  .doc-header h1,.brand-tag,.brand-tag span{color:#000}
}
