/* =========================================================
   PAGE 34 · LEGAL FAMILY
   EDITORIAL LEGAL READING ROOM
   ========================================================= */

.lk3-legal-body{
  --paper:#F4F0E7;
  --surface:#FBF8F1;
  --ink:#151515;
  --muted:#6D685F;
  --red:#EF2B2D;
  --cobalt:#315BFF;
  --container:1360px;
  --gutter:80px;
  margin:0;
  overflow-x:hidden;
  background:var(--paper);
  color:var(--ink);
  font-family:"Onest",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.lk3-legal-body *{box-sizing:border-box}
.lk3-legal-body a{color:inherit;text-decoration:none}
.lk3-legal-body button,.lk3-legal-body select{font:inherit}

.legal-page{padding:42px 0 96px}
.legal-shell{
  width:min(var(--container,1360px),calc(100% - (var(--gutter,80px) * 2)));
  margin-inline:auto;
}
.legal-kicker{
  display:block;
  color:#6B655D;
  font-size:14px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* C169 / C170 · Legal Hero + Version Ledger */
.legal-hero{
  padding:50px 0 56px;
  border-top:0;
  border-bottom:1px solid rgba(21,21,21,.18);
  display:grid;
  grid-template-columns:minmax(0,1fr) 310px;
  gap:56px;
  align-items:end;
}
.legal-hero h1{
  margin:11px 0 14px;
  max-width:930px;
  font-size:clamp(56px,6.2vw,72px);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:900;
}
.legal-hero p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:16px;
  line-height:1.58;
}
.version-ledger{
  border-top:2px solid var(--ink);
}
.version-row{
  min-height:64px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  border-bottom:1px solid rgba(21,21,21,.18);
}
.version-row span{
  color:#706A62;
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.version-row strong{
  font-size:14px;
  text-align:right;
}
.current-status{
  display:none;
  margin-top:12px;
  width:max-content;
  padding:7px 9px;
  border-left:4px solid var(--cobalt);
  background:rgba(49,91,255,.055);
  font-size:14px;
  font-weight:900;
}
.current-status.is-visible{display:block}

/* C171 · Family Switcher */
.legal-switcher{
  margin-top:32px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--ink);
  border-left:1px solid var(--ink);
}
.legal-switcher a{
  min-height:74px;
  padding:16px 18px;
  border-right:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-size:14px;
  font-weight:850;
}
.legal-switcher a[aria-current="page"]{
  background:var(--ink);
  color:var(--paper);
}
.legal-switcher small{
  color:#716A62;
  font-size:14px;
  font-weight:850;
}
.legal-switcher a[aria-current="page"] small{color:rgba(244,240,231,.52)}

/* C172 · Orientation */
.legal-orientation{
  margin-top:54px;
  width:min(1080px,100%);
  padding:26px 0;
  border-top:2px solid var(--ink);
  border-bottom:1px solid rgba(21,21,21,.18);
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:38px;
}
.legal-orientation h2{
  margin:7px 0 0;
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
}
.legal-orientation-copy p{
  margin:0;
  max-width:760px;
  color:var(--muted);
  font-size:16px;
  line-height:1.62;
}
.legal-orientation-copy p+p{margin-top:14px}

/* C180 · Change Summary */
.change-summary{
  display:none;
  width:min(1080px,100%);
  margin-top:28px;
  padding:20px 22px;
  border-left:5px solid var(--cobalt);
  background:rgba(49,91,255,.05);
}
.change-summary.is-visible{display:block}
.change-summary strong{
  display:block;
  margin-bottom:6px;
  font-size:14px;
}
.change-summary p{
  margin:0;
  color:#5A554F;
  font-size:16px;
  line-height:1.55;
}

/* C173–C175 · TOC + Reading Body */
.legal-layout{
  margin-top:66px;
  display:grid;
  grid-template-columns:240px minmax(0,840px) minmax(0,1fr);
  gap:42px;
  align-items:start;
}
.legal-toc{
  position:sticky;
  top:92px;
  border-top:2px solid var(--ink);
}
.toc-heading{
  padding:14px 0 12px;
  color:#6C665E;
  font-size:14px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(21,21,21,.16);
}
.toc-list{
  list-style:none;
  padding:0;
  margin:0;
}
.toc-list li{border-bottom:1px solid rgba(21,21,21,.13)}
.toc-list a{
  display:block;
  padding:12px 10px 12px 14px;
  position:relative;
  color:#5D5852;
  font-size:14px;
  line-height:1.4;
}
.toc-list a::before{
  content:"";
  position:absolute;
  left:0;top:10px;bottom:10px;
  width:3px;
  background:transparent;
}
.toc-list a.is-active{
  color:var(--ink);
  font-weight:850;
}
.toc-list a.is-active::before{background:var(--cobalt)}

.legal-article{min-width:0;max-width:840px;overflow-wrap:anywhere}
.legal-section{
  padding-top:0;
  margin-top:64px;
  scroll-margin-top:100px;
}
.legal-section:first-child{margin-top:0}
.section-index{
  display:block;
  color:#7A736A;
  font-size:14px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.legal-section h2{
  margin:8px 0 17px;
  font-size:36px;
  line-height:1.03;
  letter-spacing:-.045em;
}
.legal-section h3{
  margin:28px 0 10px;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.025em;
}
.legal-section p,
.legal-section li{
  color:#3D3935;
  font-size:17px;
  line-height:1.72;
}
.legal-section a{font-weight:750;text-decoration:underline;text-underline-offset:3px;transition:color .16s ease,background-color .16s ease}
.legal-section a:hover{color:var(--cobalt)}
.legal-section a:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.legal-section p{margin:0 0 16px}
.legal-section ul,
.legal-section ol{
  margin:0 0 18px;
  padding-left:22px;
}
.legal-section li+li{margin-top:7px}
.definition-list{
  margin-top:20px;
  border-top:1px solid rgba(21,21,21,.2);
}
.definition-row{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:20px;
  padding:15px 0;
  border-bottom:1px solid rgba(21,21,21,.14);
}
.definition-row strong{font-size:14px}
.definition-row span{
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}

/* Mobile TOC surface */
.mobile-toc{
  display:none;
  margin-top:38px;
}
.mobile-toc select{width:100%;min-height:52px;padding:0 42px 0 14px;border:1px solid var(--ink);border-radius:0;background:var(--paper);color:var(--ink);font:inherit;font-size:15px}
.mobile-toc select:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.mobile-toc details{
  border-top:2px solid var(--ink);
  border-bottom:1px solid rgba(21,21,21,.18);
}
.mobile-toc summary{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:14px;
  font-weight:850;
  cursor:pointer;
}
.mobile-toc nav{
  padding:0 0 14px;
}
.mobile-toc a{
  display:block;
  min-height:44px;
  padding:11px 0;
  border-top:1px solid rgba(21,21,21,.12);
  font-size:14px;
}

/* C176 · Inline Legal Note */
.legal-note{
  margin:24px 0;
  padding:18px 20px;
  background:var(--surface);
  border-left:5px solid var(--cobalt);
}
.legal-note strong{
  display:block;
  margin-bottom:6px;
  font-size:14px;
}
.legal-note p{
  margin:0;
  color:#55504A;
  font-size:16px;
  line-height:1.6;
}

/* C177 / C179 · Context Actions */
.context-actions{
  margin-top:64px;
  padding-top:24px;
  border-top:2px solid var(--ink);
}
.context-actions h2{
  margin:7px 0 16px;
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
}
.context-action-list{
  display:grid;
  gap:0;
  border-top:1px solid rgba(21,21,21,.2);
}
.context-action{
  min-height:62px;
  padding:13px 0;
  border-bottom:1px solid rgba(21,21,21,.17);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:14px;
  font-weight:850;
}
.context-action span:last-child{font-size:17px}
.context-action{transition:background-color .16s ease,color .16s ease}
.context-action:hover,.context-action:focus-visible{background:var(--ink);color:var(--paper);outline:none;padding-inline:14px}
.context-action:focus-visible{box-shadow:inset 0 0 0 3px var(--cobalt)}

/* C178 · Cookie Table */
.cookie-table-wrap{
  margin-top:24px;
  overflow-x:auto;
  border-top:2px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.cookie-table{
  width:100%;
  min-width:780px;
  border-collapse:collapse;
}
.cookie-table th,
.cookie-table td{
  padding:13px 12px;
  border-right:1px solid rgba(21,21,21,.12);
  border-bottom:1px solid rgba(21,21,21,.14);
  text-align:left;
  vertical-align:top;
}
.cookie-table th:last-child,
.cookie-table td:last-child{border-right:0}
.cookie-table th{
  background:var(--surface);
  font-size:14px;
  font-weight:900;
}
.cookie-table td{
  color:#4E4943;
  font-size:14px;
  line-height:1.5;
}

/* Cookie preferences demo */
.cookie-preferences{
  display:none;
  margin-top:28px;
  padding:22px;
  border:2px solid var(--ink);
  background:var(--surface);
}
.cookie-preferences.is-visible{display:block}
.cookie-pref-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:start;
}
.cookie-pref-head h3{
  margin:6px 0 8px;
  font-size:24px;
}
.cookie-pref-head p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}
.cookie-choice-list{
  margin-top:20px;
  border-top:1px solid rgba(21,21,21,.18);
}
.cookie-choice{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid rgba(21,21,21,.14);
}
.cookie-choice strong{font-size:14px}
.cookie-choice span{font-size:14px;color:var(--muted)}
.cookie-choice input{width:20px;height:20px}
.cookie-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.cookie-actions button{
  min-height:46px;
  padding:0 15px;
  border:1px solid var(--ink);
  background:transparent;
  font-weight:850;
}
.cookie-actions button:last-child{
  background:var(--ink);
  color:var(--paper);
}

/* C181 · Document Footer */
.document-footer{
  width:min(1080px,100%);
  margin-top:82px;
  padding:28px 0;
  border-top:3px solid var(--ink);
  border-bottom:1px solid rgba(21,21,21,.18);
}
.document-footer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.document-footer h2{
  margin:7px 0 10px;
  font-size:28px;
  line-height:1;
  letter-spacing:-.04em;
}
.document-meta-inline{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  color:#6E6860;
  font-size:14px;
}
.document-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  align-content:start;
  justify-content:flex-end;
}
.document-links a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  font-size:14px;
  font-weight:850;
  border-bottom:1px solid rgba(21,21,21,.24);
}
.document-links a:hover{color:var(--cobalt)}
.document-links a:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}

/* Reference marker */
@media(max-width:1100px){
  .legal-layout{grid-template-columns:220px minmax(0,1fr);gap:34px}
}
@media(max-width:959px){
  .lk3-legal-body{--gutter:34px}
  .legal-hero{grid-template-columns:1fr;gap:30px}
  .version-ledger{max-width:520px}
  .legal-orientation{grid-template-columns:1fr;gap:12px}
  .legal-layout{display:block}
  .legal-toc{display:none}
  .mobile-toc{display:block}
  .legal-article{max-width:840px}
  .document-footer-grid{grid-template-columns:1fr}
  .document-links{justify-content:flex-start}
}
@media(max-width:620px){
  .lk3-legal-body{--gutter:18px}
  .legal-page{padding-top:22px;padding-bottom:72px}
  .legal-hero{padding:34px 0 46px;border-top-width:22px}
  .legal-hero h1{font-size:42px;line-height:.95}
  .legal-hero p{font-size:16px}
  .version-row{min-height:56px}

  .legal-switcher{grid-template-columns:1fr}
  .legal-switcher a{min-height:58px}

  .legal-orientation{margin-top:38px}
  .legal-layout{margin-top:46px}
  .legal-section{margin-top:52px}
  .legal-section h2{font-size:30px}
  .legal-section h3{font-size:20px}
  .legal-section p,.legal-section li{font-size:16px;line-height:1.7}

  .definition-row{grid-template-columns:1fr;gap:5px}

  .context-actions{margin-top:52px}
  .context-actions h2{font-size:26px}

  .cookie-pref-head{display:block}
  .cookie-actions{display:grid}
  .cookie-actions button{width:100%}

  .document-footer{margin-top:64px}
}

.legal-unavailable{align-items:start}.legal-unavailable-note{padding:16px 0;color:var(--muted);font-size:14px;line-height:1.5}.context-action[type="button"]{width:100%;font:inherit;text-align:left;cursor:pointer}.cookie-table-wrap{overflow-x:auto}.mobile-toc label{display:block;margin-bottom:8px;font-size:14px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.legal-admin-readiness{margin-top:14px;padding:14px;border-left:4px solid var(--red);background:rgba(239,43,45,.055);font-size:14px;line-height:1.5}.legal-admin-readiness strong{display:block;margin-bottom:7px}.legal-admin-readiness ul{margin:0;padding-left:18px}.legal-admin-readiness li+li{margin-top:4px}
.cookie-table-wrap:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px}
.cookie-choice small{display:block;margin-top:4px;color:#151515;font-size:14px;font-weight:850}
