/* ==========================================================================
   LEGAL DOCUMENTS  (scoped: .ck-lg-)
   Loaded only on /privacy-policy/, /terms-and-conditions/ and /cookies/.
   Readability first: one comfortable measure, generous line height, quiet
   colour. Reuses the theme tokens and buttons.
   ========================================================================== */

/* ---------- hero ---------- */
.ck-lg-hero{position:relative;overflow:hidden;isolation:isolate;background:#040D0B;
  margin-top:-80px;padding:172px 0 68px}
.ck-lg-hero__bg{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(165deg,#04120F 0%,#050B0A 52%,#03100E 100%)}
.ck-lg-hero__glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(50% 70% at 78% 8%,rgba(20,184,166,.16) 0%,rgba(4,13,11,0) 66%)}
.ck-lg-hero__inner{position:relative;z-index:1;width:100%;max-width:1320px;margin-inline:auto;
  padding-inline:40px;display:flex;flex-direction:column;gap:16px}
.ck-lg-hero h1{font-family:var(--font-display);font-weight:var(--weight-extrabold);
  font-size:clamp(32px,4.4vw,56px);line-height:1.04;letter-spacing:-.04em;color:#fff;margin:0}
.ck-lg-hero__lede{font-size:17px;line-height:1.7;color:rgba(255,255,255,.62);margin:0;max-width:62ch}
.ck-lg-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:12.5px;
  color:rgba(255,255,255,.42);margin-bottom:-2px}
.ck-lg-crumb a{color:rgba(255,255,255,.62);text-decoration:none}
.ck-lg-crumb a:hover{color:#5EEAD4}
.ck-lg-crumb span[aria-current]{color:#5EEAD4}
.ck-lg-hero__meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin:6px 0 0;
  font-size:13px;color:rgba(255,255,255,.44)}
.ck-lg-hero__meta span{display:inline-flex;align-items:center;gap:8px}
.ck-lg-hero__meta svg{color:#2DD4BF;flex:none}

/* ---------- document shell ----------
   overflow:clip, not hidden - hidden would make this a scroll container and
   the sticky table of contents would never move. */
.ck-lg-body{position:relative;overflow:clip;isolation:isolate;padding-block:80px 120px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F9FCFC 40%,#F4F8F8 100%)}
.ck-lg-body__inner{position:relative;z-index:1;width:100%;max-width:1320px;margin-inline:auto;
  padding-inline:40px;display:grid;grid-template-columns:minmax(0,278px) minmax(0,1fr);gap:64px;
  align-items:start}

/* ---------- table of contents ---------- */
.ck-lg-toc{position:sticky;top:104px;display:flex;flex-direction:column;gap:18px;min-width:0;
  max-height:calc(100vh - 140px);overflow-y:auto;padding-right:6px;
  scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}
.ck-lg-toc__h{font-family:var(--font-body);font-size:11px;font-weight:var(--weight-bold);
  letter-spacing:.16em;text-transform:uppercase;color:var(--text-tertiary);margin:0}
.ck-lg-toc ol{display:flex;flex-direction:column;gap:1px;margin:0;padding:0;counter-reset:none}
.ck-lg-toc li{min-width:0}
.ck-lg-toc a{display:flex;align-items:baseline;gap:10px;padding:7px 10px;border-radius:var(--radius-sm);
  font-size:13.5px;line-height:1.45;color:var(--text-secondary);text-decoration:none;
  transition:var(--transition-colors)}
.ck-lg-toc a:hover{background:var(--surface-brand-soft);color:var(--text-brand)}
.ck-lg-toc a.is-current{background:var(--surface-brand-soft);color:var(--text-brand);
  font-weight:var(--weight-semibold)}
.ck-lg-toc__n{font-family:var(--font-numeric);font-size:11px;font-weight:600;
  color:var(--text-tertiary);flex:none}
.ck-lg-toc a.is-current .ck-lg-toc__n{color:var(--brand-accent)}
.ck-lg-toc__also{display:flex;flex-direction:column;gap:8px;padding-top:18px;
  border-top:1px solid var(--border-subtle)}
.ck-lg-toc__also b{font-family:var(--font-body);font-size:11px;font-weight:var(--weight-bold);
  letter-spacing:.16em;text-transform:uppercase;color:var(--text-tertiary)}
.ck-lg-toc__also a{display:inline-flex;align-items:center;gap:7px;padding:4px 0;font-size:13.5px;
  font-weight:var(--weight-medium);color:var(--text-brand);text-decoration:none}
.ck-lg-toc__also a:hover{color:var(--text-link-hover)}
.ck-lg-toc__also svg{flex:none;transition:transform var(--duration-fast) var(--ease-standard)}
.ck-lg-toc__also a:hover svg{transform:translateX(3px)}

/* ---------- document body ---------- */
.ck-lg-doc{min-width:0;max-width:76ch}
.ck-lg-sec{scroll-margin-top:104px;padding-bottom:38px;margin-bottom:38px;
  border-bottom:1px solid var(--border-subtle)}
.ck-lg-sec:last-of-type{border-bottom:0;margin-bottom:24px}
.ck-lg-sec h2{position:relative;display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;
  font-family:var(--font-display);font-weight:var(--weight-extrabold);
  font-size:clamp(20px,2.1vw,26px);line-height:1.24;letter-spacing:-.025em;
  color:var(--text-primary);margin:0 0 16px}
.ck-lg-sec__n{font-family:var(--font-numeric);font-size:12px;font-weight:700;letter-spacing:.14em;
  color:var(--brand-accent);flex:none}
.ck-lg-sec__anchor{opacity:0;font-weight:var(--weight-bold);color:var(--text-tertiary);
  text-decoration:none;transition:opacity var(--duration-fast) var(--ease-standard)}
.ck-lg-sec:hover .ck-lg-sec__anchor,.ck-lg-sec__anchor:focus-visible{opacity:1}
.ck-lg-sec__anchor:hover{color:var(--brand-primary)}
.ck-lg-sec__b{display:flex;flex-direction:column;gap:15px}
.ck-lg-sec__b p{font-size:16px;line-height:1.78;color:var(--text-secondary);margin:0}
.ck-lg-sec__b h3{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:17px;
  line-height:1.35;letter-spacing:-.015em;color:var(--text-primary);margin:8px 0 -4px}
.ck-lg-sec__b a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:rgba(15,118,110,.34)}
.ck-lg-sec__b a:hover{color:var(--text-link-hover);text-decoration-color:currentColor}
.ck-lg-sec__b strong{color:var(--text-primary);font-weight:var(--weight-semibold)}

.ck-lg-list{display:flex;flex-direction:column;gap:9px;margin:0;padding:0}
.ck-lg-list li{position:relative;padding-left:24px;font-size:16px;line-height:1.72;
  color:var(--text-secondary)}
.ck-lg-list li::before{content:"";position:absolute;left:6px;top:.72em;width:6px;height:6px;
  border-radius:50%;background:var(--brand-accent)}
ol.ck-lg-list{counter-reset:ckl}
ol.ck-lg-list li{counter-increment:ckl;padding-left:30px}
ol.ck-lg-list li::before{content:counter(ckl) ".";position:absolute;left:0;top:0;width:auto;height:auto;
  border-radius:0;background:none;font-family:var(--font-numeric);font-size:13px;font-weight:600;
  color:var(--brand-primary)}

.ck-lg-note{padding:18px 22px;border-radius:var(--radius-md);background:var(--surface-brand-soft);
  border:1px solid rgba(15,118,110,.16);border-left:3px solid var(--brand-primary);
  font-size:15px;line-height:1.7;color:var(--ck-teal-900)}
.ck-lg-note strong{color:var(--ck-teal-950)}
.ck-lg-note a{color:var(--ck-teal-800)}

.ck-lg-none{display:flex;flex-direction:column;gap:5px;padding:18px 22px;
  border-radius:var(--radius-md);background:#F0FDF4;border:1px solid #BBF7D0;
  border-left:3px solid #16A34A}
.ck-lg-none b{font-family:var(--font-display);font-size:16px;font-weight:var(--weight-bold);
  letter-spacing:-.01em;color:#14532D}
.ck-lg-none span{font-size:15px;line-height:1.66;color:#166534}

/* placeholder for details CreativeKraft has not yet supplied */
.ck-lg-tbc{display:inline;padding:2px 8px;border-radius:var(--radius-xs);
  background:#FEF3C7;border:1px dashed #D97706;color:#92400E;
  font-family:var(--font-numeric);font-size:13px;font-weight:600;white-space:normal}

.ck-lg-tblwrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border-subtle);
  background:#fff;-webkit-overflow-scrolling:touch}
.ck-lg-tbl{width:100%;min-width:520px;border-collapse:collapse;font-size:14.5px}
.ck-lg-tbl--stack{min-width:760px}
.ck-lg-tbl th,.ck-lg-tbl td{padding:12px 16px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--border-subtle);line-height:1.6}
.ck-lg-tbl thead th{font-family:var(--font-body);font-size:11px;font-weight:var(--weight-bold);
  letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);
  background:var(--surface-muted);white-space:nowrap}
.ck-lg-tbl tbody th{font-weight:var(--weight-semibold);color:var(--text-primary);width:26%}
.ck-lg-tbl td{color:var(--text-secondary)}
.ck-lg-tbl tbody tr:last-child th,.ck-lg-tbl tbody tr:last-child td{border-bottom:0}
.ck-lg-tbl code{font-family:var(--font-numeric);font-size:12.5px;color:var(--text-brand);
  background:var(--surface-brand-soft);padding:2px 7px;border-radius:var(--radius-xs);
  word-break:break-word}

.ck-lg-actions{margin:4px 0}
.ck-lg-link{background:none;border:0;padding:0;font:inherit;color:var(--text-link);
  text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ck-lg-link:hover{color:var(--text-link-hover)}

.ck-lg-foot{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:var(--radius-card);
  background:var(--surface-muted);border:1px solid var(--border-subtle)}
.ck-lg-foot p{font-size:15px;line-height:1.7;color:var(--text-secondary);margin:0}
.ck-lg-foot a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px}
.ck-lg-foot__back a{display:inline-flex;align-items:center;gap:8px;font-weight:var(--weight-semibold);
  text-decoration:none}
.ck-lg-foot__back svg{transform:rotate(180deg);flex:none}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1180px){
  .ck-lg-body__inner{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:44px}
}
@media (max-width:1024px){
  .ck-lg-hero{padding:150px 0 56px;margin-top:-72px}
  .ck-lg-hero__inner,.ck-lg-body__inner{padding-inline:32px}
  .ck-lg-body__inner{grid-template-columns:minmax(0,1fr);gap:36px}
  /* the sticky rail becomes a collapsible summary above the document */
  .ck-lg-toc{position:static;max-height:none;overflow:visible;padding:20px 22px;
    border-radius:var(--radius-card);background:#fff;border:1px solid var(--border-subtle);
    box-shadow:var(--shadow-xs)}
  .ck-lg-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}
  .ck-lg-doc{max-width:none}
}
@media (max-width:768px){
  .ck-lg-hero{padding:132px 0 48px}
  .ck-lg-hero__inner,.ck-lg-body__inner{padding-inline:24px}
  .ck-lg-body{padding-block:56px 80px}
  .ck-lg-toc ol{grid-template-columns:minmax(0,1fr)}
  .ck-lg-sec{padding-bottom:30px;margin-bottom:30px}
  .ck-lg-sec__b p,.ck-lg-list li{font-size:15.5px}
  .ck-lg-sec__anchor{display:none}
}
@media (max-width:640px){
  .ck-lg-hero__inner,.ck-lg-body__inner{padding-inline:20px}
  .ck-lg-note,.ck-lg-none{padding:15px 17px}
  .ck-lg-foot{padding:20px}
}

@media (prefers-reduced-motion:reduce){
  .ck-lg-toc__also a svg,.ck-lg-sec__anchor{transition:none}
}

/* ==========================================================================
   MOBILE TOUCH TARGETS
   On a phone the contents list is the primary way to move around a long
   document, so its rows need a real tap area rather than text-height rows.
   ========================================================================== */
@media (max-width:1024px){
  .ck-lg-toc a{min-height:44px;padding:11px 12px;align-items:center}
  .ck-lg-toc__also a{min-height:44px;padding:10px 0;align-items:center}
}
