.ref-page{padding:2rem 0 2.5rem}
.ref-page h2{margin-top:1.8em}
.ref-page h2:first-of-type{margin-top:1.2em}
.ref-lede{font-size:1.05rem; max-width:62ch; margin-bottom:1.2em}
.ref-keys{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:1.2rem 0 1.4rem; padding:0; list-style:none}
@media (min-width:760px){.ref-keys{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ref-key{border:var(--inv-border); background:var(--inv-white); padding:.8rem .9rem; min-width:0}
.ref-key dt{font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--inv-accent-d); font-weight:700; margin:0 0 .25em}
.ref-key dd{margin:0; font-family:var(--font-title); font-size:1.6rem; line-height:1.05; text-transform:uppercase; overflow-wrap:anywhere}
.ref-key small{display:block; font-family:var(--font-body); font-size:.74rem; text-transform:none; color:oklch(0.42 0.02 9); margin-top:.35em; line-height:1.35}
.ref-tablewrap{border:var(--inv-border); background:var(--inv-white); margin:.8rem 0 .4rem; overflow-x:auto; -webkit-overflow-scrolling:touch}
.ref-table{border-collapse:collapse; width:100%; font-size:.92rem}
.ref-table caption{text-align:left; padding:.55rem .8rem; font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:var(--inv-white); background:var(--inv-ink)}
.ref-table th, .ref-table td{padding:.5rem .7rem; text-align:right; border-bottom:var(--inv-border-thin); white-space:nowrap}
.ref-table th:first-child, .ref-table td:first-child{text-align:left}
.ref-table th{white-space:normal; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--inv-steel); background:var(--inv-surface); font-weight:700}
.ref-table tbody tr:last-child td{border-bottom:0}
.ref-table td a{font-weight:700}
.ref-table .ref-wrap, .ref-table td.ref-wrap, .ref-table th.ref-wrap{white-space:normal; text-align:left; min-width:11rem}
.ref-table-wide{min-width:36rem}
.ref-hint{display:none; margin:0 0 .3rem; font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:var(--inv-accent-d); font-weight:700}
.ref-hint::after{content:" \2192"}
@media (max-width:760px){.ref-hint{display:block}}
.ref-note{font-size:.8rem; color:oklch(0.36 0.02 9); margin:.3rem 0 1.4rem; max-width:80ch}
.ref-sort th button{all:unset; cursor:pointer; text-transform:inherit; letter-spacing:inherit; font:inherit; color:inherit; padding:0}
.ref-sort th button:hover{color:var(--inv-accent-d)}
.ref-sort th button:focus-visible{outline:2px solid var(--inv-accent); outline-offset:2px}
.ref-cards{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; margin:1rem 0 0; padding:0; list-style:none}
@media (max-width:640px){.ref-cards{grid-template-columns:1fr}}
.ref-cards li{margin:0}
.ref-card{display:block; height:100%; border:var(--inv-border); background:var(--inv-white); padding:.95rem 1rem; text-decoration:none; color:var(--inv-ink)}
.ref-card:hover{background:var(--inv-surface)}
.ref-card strong{display:block; font-family:var(--font-title); font-weight:400; font-size:1.2rem; line-height:1.1; text-transform:uppercase; letter-spacing:.01em; margin-bottom:.3em}
.ref-card span{display:block; font-size:.86rem; color:oklch(0.38 0.02 9); line-height:1.4}
.ref-group{margin:1.6rem 0 0}
.ref-group h3{margin:0 0 .3em}
.ref-chips{display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; padding:0; margin:.6rem 0 0}
.ref-chips li{margin:0}
.ref-chips a, .ref-chips span{display:inline-block; padding:.35rem .7rem; border:var(--inv-border-thin); background:var(--inv-white); font-size:.84rem; text-decoration:none; color:var(--inv-ink)}
.ref-chips a:hover{background:var(--inv-surface)}
.ref-quote{margin:.6rem 0 1.1rem; padding:.7rem 1rem; border-left:6px solid var(--inv-accent-d); background:var(--inv-white); font-size:.9rem}
.ref-quote p{margin:0 0 .4em}
.ref-quote cite{display:block; font-style:normal; font-size:.76rem; color:oklch(0.4 0.02 9); text-transform:uppercase; letter-spacing:.04em}
.ref-steps{list-style:none; counter-reset:etape; padding:0; margin:1rem 0}
.ref-steps li{counter-increment:etape; position:relative; padding:.2rem 0 1rem 3rem; margin:0; border-left:2px solid var(--inv-ink); margin-left:1rem}
.ref-steps li::before{content:counter(etape); position:absolute; left:-1.1rem; top:0; width:2.1rem; height:2.1rem; display:flex; align-items:center; justify-content:center; background:var(--inv-ink); color:var(--inv-white); font-family:var(--font-title); font-size:1.15rem}
.ref-steps strong{display:block; text-transform:uppercase; font-size:.78rem; letter-spacing:.05em; color:var(--inv-accent-d)}
.ref-list{padding-left:1.2em}
.ref-list li{margin-bottom:.45em}
.ref-sources{font-size:.78rem; border-top:var(--inv-border-thin); padding-top:.9rem; margin-top:2rem; color:oklch(0.34 0.02 9)}
.ref-sources a{overflow-wrap:anywhere}
.ref-cta{display:flex; flex-wrap:wrap; gap:.7rem; margin:1.1rem 0 0}
.ref-cta .inv-btn{font-size:.98rem; padding:.6rem 1.1rem}
.ref-access{padding:2.2rem 0}
.ref-access h2{margin-bottom:.3em}
.ref-access p{max-width:70ch}
.ref-seealso{margin:2rem 0 0; padding:1rem 1.1rem; border:var(--inv-border); background:var(--inv-white)}
.ref-seealso h2{font-size:1.4rem; margin:0 0 .5em}
.ref-seealso ul{margin:0}
.ref-seealso li{margin-bottom:.35em}
.ref-nbsp{white-space:nowrap}
@media (max-width:480px){
  .ref-table th, .ref-table td{padding:.45rem .5rem; font-size:.86rem}
  .ref-table caption{padding:.5rem .6rem}
  .ref-key dd{font-size:1.4rem}
}
.inv-form{grid-template-columns:minmax(0,1fr)}
.inv-field{min-width:0}
.inv-field input, .inv-field select, .inv-field textarea{width:100%; min-width:0; max-width:100%}
