/* AI LAB · legal + consent layer (Agent 2). Keep all legal/consent rules here, never in style.css.

   SIGNATURE: a light-blue optical glass document suspended in the AI LAB's midnight environment.
   The dimensional glass (aura, frame, rim, refraction) is ALWAYS decorative and always BEHIND or
   AROUND the text. The reading plane itself is never transformed, never blurred and never rotated,
   so long legal copy rasterises perfectly crisply at every zoom level. Readability beats effect.

   Contrast on the reading plane: body #33415C on #F5F8FF = 9.6:1, headings #0B1226 = 17.5:1.
*/

/* ============================================================ tokens */
.legal-page{
  --lg-void:#04081A;
  --lg-void-2:#080F2A;
  --lg-blue:#5FA8FF;
  --lg-blue-ink:#8CC0FF;
  --lg-blue-deep:#246BFF;
  --lg-violet:#6E4DFF;

  --lg-plane:#F5F8FF;
  --lg-plane-2:#EDF3FF;
  --lg-ink:#0B1226;
  --lg-body:#33415C;
  --lg-mute:#66738F;
  --lg-rule:rgba(11,18,38,.11);
  --lg-rule-soft:rgba(11,18,38,.07);

  --lg-font:Inter,"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;
  --lg-ease:cubic-bezier(.4,0,.2,1);
  --lg-out:cubic-bezier(.2,.7,.2,1);
  --lg-r:24px;

  /* cursor-driven light + tilt, written by the page script. Identity by default. */
  --lg-rx:0deg; --lg-ry:0deg; --lg-mx:50%; --lg-my:36%;

  background:var(--lg-void);
  color:#EAF0FF;
}
.legal-page main{position:relative;z-index:1}

/* ============================================================ environment */
.lgl{position:relative;padding:clamp(112px,13vw,168px) 0 clamp(80px,9vw,132px);overflow:clip;background:
  radial-gradient(120% 80% at 50% -10%,rgba(36,107,255,.20),transparent 62%),
  radial-gradient(90% 60% at 100% 8%,rgba(110,77,255,.16),transparent 60%),
  linear-gradient(180deg,var(--lg-void) 0%,var(--lg-void-2) 46%,var(--lg-void) 100%)}
.lgl-aura{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.9;background:
  radial-gradient(46% 32% at 18% 22%,rgba(95,168,255,.16),transparent 68%),
  radial-gradient(40% 30% at 84% 62%,rgba(110,77,255,.14),transparent 70%)}
.lgl-aura::after{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(150,190,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(150,190,255,.045) 1px,transparent 1px);
  background-size:88px 88px;
  -webkit-mask-image:radial-gradient(70% 55% at 50% 30%,#000,transparent 78%);
  mask-image:radial-gradient(70% 55% at 50% 30%,#000,transparent 78%)}
.lgl .wrap{position:relative;z-index:1}

/* ============================================================ page head */
.lgl-eyebrow{display:inline-flex;align-items:center;gap:11px;font:500 13px/1 var(--lg-font);letter-spacing:.1em;text-transform:uppercase;color:var(--lg-blue-ink)}
.lgl-eyebrow i{width:7px;height:7px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 34% 30%,#eaf5ff 0,#8cc2ff 30%,#4f9dff 58%,#1f6fe0 100%);
  box-shadow:0 0 10px rgba(95,168,255,.85)}
.lgl-h1{margin:20px 0 0;font:600 clamp(40px,6.2vw,78px)/1.03 var(--lg-font);letter-spacing:-.038em;color:#fff;max-width:16ch}
.lgl-h1 em{font-style:normal;background:linear-gradient(96deg,var(--lg-blue-ink),#B7A6FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.lgl-lead{margin:24px 0 0;font:400 clamp(17px,1.5vw,20px)/1.58 var(--lg-font);letter-spacing:-.012em;color:rgba(214,226,255,.74);max-width:56ch}
.lgl-meta{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 0;list-style:none;padding:0}
.lgl-meta li{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;font:500 13.5px/1 var(--lg-font);letter-spacing:-.005em;color:rgba(206,220,255,.8);
  background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(150,190,255,.18),inset 0 1px 0 rgba(255,255,255,.09)}
.lgl-meta b{font-weight:600;color:#EAF1FF}

/* ============================================================ layout */
/* the document is a document, not a full-bleed panel: the plane is sized so the 68ch
   measure sits inside it with a real margin rather than a field of empty paper */
.lgl-body{display:grid;grid-template-columns:1fr;gap:clamp(34px,4vw,54px);margin-top:clamp(44px,5.4vw,72px);align-items:start;max-width:1160px}
@media (min-width:1120px){.lgl-body{grid-template-columns:236px minmax(0,1fr)}}

/* --- table of contents --- */
.lgl-toc{position:relative;order:-1}
@media (min-width:1120px){.lgl-toc{position:sticky;top:118px}}
.lgl-toc-h{margin:0 0 14px;font:600 12px/1 var(--lg-font);letter-spacing:.11em;text-transform:uppercase;color:rgba(180,200,255,.5)}
.lgl-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.lgl-toc a{display:block;padding:9px 14px;border-radius:11px;font:450 14.5px/1.4 var(--lg-font);letter-spacing:-.012em;color:rgba(200,214,255,.62);
  border-left:2px solid transparent;transition:color .22s var(--lg-ease),background .22s var(--lg-ease),border-color .22s var(--lg-ease)}
.lgl-toc a:hover{color:#EDF3FF;background:rgba(255,255,255,.05)}
.lgl-toc a[aria-current="true"]{color:#fff;background:rgba(95,168,255,.13);border-left-color:var(--lg-blue)}
@media (max-width:1119px){
  .lgl-toc{padding:20px 22px;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(150,190,255,.16)}
  .lgl-toc ol{flex-direction:row;flex-wrap:wrap;gap:6px}
  .lgl-toc a{border-left:0;padding:8px 13px;background:rgba(255,255,255,.05)}
  .lgl-toc a[aria-current="true"]{border-left:0;box-shadow:inset 0 0 0 1px rgba(95,168,255,.5)}
}

/* ============================================================ the glass document */
.lgl-doc{position:relative;perspective:1900px;perspective-origin:50% 34%;min-width:0}

/* decorative dimensional glass: sits BEHIND and AROUND the reading plane, never over the text */
.lgl-glass{position:absolute;inset:-18px;pointer-events:none;z-index:0;transform-style:preserve-3d;
  transform:rotateX(var(--lg-rx)) rotateY(var(--lg-ry));transition:transform .5s var(--lg-out)}
.lgl-glass span{position:absolute;display:block;border-radius:calc(var(--lg-r) + 18px)}
/* far layer: the blue-violet bloom the document floats in */
.lgl-g1{inset:-26px;transform:translateZ(-70px);filter:blur(26px);opacity:.85;background:
  radial-gradient(58% 42% at 12% 6%,rgba(36,107,255,.55),transparent 66%),
  radial-gradient(52% 40% at 92% 88%,rgba(110,77,255,.45),transparent 68%)}
/* mid layer: the glass body */
.lgl-g2{inset:0;transform:translateZ(-26px);
  background:linear-gradient(148deg,rgba(150,195,255,.16),rgba(110,77,255,.07) 46%,rgba(150,195,255,.13));
  box-shadow:0 0 0 1px rgba(150,195,255,.30),0 0 68px rgba(36,107,255,.30),0 46px 110px rgba(2,6,24,.62)}
/* near layer: the refracting bevel that catches the light */
.lgl-g3{inset:6px;transform:translateZ(-10px);
  background:linear-gradient(200deg,rgba(190,220,255,.42),rgba(190,220,255,0) 26%,rgba(110,77,255,0) 72%,rgba(150,120,255,.32));
  -webkit-mask:linear-gradient(#000,#000) content-box exclude,linear-gradient(#000,#000);
  mask:linear-gradient(#000,#000) content-box exclude,linear-gradient(#000,#000);
  -webkit-mask-composite:xor;padding:1.5px}
/* cursor light: a soft specular that tracks the pointer across the frame */
.lgl-g4{inset:0;transform:translateZ(-4px);opacity:.55;
  background:radial-gradient(38% 30% at var(--lg-mx) var(--lg-my),rgba(214,234,255,.5),transparent 70%);
  transition:background .35s var(--lg-out)}

/* the reading plane: flat, opaque, untransformed. Legal copy lives here. */
.lgl-plane{position:relative;z-index:1;border-radius:var(--lg-r);padding:clamp(28px,4.4vw,64px) clamp(24px,4vw,62px) clamp(36px,4.6vw,66px);
  background:linear-gradient(178deg,#FBFCFF 0%,var(--lg-plane) 24%,var(--lg-plane-2) 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.55),0 0 0 2px rgba(120,170,255,.22),0 30px 70px rgba(2,6,24,.5);
  color:var(--lg-body);font-family:var(--lg-font);-webkit-font-smoothing:antialiased}
/* the rim: a hairline of refraction laid over the plane edge only. Centre stays perfectly clear. */
.lgl-plane::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(150deg,rgba(255,255,255,.9),rgba(255,255,255,0) 22%,rgba(150,190,255,0) 74%,rgba(150,190,255,.55));
  -webkit-mask:linear-gradient(#000,#000) content-box exclude,linear-gradient(#000,#000);
  mask:linear-gradient(#000,#000) content-box exclude,linear-gradient(#000,#000);
  -webkit-mask-composite:xor;padding:1px}
/* a single wide sheen across the top of the sheet, fading out well above the first paragraph */
.lgl-plane::after{content:"";position:absolute;left:0;right:0;top:0;height:190px;border-radius:var(--lg-r) var(--lg-r) 0 0;pointer-events:none;
  background:linear-gradient(178deg,rgba(255,255,255,.85),rgba(255,255,255,0) 78%)}
.lgl-plane>*{position:relative;z-index:1}

/* ============================================================ document typography */
.lgl-plane .lgl-doc-h{margin:0;font:600 clamp(23px,2.5vw,30px)/1.18 var(--lg-font);letter-spacing:-.028em;color:var(--lg-ink)}
.lgl-plane .lgl-doc-sub{margin:12px 0 0;font:400 16px/1.6 var(--lg-font);letter-spacing:-.008em;color:var(--lg-mute);max-width:64ch}
.lgl-rule{height:1px;border:0;margin:clamp(26px,3vw,36px) 0 0;background:linear-gradient(90deg,rgba(11,18,38,.16),rgba(11,18,38,.05) 62%,transparent)}

.lgl-s{padding-top:clamp(32px,3.6vw,46px);scroll-margin-top:106px}
.lgl-s>h2{margin:0;font:600 clamp(19px,2vw,23px)/1.26 var(--lg-font);letter-spacing:-.024em;color:var(--lg-ink);
  display:flex;align-items:baseline;gap:12px}
.lgl-s>h2 i{flex:none;font-style:normal;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--lg-blue-deep);
  font-variant-numeric:tabular-nums;transform:translateY(-1px)}
.lgl-s h3{margin:26px 0 0;font:600 16.5px/1.4 var(--lg-font);letter-spacing:-.014em;color:#1A2540}
.lgl-s p{margin:14px 0 0;font:400 17px/1.72 var(--lg-font);letter-spacing:-.009em;color:var(--lg-body);max-width:68ch}
.lgl-s p:first-of-type{margin-top:16px}
.lgl-s a{color:var(--lg-blue-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2.5px;
  transition:color .2s var(--lg-ease)}
.lgl-s a:hover{color:#0B1226}
.lgl-s strong,.lgl-s b{font-weight:600;color:var(--lg-ink)}
.lgl-s ul,.lgl-s ol{margin:16px 0 0;padding-left:0;list-style:none;max-width:68ch;display:flex;flex-direction:column;gap:10px}
.lgl-s li{position:relative;padding-left:24px;font:400 17px/1.66 var(--lg-font);letter-spacing:-.009em;color:var(--lg-body)}
.lgl-s ul>li::before{content:"";position:absolute;left:3px;top:10px;width:6px;height:6px;border-radius:50%;
  background:linear-gradient(140deg,var(--lg-blue),var(--lg-blue-deep));box-shadow:0 0 0 3px rgba(36,107,255,.10)}
.lgl-s ol{counter-reset:lgl}
.lgl-s ol>li{counter-increment:lgl}
.lgl-s ol>li::before{content:counter(lgl);position:absolute;left:0;top:1px;font:600 12.5px/1.5 var(--lg-font);color:var(--lg-blue-deep);font-variant-numeric:tabular-nums}
.lgl-s li b{font-weight:600;color:var(--lg-ink)}

/* definition rows (data category / purpose / retention) */
.lgl-dl{margin:20px 0 0;display:grid;gap:1px;background:var(--lg-rule-soft);border-radius:14px;overflow:hidden;
  box-shadow:0 0 0 1px var(--lg-rule-soft)}
.lgl-dl>div{display:grid;grid-template-columns:1fr;gap:4px;padding:16px 18px;background:rgba(255,255,255,.72)}
@media (min-width:640px){.lgl-dl>div{grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:baseline}}
.lgl-dl dt{font:600 14.5px/1.45 var(--lg-font);letter-spacing:-.008em;color:var(--lg-ink)}
.lgl-dl dd{margin:0;font:400 15.5px/1.6 var(--lg-font);letter-spacing:-.006em;color:var(--lg-body)}

/* a plain, honest fact table (browser storage) */
.lgl-scroll{margin:20px 0 0;overflow-x:auto;border-radius:14px;box-shadow:0 0 0 1px var(--lg-rule-soft);-webkit-overflow-scrolling:touch}
.lgl-tbl{width:100%;min-width:520px;border-collapse:collapse;background:rgba(255,255,255,.72);font-family:var(--lg-font)}
.lgl-tbl th,.lgl-tbl td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--lg-rule-soft);vertical-align:top}
.lgl-tbl thead th{font:600 12.5px/1.3 var(--lg-font);letter-spacing:.06em;text-transform:uppercase;color:var(--lg-mute);
  background:rgba(236,243,255,.9);white-space:nowrap}
.lgl-tbl tbody td{font:400 15px/1.55 var(--lg-font);letter-spacing:-.006em;color:var(--lg-body)}
.lgl-tbl tbody tr:last-child td{border-bottom:0}
.lgl-tbl code{font:500 13.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--lg-ink);
  background:rgba(36,107,255,.08);padding:2px 6px;border-radius:5px;white-space:nowrap}

/* callout: the honest note. Used for "what we do not claim". */
.lgl-note{margin:22px 0 0;padding:18px 22px;border-radius:14px;max-width:68ch;
  background:linear-gradient(140deg,rgba(36,107,255,.07),rgba(110,77,255,.05));
  box-shadow:inset 0 0 0 1px rgba(36,107,255,.16)}
.lgl-note p{margin:0;font:400 16px/1.62 var(--lg-font);color:#243352;max-width:none}
.lgl-note p+p{margin-top:10px}
.lgl-note b{color:var(--lg-ink)}

/* contact block that closes each document */
.lgl-sign{margin-top:clamp(34px,4vw,48px);padding-top:26px;border-top:1px solid var(--lg-rule);
  display:flex;flex-wrap:wrap;gap:22px 44px;align-items:flex-start;justify-content:space-between}
.lgl-sign div{min-width:0}
.lgl-sign p{margin:0;font:400 15.5px/1.6 var(--lg-font);color:var(--lg-mute);max-width:44ch}
.lgl-sign b{display:block;font-weight:600;font-size:16px;color:var(--lg-ink);margin-bottom:4px}
.lgl-sign a{color:var(--lg-blue-deep)}
.lgl-cta{flex:none;display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:999px;
  font:600 15px/1 var(--lg-font);letter-spacing:-.012em;color:#fff;text-decoration:none;
  background:linear-gradient(135deg,#3B86FF,#246BFF);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 22px rgba(36,107,255,.34);
  transition:transform .22s var(--lg-out),box-shadow .22s var(--lg-out)}
.lgl-cta:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 14px 30px rgba(36,107,255,.42)}
.lgl-cta svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ============================================================ hub (/legal) */
/* same measure as the document below, so the page reads as one column of material */
.lgl-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:clamp(40px,5vw,60px);max-width:1160px}
.lgl-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px 26px 26px;border-radius:20px;text-decoration:none;
  background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  box-shadow:inset 0 0 0 1px rgba(150,190,255,.20),inset 0 1px 0 rgba(255,255,255,.10),0 20px 44px rgba(2,6,24,.34);
  transition:transform .3s var(--lg-out),box-shadow .3s var(--lg-out),background .3s var(--lg-ease)}
.lgl-card:hover{transform:translateY(-4px);background:linear-gradient(160deg,rgba(255,255,255,.11),rgba(255,255,255,.05));
  box-shadow:inset 0 0 0 1px rgba(150,190,255,.38),inset 0 1px 0 rgba(255,255,255,.16),0 28px 60px rgba(2,6,24,.44),0 0 40px rgba(36,107,255,.18)}
.lgl-card h2{margin:0;font:600 20px/1.24 var(--lg-font);letter-spacing:-.024em;color:#fff;display:flex;align-items:center;gap:10px}
.lgl-card h2 span{margin-left:auto;font-size:15px;color:var(--lg-blue-ink);transition:transform .3s var(--lg-out)}
.lgl-card:hover h2 span{transform:translate(3px,-3px)}
.lgl-card p{margin:0;font:400 15.5px/1.58 var(--lg-font);letter-spacing:-.008em;color:rgba(206,220,255,.68)}
.lgl-card em{font-style:normal;display:inline-flex;align-items:center;gap:7px;margin-top:6px;font:500 12.5px/1 var(--lg-font);
  letter-spacing:.08em;text-transform:uppercase;color:rgba(160,185,255,.6)}

/* anchor landings kept alive for indexed /legal#privacy, #cookies, #terms */
.lgl-anchor{scroll-margin-top:110px}

/* ============================================================ reduced motion */
@media (prefers-reduced-motion:reduce){
  .lgl-glass{transform:none!important;transition:none}
  .lgl-g4{transition:none}
  .lgl-card,.lgl-cta{transition:none}
  .lgl-card:hover,.lgl-cta:hover{transform:none}
}

/* ============================================================ print */
@media print{
  .legal-page{background:#fff;color:#000}
  .nav,.ft,.lgl-aura,.lgl-glass,.lgl-toc,.cc,.cc-dialog,.cc-root,.lgl-cta{display:none!important}
  .lgl{padding:0;background:#fff}
  .lgl-h1,.lgl-eyebrow,.lgl-lead,.lgl-meta li{color:#000!important;-webkit-text-fill-color:#000}
  .lgl-plane{box-shadow:none;background:#fff;padding:0;border-radius:0}
  .lgl-plane::before,.lgl-plane::after{display:none}
  .lgl-s{page-break-inside:avoid}
}

/* ============================================================================
   COOKIE CONSENT  ·  AI LAB
   Same engine and the same states as World 1 (js/cl-consent.js), rendered in
   AI LAB material: midnight optical glass, electric blue, blue-violet refraction.
   ============================================================================ */
.cc,.cc-dialog{font-family:Inter,"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;
  letter-spacing:-.014em;
  --c-blue:#5FA8FF;--c-blue-ink:#8CC0FF;--c-blue-deep:#246BFF;--c-violet:#6E4DFF;
  --c-ink:#F4F8FF;--c-mute:rgba(206,220,255,.68);--c-ease:cubic-bezier(.4,0,.2,1);--c-out:cubic-bezier(.2,.7,.2,1)}

/* ---------- banner ---------- */
.cc{position:fixed;left:24px;bottom:24px;z-index:9200;width:min(432px,calc(100vw - 48px));
  padding:24px 26px 22px;border-radius:22px;color:var(--c-ink);
  background:rgba(9,15,44,.80);
  -webkit-backdrop-filter:blur(30px) saturate(1.4);backdrop-filter:blur(30px) saturate(1.4);
  box-shadow:0 0 0 1px rgba(130,170,255,.40),0 0 0 2px rgba(110,77,255,.14),0 0 52px rgba(36,107,255,.26),0 32px 80px rgba(2,6,24,.62),inset 0 1px 0 rgba(170,205,255,.34);
  opacity:0;transform:translateY(18px) scale(.98);transition:opacity .5s var(--c-out),transform .5s var(--c-out)}
.cc.on{opacity:1;transform:none}
.cc::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(60% 40% at 0% 0%,rgba(70,140,255,.26),transparent 62%),radial-gradient(60% 45% at 100% 100%,rgba(110,77,255,.22),transparent 62%)}
.cc>*{position:relative}
.cc h2{margin:0;font:600 18px/1.3 inherit;letter-spacing:-.026em;color:#fff;display:flex;align-items:center;gap:10px}
.cc h2 i{width:8px;height:8px;border-radius:50%;flex:none;
  background:radial-gradient(circle at 34% 30%,#eaf5ff 0,#8cc2ff 30%,#4f9dff 58%,#1f6fe0 100%);
  box-shadow:inset 0 -1px 1px rgba(10,40,120,.35),0 0 10px rgba(95,168,255,.8)}
.cc p{margin:11px 0 0;font:400 14.5px/1.58 inherit;color:var(--c-mute)}
.cc-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}
.cc button,.cc-panel button{font-family:inherit;letter-spacing:inherit;cursor:pointer;border:0}
.cc-accept,.cc-essential{flex:1 1 auto;min-width:132px;padding:12px 18px;border-radius:12px;font:600 14.5px/1 inherit;transition:transform .2s var(--c-out),box-shadow .2s var(--c-out),background .2s var(--c-ease)}
.cc-accept{color:#fff;background:linear-gradient(135deg,#3B86FF,#246BFF);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 20px rgba(36,107,255,.34)}
.cc-accept:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 12px 26px rgba(36,107,255,.44)}
/* no dark patterns: "Essential only" carries the same weight and size as "Accept all" */
.cc-essential{color:#EAF1FF;background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px rgba(150,190,255,.30)}
.cc-essential:hover{transform:translateY(-1px);background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(150,190,255,.5)}
.cc-prefs-btn{flex:1 1 100%;padding:6px 2px 0;background:none;font:500 13.5px/1 inherit;color:var(--c-blue-ink);text-align:left;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cc-prefs-btn:hover{color:#fff}

/* ---------- preferences dialog ---------- */
.cc-dialog{position:fixed;inset:0;z-index:9300;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(2,5,18,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  opacity:0;visibility:hidden;transition:opacity .34s var(--c-ease),visibility .34s}
.cc-dialog.on{opacity:1;visibility:visible}
.cc-panel{position:relative;width:min(560px,100%);max-height:min(86vh,760px);overflow-y:auto;padding:32px 32px 26px;border-radius:24px;color:var(--c-ink);
  background:rgba(9,15,44,.90);
  -webkit-backdrop-filter:blur(30px) saturate(1.4);backdrop-filter:blur(30px) saturate(1.4);
  box-shadow:0 0 0 1px rgba(130,170,255,.42),0 0 0 2px rgba(110,77,255,.16),0 0 60px rgba(36,107,255,.28),0 40px 100px rgba(2,6,24,.7),inset 0 1px 0 rgba(170,205,255,.36);
  transform:translateY(16px) scale(.985);transition:transform .4s var(--c-out)}
.cc-dialog.on .cc-panel{transform:none}
.cc-panel h2{margin:0;font:600 22px/1.24 inherit;letter-spacing:-.028em;color:#fff}
.cc-panel>p{margin:12px 0 0;font:400 14.5px/1.6 inherit;color:var(--c-mute)}
.cc-cat{position:relative;margin-top:16px;padding:18px 20px;border-radius:16px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;
  background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(150,190,255,.18)}
.cc-cat b{font:600 15.5px/1.3 inherit;letter-spacing:-.018em;color:#fff}
.cc-cat p{grid-column:1/-1;margin:0;font:400 13.8px/1.55 inherit;color:var(--c-mute)}
.cc-always{justify-self:end;padding:5px 11px;border-radius:999px;font:600 11.5px/1 inherit;letter-spacing:.05em;text-transform:uppercase;
  color:var(--c-blue-ink);background:rgba(95,168,255,.14);box-shadow:inset 0 0 0 1px rgba(95,168,255,.3)}
.cc-switch{justify-self:end;position:relative;display:block;width:46px;height:27px;flex:none;cursor:pointer}
.cc-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cc-switch::before{content:"";position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.11);
  box-shadow:inset 0 0 0 1px rgba(150,190,255,.26);transition:background .26s var(--c-ease),box-shadow .26s var(--c-ease);pointer-events:none}
.cc-switch::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;
  background:linear-gradient(160deg,#F2F7FF,#C9DCFF);box-shadow:0 2px 6px rgba(2,6,24,.5);
  transition:transform .28s var(--c-out),background .26s var(--c-ease);pointer-events:none}
.cc-switch:has(input:checked)::before{background:linear-gradient(135deg,#3B86FF,#246BFF);box-shadow:inset 0 0 0 1px rgba(150,190,255,.5),0 0 14px rgba(36,107,255,.5)}
.cc-switch:has(input:checked)::after{transform:translateX(19px);background:#fff}
.cc-switch:has(input:focus-visible)::before{box-shadow:inset 0 0 0 1px rgba(150,190,255,.5),0 0 0 3px rgba(95,168,255,.5)}
.cc-panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}
.cc-panel-actions>div{display:flex;flex-wrap:wrap;gap:10px;flex:1 1 auto}
.cc-save,.cc-all{padding:12px 20px;border-radius:12px;font:600 14.5px/1 inherit;transition:transform .2s var(--c-out),box-shadow .2s var(--c-out),background .2s var(--c-ease)}
.cc-save{color:#fff;background:linear-gradient(135deg,#3B86FF,#246BFF);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 20px rgba(36,107,255,.34)}
.cc-save:hover{transform:translateY(-1px)}
.cc-all{color:#EAF1FF;background:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px rgba(150,190,255,.3)}
.cc-all:hover{transform:translateY(-1px);background:rgba(255,255,255,.14)}
.cc-close{margin-left:auto;padding:12px 16px;border-radius:12px;background:none;font:500 14px/1 inherit;color:var(--c-mute)}
.cc-close:hover{color:#fff;background:rgba(255,255,255,.08)}
.cc-links{margin:18px 0 0;font:400 13.2px/1.55 inherit;color:rgba(180,200,255,.55)}
.cc-links a{color:var(--c-blue-ink);text-decoration:underline;text-underline-offset:2.5px}
.cc-links a:hover{color:#fff}

/* footer legal row: five documents plus the consent control, so the column gap tightens */
.ft2-legal-links{gap:11px 24px}
.ft2-legal-links [data-cookie-prefs]{background:none;border:0;padding:0;font:inherit;line-height:inherit;letter-spacing:inherit;
  color:#F7F9FF;cursor:pointer;text-align:left;transition:color .25s}
.ft2-legal-links [data-cookie-prefs]:hover{color:var(--f-blue,#5FA8FF)}

/* focus visibility everywhere in the legal + consent layer */
.legal-page a:focus-visible,.lgl-toc a:focus-visible,.lgl-cta:focus-visible,.lgl-card:focus-visible,
.cc button:focus-visible,.cc-panel button:focus-visible,.cc-links a:focus-visible,
.ft2-legal-links [data-cookie-prefs]:focus-visible{outline:2px solid var(--lg-blue,#5FA8FF);outline-offset:3px;border-radius:6px}
.lgl-plane a:focus-visible{outline:2px solid #246BFF;outline-offset:2px;border-radius:3px}

@media (prefers-reduced-motion:reduce){
  .cc,.cc-panel,.cc-dialog,.cc-accept,.cc-essential,.cc-save,.cc-all,.cc-switch::after,.cc-switch::before{transition:none}
  .cc{transform:none}
  .cc-accept:hover,.cc-essential:hover,.cc-save:hover,.cc-all:hover{transform:none}
}

@media (max-width:560px){
  .cc{left:12px;right:12px;bottom:12px;width:auto;padding:21px 20px 19px;border-radius:19px}
  .cc-actions{gap:8px}
  .cc-accept,.cc-essential{flex:1 1 100%}
  .cc-panel{padding:26px 22px 22px;border-radius:20px}
  .cc-panel-actions{gap:8px}
  .cc-save,.cc-all{flex:1 1 100%}
  .cc-close{margin-left:0;flex:1 1 100%;text-align:center}
}
