/* ============================================================
   KAASSU LEGAL PAGE  —  brand-matched styles (scoped to .kz-legal)
   EDIT YOUR EXACT BRAND COLOURS IN THE :root BLOCK BELOW.
   ============================================================ */
.kz-legal{
  --k-gold:#E6A912;        /* primary coin-gold accent            */
  --k-gold-deep:#B67F08;   /* darker gold (hover / rules)         */
  --k-ink:#15171F;         /* deep ink — hero panel + headings    */
  --k-ink-soft:#242732;    /* softer ink                          */
  --k-body:#34373F;        /* body text                           */
  --k-muted:#767A87;       /* meta / muted text                   */
  --k-surface:#FFFFFF;     /* page background                     */
  --k-panel:#FFF8E9;       /* callout / soft gold tint            */
  --k-panel-bd:#F0E2BE;    /* callout border                      */
  --k-border:#E7E8EC;      /* hairline borders                    */

  max-width:1385px;
  margin:0 auto;
  padding:32px 20px 72px;
  color:var(--k-body);
  font-family:inherit;
  line-height:1.75;
  font-size:16px;
}
.kz-legal *{box-sizing:border-box;}

/* ---- Hero panel ---- */
/* .kz-legal .kz-hero{
  background:var(--k-ink);
  background:linear-gradient(135deg,var(--k-ink) 0%,var(--k-ink-soft) 100%);
  border-radius:18px;
  padding:44px 40px 40px;
  position:relative;
  overflow:hidden;
  margin-bottom:36px;
}
.kz-legal .kz-hero::after{
  content:"";
  position:absolute;
  top:-60px;right:-60px;
  width:220px;height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(230,169,18,.28),rgba(230,169,18,0) 70%);
  pointer-events:none;
}
.kz-legal .kz-hero h1{
  margin:0;
  color:#fff;
  font-size:2.3rem;
  line-height:1.15;
  letter-spacing:-.01em;
  font-weight:800;
}
.kz-legal .kz-hero .kz-rule{
  width:64px;height:4px;border-radius:4px;
  background:var(--k-gold);
  margin:18px 0 16px;
}
.kz-legal .kz-hero .kz-meta{
  margin:0;
  color:#C9CCD6;
  font-size:.92rem;
}
.kz-legal .kz-hero .kz-meta b{color:var(--k-gold);font-weight:600;} */



/* ============ Page wrapper (like .kwish) ============ */
.kz-page{
  background:#f5f3fc;
  width:100%;max-width:100%;
  overflow-x:clip;               /* clip, not hidden, so the sticky sidebar still works */
}

/* ============ Wishlist-style hero (exact .kwish .whead values) ============ */
.kz-wh{
  position:relative;overflow:hidden;
  width:100%;margin:0;
  padding:56px 0 96px;
  background:linear-gradient(125deg,#2a0a52 0%,#481088 42%,#7a2bc9 78%,#8a3bd6 100%);
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
}


.kz-wh *{margin:0;padding:0;box-sizing:border-box;}
.kz-wh *:not(.fa):not([class*="fa-"]){font-family:inherit;}

.kz-wh .kz-wh-mesh{position:absolute;inset:0;z-index:0;opacity:.9;pointer-events:none;}
.kz-wh .kz-wh-mesh span{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;mix-blend-mode:screen;}
.kz-wh .kz-wh-m1{width:400px;height:400px;background:#7a2bc9;top:-90px;left:-60px;animation:kzWhFloat1 12s ease-in-out infinite;}
.kz-wh .kz-wh-m2{width:340px;height:340px;background:#f7a63c;bottom:-130px;right:8%;animation:kzWhFloat2 14s ease-in-out infinite;}
.kz-wh .kz-wh-m3{width:280px;height:280px;background:#c084fc;top:24%;right:-70px;animation:kzWhFloat1 16s ease-in-out infinite;}
@keyframes kzWhFloat1{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,40px)}}
@keyframes kzWhFloat2{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,-30px)}}

.kz-wh .kz-wh-grid{
  position:absolute;inset:0;z-index:0;opacity:.14;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 75%);
          mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000,transparent 75%);
}

.kz-wh .kz-wh-wrap{max-width:1240px;margin:0 auto;padding:0 20px;position:relative;z-index:3;}

.kz-wh .kz-wh-crumb{color:rgba(255,255,255,.68);font-size:12.5px;font-weight:600;margin-bottom:16px;}
.kz-wh .kz-wh-crumb a{color:rgba(255,255,255,.68) !important;text-decoration:none !important;}
.kz-wh .kz-wh-crumb a:hover{color:#fff !important;}
.kz-wh .kz-wh-crumb i{font-size:9px;margin:0 8px;opacity:.6;}
.kz-wh .kz-wh-crumb span{color:rgba(255,255,255,.68);}

.kz-wh .kz-wh-pill{
  display:inline-flex;align-items:center;gap:8px;max-width:100%;
  padding:8px 18px;border-radius:30px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);
  color:#fff;font-size:13px;font-weight:600;line-height:1.4;margin-bottom:18px;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.kz-wh .kz-wh-live{flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#f7a63c;animation:kzWhPing 1.6s infinite;}
@keyframes kzWhPing{
  0%{box-shadow:0 0 0 0 rgba(247,166,60,.6)}
  70%{box-shadow:0 0 0 8px rgba(247,166,60,0)}
  100%{box-shadow:0 0 0 0 rgba(247,166,60,0)}
}

.kz-wh h1{color:#fff;font-weight:900;font-size:44px;line-height:1.08;letter-spacing:-1.3px;margin-bottom:14px;border:0;}
.kz-wh h1 .kz-wh-hl{
  background:linear-gradient(90deg,#f7a63c,#ffc879);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.kz-wh .kz-wh-sub{color:rgba(255,255,255,.9);font-size:17px;font-weight:500;line-height:1.55;max-width:560px;text-align:left;}

.kz-wh .kz-wh-feats{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px;}
.kz-wh .kz-wh-feat{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 20px;border-radius:40px;
  font-size:13.5px;font-weight:700;color:#fff;line-height:1.2;
  background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  transition:background .25s,transform .25s,border-color .25s;
}
.kz-wh .kz-wh-feat:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.42);transform:translateY(-2px);}
.kz-wh .kz-wh-feat i{color:#f7a63c;font-size:14px;}

.kz-wh .kz-wh-wave{position:absolute;bottom:-1px;left:0;width:100%;line-height:0;z-index:2;}
.kz-wh .kz-wh-wave svg{width:100%;height:80px;display:block;}
.kz-wh .kz-wh-wave path{fill:#f5f3fc;}

/* ---- content under the hero: same width as the hero ---- */
.kz-legal{max-width:1240px;padding:0px 20px 30px;}
.kz-legal .kz-toc{background:#fff;}

/* ---- responsive (same breakpoints as the wishlist) ---- */
@media(max-width:860px){
  .kz-wh{padding:44px 0 84px;}
  .kz-wh h1{font-size:33px;}
  .kz-wh .kz-wh-sub{font-size:15px;}
}
@media(max-width:600px){
  .kz-wh{padding:34px 0 70px;}
  .kz-wh .kz-wh-wrap{padding:0 16px;}
  .kz-wh h1{font-size:27px;letter-spacing:-.9px;}
  .kz-wh .kz-wh-pill{font-size:11.5px;padding:7px 14px;border-radius:18px;}
  .kz-wh .kz-wh-feats{gap:7px;margin-top:20px;}
  .kz-wh .kz-wh-feat{padding:9px 14px;font-size:11.5px;gap:7px;}
  .kz-wh .kz-wh-feat i{font-size:12px;}
  .kz-wh .kz-wh-wave svg{height:50px;}
  .kz-legal{padding:8px 16px 56px;}
}
@media(prefers-reduced-motion:reduce){
  .kz-wh .kz-wh-mesh span,.kz-wh .kz-wh-live{animation:none;}
  .kz-wh .kz-wh-feat{transition:none;}
}

/* ---- Two-column layout: sticky left sidebar + content ---- */
.kz-legal .kz-layout{
  display:grid;
  grid-template-columns:264px minmax(0,1fr);
  gap:44px;
  align-items:start;
}
.kz-legal .kz-side{position:sticky;top:20px;align-self:start;}
.kz-legal .kz-content{min-width:0;}
.kz-legal .kz-sec{scroll-margin-top:90px;}

/* ---- Sidebar contents (tab-style menu, rules use !important to beat the site theme) ---- */
.kz-legal .kz-toc{
  border:1px solid var(--k-border);
  border-radius:14px;
  overflow:hidden;
  text-align:left;
}
.kz-legal .kz-toc h2{
  margin:0;padding:13px 18px;
  font-size:.78rem;font-weight:700;letter-spacing:.02em;
  color:var(--k-muted);border:none;
  background:#FBFAF6;border-bottom:1px solid var(--k-border);
}
.kz-legal .kz-toc ol{
  list-style:none !important;margin:0 !important;padding:0 !important;display:block;
}
.kz-legal .kz-toc li{
  list-style:none !important;margin:0 !important;padding:0 !important;text-align:left;
}
.kz-legal .kz-toc li::marker{content:"";}
.kz-legal .kz-toc a{
  display:flex !important;align-items:center;gap:11px;
  padding:12px 16px;
  border-bottom:1px solid var(--k-border);
  color:var(--k-body);text-decoration:none;
  font-size:.9rem;line-height:1.35;
  transition:background .12s ease,color .12s ease;
}
.kz-legal .kz-toc li:last-child a{border-bottom:none;}
.kz-legal .kz-toc a .n{
  flex:0 0 auto;min-width:1.6em;
  color:var(--k-gold-deep);font-weight:700;font-variant-numeric:tabular-nums;
}
.kz-legal .kz-toc a:hover{background:var(--k-panel);color:var(--k-ink);}
.kz-legal .kz-toc a.is-active{background:var(--k-gold);color:var(--k-ink);font-weight:700;}
.kz-legal .kz-toc a.is-active .n{color:var(--k-ink);}

@media (max-width:900px){
  .kz-legal .kz-layout{grid-template-columns:1fr;gap:22px;}
  .kz-legal .kz-side{position:static;}
  .kz-legal .kz-toc ol{max-height:44vh;overflow:auto;}
}

/* ---- Intro paragraphs ---- */
.kz-legal .kz-intro p{
  text-align:justify;text-justify:inter-word;hyphens:auto;
  margin:0 0 14px;
}

/* ---- Sections ---- */
.kz-legal .kz-sec{margin-top:40px;}
.kz-legal .kz-sec > h2{
  display:flex;align-items:center;gap:14px;
  font-size:1.3rem;line-height:1.3;font-weight:750;
  color:var(--k-ink);margin:0 0 14px;
}
.kz-legal .kz-sec > h2 .kz-num{
  flex:0 0 auto;
  width:34px;height:34px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--k-gold);color:var(--k-ink);
  font-size:.95rem;font-weight:800;font-variant-numeric:tabular-nums;
}
.kz-legal h3{
  font-size:1.03rem;font-weight:700;color:var(--k-ink-soft);
  margin:22px 0 8px;
}

/* ---- Body text: JUSTIFIED ---- */
.kz-legal p,
.kz-legal li{
  text-align:justify;text-justify:inter-word;hyphens:auto;
}
.kz-legal p{margin:0 0 14px;}
.kz-legal ul{margin:0 0 16px;padding-left:20px;}
.kz-legal ul li{margin:0 0 9px;}
.kz-legal ul li::marker{color:var(--k-gold-deep);}
.kz-legal a{color:var(--k-gold-deep);}
.kz-legal strong{color:var(--k-ink-soft);}

/* ---- Callout: short version ---- */
.kz-legal .kz-callout{
  background:var(--k-panel);
  border:1px solid var(--k-panel-bd);
  border-left:4px solid var(--k-gold);
  border-radius:12px;
  padding:22px 26px;
  margin:0 0 8px;
}
.kz-legal .kz-callout h2{
  border:none;padding:0;margin:0 0 10px;
  font-size:1.05rem;font-weight:750;color:var(--k-ink);
}
.kz-legal .kz-callout ul{margin:0;}

/* ---- Contact card ---- */
.kz-legal .kz-contact{
  background:var(--k-panel);
  border:1px solid var(--k-panel-bd);
  border-radius:10px;
  padding:16px 20px;margin:4px 0 14px;
}
.kz-legal .kz-contact p{text-align:left;margin:0;}

@media (max-width:600px){
  .kz-legal{padding:8px 20px 72px;font-size:15px;}
  .kz-legal .kz-hero{padding:32px 24px;}
  .kz-legal .kz-hero h1{font-size:1.85rem;}
  .kz-legal .kz-sec > h2{font-size:1.15rem;}
}

/* ===== Force full-screen width, whatever container the page sits in ===== */
body{overflow-x:hidden;}                 /* stops the sideways scrollbar that 100vw can cause */

.kz-page{
  position:relative;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  overflow-x:clip;
}
.kz-wh{
  width:100% !important;
  max-width:none !important;
  border-radius:0 !important;
  margin:0 !important;
}