/* ============================================================
   license_disclaimer.polish.css
   Loaded LAST — restyles the license/disclaimer page for parity
   with the rest of the dossier. Text content is untouched.
   ============================================================ */
:root{
  --l-bg:#0b1017; --l-panel:#0e1622; --l-panel2:#121d2b; --l-line:#243343;
  --l-ink:#eef3f8; --l-muted:#aeb9c6; --l-soft:#c6d1dd;
  --l-red:#ef6b73; --l-red-dim:#7f2a30; --l-cyan:#7fc4d6; --l-amber:#e7a73f;
  --l-sans:'Inter',system-ui,sans-serif; --l-mono:'JetBrains Mono',monospace;
}

body{
  background:
    radial-gradient(1100px 620px at 78% -6%, rgba(239,107,115,.09), transparent 60%),
    radial-gradient(900px 520px at 8% 2%, rgba(127,196,214,.055), transparent 55%),
    var(--l-bg);
  color:var(--l-ink);
}

/* wider, calmer reading column */
main.max-w-\[70rem\]{max-width:64rem}
main{padding-top:2.25rem}

/* ---------------- hero ---------------- */
.lic-hero{
  position:relative; overflow:hidden;
  border:1px solid var(--l-line);
  border-radius:16px;
  background:
    linear-gradient(180deg, rgba(239,107,115,.06), transparent 42%),
    linear-gradient(180deg, var(--l-panel), #0a0f18);
  padding:44px 42px 40px;
  margin-bottom:34px;
}
.lic-eyebrow{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  font:600 11px var(--l-mono); letter-spacing:.14em; text-transform:uppercase;
  color:var(--l-muted); margin-bottom:20px;
}
.lic-eyebrow .wm{
  color:var(--l-red); font-weight:800; font-style:italic; letter-spacing:.02em;
  font-size:13px;
}
.lic-eyebrow i{ font-style:normal; padding-left:12px; border-left:1px solid var(--l-line); color:#7f8ea0; }
.lic-kicker{
  display:inline-block; font:700 11.5px var(--l-mono); letter-spacing:.22em;
  text-transform:uppercase; color:var(--l-red);
}
.lic-title{
  margin:12px 0 0; font-family:var(--l-sans); font-weight:900;
  font-size:clamp(38px,6vw,68px); line-height:.98; letter-spacing:-.03em; color:#fff;
}
.lic-title span{ color:var(--l-red); }
.lic-lede{
  margin:20px 0 0; max-width:60ch;
  font:400 15.5px/1.72 var(--l-sans); color:var(--l-soft);
}
.lic-meta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.lic-chip{
  font:600 11px var(--l-mono); letter-spacing:.12em; text-transform:uppercase;
  color:var(--l-muted); border:1px solid var(--l-line); background:rgba(255,255,255,.02);
  border-radius:999px; padding:7px 14px;
}
.lic-chip.red{ color:#f4a7ab; border-color:var(--l-red-dim); background:rgba(239,107,115,.07); }
.lic-watermark{
  position:absolute; right:-14px; bottom:-30px; pointer-events:none; user-select:none;
  font:900 150px var(--l-sans); letter-spacing:-.05em; line-height:1;
  color:rgba(239,107,115,.05); z-index:0;
}
/* the watermark must stay out of flow — see the override below */
.lic-hero>*{ position:relative; z-index:1; }
@media (max-width:640px){
  .lic-hero{ padding:30px 22px 28px; }
  .lic-watermark{ font-size:88px; bottom:-14px; }
}

/* ---------------- section cards ---------------- */
main .paper-card{
  position:relative;
  background:linear-gradient(180deg, var(--l-panel), #0a0f18);
  border:1px solid var(--l-line);
  border-radius:13px;
  padding:30px 34px 30px 36px;
  box-shadow:0 1px 0 rgba(255,255,255,.02) inset, 0 18px 40px -30px rgba(0,0,0,.8);
}
main .paper-card::before{
  content:""; position:absolute; left:0; top:20px; bottom:20px; width:3px;
  border-radius:0 3px 3px 0; background:var(--l-red); opacity:.85;
}
/* accent colour follows the section's own heading colour */
main .paper-card:has(h2.text-cyan-400)::before{ background:var(--l-cyan); }
main .paper-card:has(h2.text-amber-500)::before{ background:var(--l-amber); }
main .paper-card:has(h2.text-white)::before{ background:#5b6b7d; }
main .paper-card:hover{ border-color:#31465c; }

/* section headings — bigger, with a rule */
main .paper-card h2{
  font-family:var(--l-mono); font-weight:700;
  font-size:12.5px; letter-spacing:.16em; text-transform:uppercase;
  padding-bottom:14px; margin-bottom:2px;
  border-bottom:1px solid var(--l-line);
  display:flex; align-items:baseline; gap:10px;
}
main .paper-card h3{
  font-family:var(--l-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--l-ink); margin-top:6px;
}

/* body copy — readable measure, roomier */
main .paper-card p{
  font-size:14.5px; line-height:1.82; max-width:70ch;
}
main .paper-card p.font-mono, main .paper-card .font-mono p{ line-height:1.7; }

/* pull-quotes (the punchy one-liners already wrapped in border-l-2 blocks) */
main .paper-card div[class*="border-l-2"]{
  border-left:0 !important; position:relative;
  background:linear-gradient(180deg, rgba(239,107,115,.08), rgba(239,107,115,.02)) !important;
  border:1px solid var(--l-red-dim); border-radius:10px;
  padding:18px 22px 18px 26px !important; margin:6px 0;
}
main .paper-card div[class*="border-l-2"]::before{
  content:""; position:absolute; left:0; top:12px; bottom:12px; width:3px;
  background:var(--l-red); border-radius:0 3px 3px 0;
}
main .paper-card div[class*="border-l-2"] p{
  font-size:17px !important; line-height:1.55; font-style:normal !important;
  color:#fbe4e6; font-weight:600; max-width:none;
}
main .paper-card div[class*="border-l-2"][class*="amber"]{ border-color:#7a5a1e; background:linear-gradient(180deg,rgba(231,167,63,.09),rgba(231,167,63,.02)) !important; }
main .paper-card div[class*="border-l-2"][class*="amber"]::before{ background:var(--l-amber); }
main .paper-card div[class*="border-l-2"][class*="amber"] p{ color:#f6e3bf; }
main .paper-card div[class*="border-l-2"] h3{ color:#fff; margin:0 0 4px; }

/* inner info boxes (bg-gray-950/60 lists, deal boxes) */
main .paper-card div[class*="bg-gray-950"]{
  background:var(--l-panel2) !important; border:1px solid var(--l-line) !important;
  border-radius:10px; padding:16px 18px !important;
}
main .paper-card div[class*="bg-gray-950"] p{ font-size:13.5px; line-height:1.7; }
main .paper-card div[class*="bg-gray-950"] p[class*="uppercase"]{
  color:var(--l-red); letter-spacing:.14em; margin-bottom:4px;
}

/* monospace verify block */
main .paper-card div[class*="bg-gray-950"].font-mono,
main .paper-card div.font-mono[class*="bg-gray-950"]{
  background:#070b12 !important; border-color:#1b2634 !important; color:var(--l-cyan);
}

/* links */
main .paper-card a{ color:var(--l-cyan); text-underline-offset:3px; }
main .paper-card a:hover{ color:#a7dbe8; text-decoration:underline; }

/* ---------------- formal declaration: cooler, document-like ---------------- */
main .paper-card.formal{
  background:linear-gradient(180deg,#0c131c,#090d15);
  border-color:#26333f;
}
main .paper-card.formal::before{ background:#5b6b7d; }
.formal-flag{
  display:inline-block; font: 600 11px var(--l-mono); letter-spacing:.16em; text-transform:uppercase;
  color:#9fb0c2; border:1px dashed #33455a; border-radius:6px; padding:5px 11px; margin-bottom:4px;
}
main .paper-card.formal h3{ color:#f3b4b8; }
main .paper-card.formal p{ color:#b9c4d1; }

/* ---------------- send-off close ---------------- */
main .paper-card.sendoff{
  background:linear-gradient(180deg, rgba(239,107,115,.06), #0a0f18);
  border-color:#4a2429;
}
main .paper-card.sendoff::before{ background:var(--l-red); opacity:1; }
main .paper-card.sendoff p.font-medium{
  font-size:19px !important; line-height:1.4; color:#fff; font-weight:800;
  letter-spacing:-.01em; max-width:none;
}

/* notice label (kept for any residual use) */
.notice-label{ border-color:var(--l-red-dim); color:#f4a7ab; border-radius:6px; }

/* closing banner */
main > .text-center .text-red-500{ color:var(--l-red); }

/* header wordmark harmonise */
header .text-red-500{ color:var(--l-red); }

/* ============================================================
   RESTORED UTILITIES
   tw-license-disclaimer.css is a subset build and omits these,
   although both pages that load it use them. Without space-y-5
   and space-y-8 every paragraph and every card sat flush against
   its neighbour. Defined here so the pages no longer depend on
   what the subset happened to include.
   ============================================================ */
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]){ margin-top:.125rem; }
.space-y-5   > :not([hidden]) ~ :not([hidden]){ margin-top:1.25rem; }
.space-y-8   > :not([hidden]) ~ :not([hidden]){ margin-top:2rem; }
.divide-y    > :not([hidden]) ~ :not([hidden]){ border-top-width:1px; }
.divide-gray-900 > :not([hidden]) ~ :not([hidden]){ border-color:#111827; }
.px-4{ padding-left:1rem; padding-right:1rem; }
.py-1\.5{ padding-top:.375rem; padding-bottom:.375rem; }
.py-3{ padding-top:.75rem; padding-bottom:.75rem; }
.pt-3{ padding-top:.75rem; }
.pr-1{ padding-right:.25rem; }
.pr-2{ padding-right:.5rem; }
.mt-3{ margin-top:.75rem; }
.rounded-r{ border-top-right-radius:.25rem; border-bottom-right-radius:.25rem; }
.border-l-2{ border-left-width:2px; }
.not-italic{ font-style:normal; }
.transition-colors{ transition:color .2s ease, background-color .2s ease, border-color .2s ease; }
.shadow-md{ box-shadow:0 4px 6px -1px rgba(0,0,0,.35), 0 2px 4px -2px rgba(0,0,0,.35); }

/* ============================================================
   HEADING HIERARCHY
   dossier-design.css forces every h3 inside the dossier shell to
   clamp(17px,1.6vw,23px) !important, which made subheadings larger
   than the 12.5px section titles above them. The titles are
   promoted to display size and the subheadings pulled below them.
   ============================================================ */
main .paper-card h2.lic-h2{
  display:block; padding-bottom:18px; margin:0 0 6px;
  border-bottom:1px solid var(--l-line);
  font-size:inherit; letter-spacing:normal; text-transform:none;
}
.lic-h2 .lic-h2-n{
  display:flex; align-items:center; gap:9px;
  font: 700 11px var(--l-mono); letter-spacing:.22em; text-transform:uppercase;
  color:inherit;
}
.lic-h2 .lic-h2-n::before{
  content:""; width:7px; height:7px; border-radius:2px;
  background:currentColor; opacity:.85; flex:none;
}
.lic-h2 .lic-h2-t{
  display:block; margin-top:11px; max-width:34ch;
  font:800 clamp(21px,2.3vw,28px)/1.2 var(--l-sans);
  letter-spacing:-.032em; color:#f2f6fa; text-wrap:balance;
}
.lic-h2 .lic-h2-t i{
  font-style:normal; font-weight:500; font-size: 11px; letter-spacing:-.01em;
  color:#8b9bad; white-space:nowrap;
}
/* Must out-specify `.casework .casework-content h3:not(.casework-section-title)`
   in dossier-design.css — (0,3,1) — hence the extra body class. */
body.casework main .paper-card h3:not(.casework-section-title){
  font:700 17.5px/1.35 var(--l-sans) !important;
  letter-spacing:-.025em !important; text-transform:none !important;
  color:#eaf0f7 !important; margin-top:14px;
}
body.casework main .paper-card.formal h3:not(.casework-section-title){ color:#f3b4b8 !important; }
body.casework main .paper-card div[class*="border-l-2"] h3:not(.casework-section-title){
  font-size:15px !important; color:#fff !important; margin:0 0 6px;
}
main .paper-card.formal .lic-signatory{
  margin:0 !important;
  font:600 11px var(--l-mono); letter-spacing:.2em; text-transform:uppercase;
  color:#93a4b7;
}

/* ============================================================
   HERO CONTENTS
   The page is ~8,000px tall and carries two documents in two
   registers. A regulator should be able to reach the formal one
   without reading the letter first.
   ============================================================ */
.lic-toc{
  margin-top:30px; padding-top:26px; border-top:1px solid var(--l-line);
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:26px 36px;
}
.lic-toc-label{
  margin:0 0 13px; font: 700 11px var(--l-mono); letter-spacing:.18em;
  text-transform:uppercase; color:#f4a7ab;
}
.lic-toc-group.formal .lic-toc-label{ color:#a2b3c5; }
.lic-toc-label em{ font-style:normal; color:#6d7d90; letter-spacing:.1em; }
.lic-toc-list{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:7px; }
.lic-toc-list li{ margin:0; }
.lic-toc-list a{
  display:inline-flex; align-items:baseline; gap:8px; text-decoration:none;
  font:500 11.5px var(--l-mono); color:var(--l-soft);
  border:1px solid var(--l-line); border-radius:7px; padding:7px 12px;
  background:rgba(255,255,255,.015);
  transition:border-color .18s ease, background-color .18s ease, color .18s ease;
}
.lic-toc-list a:hover{ border-color:#4b6379; background:rgba(127,196,214,.07); color:#fff; }
.lic-toc-list a:focus-visible{ outline:2px solid var(--l-cyan); outline-offset:2px; }
.lic-toc-list b{ font-weight:700; font-size: 11px; letter-spacing:.08em; color:var(--l-red); }
.lic-toc-group.formal .lic-toc-list b{ color:#9db0c4; }
/* `.lic-hero>*` above reset this to position:relative, which put the
   watermark in flow and left ~150px of dead space under the hero. */
.lic-hero > .lic-watermark{
  position:absolute; right:-10px; bottom:-26px; left:auto; top:auto;
  font-size:132px; z-index:0;
}

/* register change — the point where the voice switches */
.lic-register{
  display:flex; align-items:center; gap:18px;
  padding:2px 4px;
}
.lic-register span{
  font:600 11px var(--l-mono); letter-spacing:.22em; text-transform:uppercase;
  white-space:nowrap;
}
.lic-register-l{ color:#9d8086; }
.lic-register-r{ color:#93a5b9; }
.lic-register-r::before{ content:"→"; margin-right:11px; color:#4f5e6f; }
.lic-register::before, .lic-register::after{
  content:""; flex:1 1 0; height:1px; min-width:12px;
  background:linear-gradient(90deg, transparent, var(--l-line));
}
.lic-register::after{ background:linear-gradient(90deg, var(--l-line), transparent); }

/* ============================================================
   CLAUSE LISTS
   These boxes are lists written as stacked <p>. Markers make the
   item boundaries visible without touching the wording.
   ============================================================ */
main .paper-card .lic-list .lic-list-h{
  margin:0 0 10px !important;
  font: 700 11px var(--l-mono) !important; letter-spacing:.16em; text-transform:uppercase;
  color:#e9eff6 !important;
}
main .paper-card .lic-list p:not(.lic-list-h){
  position:relative; padding-left:21px;
}
main .paper-card .lic-list p:not(.lic-list-h)::before{
  content:""; position:absolute; left:2px; top:.78em;
  width:9px; height:1px; background:#6a8299;
}
main .paper-card .lic-list.tight p:not(.lic-list-h){ line-height:1.6; }
main .paper-card .lic-list.num{ counter-reset:licstep; }
main .paper-card .lic-list.num p:not(.lic-list-h){ counter-increment:licstep; padding-left:34px; }
main .paper-card .lic-list.num p:not(.lic-list-h)::before{
  content:counter(licstep); left:0; top:.1em;
  width:auto; height:auto; background:none;
  font: 700 11px/1.5 var(--l-mono); color:#f4a7ab;
  border:1px solid #4b2b30; border-radius:5px; padding:2px 6px;
}
main .paper-card .lic-qa{ background:#0a111b !important; border-color:#1e2b3b !important; }
main .paper-card .lic-qa p{ padding-left:15px; border-left:2px solid #2c3d51; color:#c5d4e3; }
main .paper-card .lic-mirrors p{ overflow-wrap:anywhere; }

/* ============================================================
   CLOSING CRESCENDO
   ============================================================ */
main .paper-card.sendoff .lic-crescendo{ display:grid; gap:11px; margin:4px 0; }
main .paper-card.sendoff .lic-crescendo p{
  margin:0; max-width:none; padding-left:17px;
  border-left:2px solid var(--l-red-dim);
  font-weight:800; letter-spacing:-.025em; color:#f1f6fb; line-height:1.25;
}
main .paper-card.sendoff .lic-crescendo p:nth-child(1){ font-size:18px; }
main .paper-card.sendoff .lic-crescendo p:nth-child(2){ font-size:21px; }
main .paper-card.sendoff .lic-crescendo p:nth-child(3){ font-size:24px; color:#fff; }
main .paper-card.sendoff .lic-crescendo p.last{
  margin-top:6px; border-left-color:var(--l-red);
  font:400 15px/1.72 var(--l-sans); letter-spacing:normal; color:#c8d3df;
}

/* ============================================================
   NARROW SCREENS
   ============================================================ */
@media (max-width:760px){
  .lic-toc{ grid-template-columns:1fr; gap:22px; }
  .lic-register{ gap:12px; }
  .lic-register::before, .lic-register::after{ display:none; }
  .lic-register{ flex-wrap:wrap; }
}
@media (max-width:640px){
  main .paper-card{ padding:23px 19px 25px 21px; border-radius:11px; }
  main .paper-card h2.lic-h2{ padding-bottom:15px; }
  .lic-h2 .lic-h2-t{ font-size:20px; margin-top:9px; max-width:none; }
  .lic-h2 .lic-h2-t i{ display:block; white-space:normal; margin-top:5px; font-size: 11px; }
  .lic-toc{ margin-top:24px; padding-top:20px; }
  .lic-toc-list a{ font-size:11px; padding:7px 10px; }
  .lic-watermark{ font-size:78px; }
  main .paper-card.sendoff .lic-crescendo p:nth-child(1){ font-size:16px; }
  main .paper-card.sendoff .lic-crescendo p:nth-child(2){ font-size:18px; }
  main .paper-card.sendoff .lic-crescendo p:nth-child(3){ font-size:20px; }
}

/* ============================================================
   PRINT — the waiver has to survive being printed and filed
   ============================================================ */
@media print{
  .lic-toc, .lic-watermark{ display:none !important; }
  .lic-register{ color:#333 !important; }
  .lic-register span{ color:#333 !important; }
  main .paper-card{ break-inside:avoid; border-color:#bbb !important; box-shadow:none !important; }
  .lic-h2 .lic-h2-t{ color:#111 !important; }
  .lic-h2 .lic-h2-t i{ color:#555 !important; }
  body.casework main .paper-card h3:not(.casework-section-title){ color:#111 !important; }
  main .paper-card .lic-list p:not(.lic-list-h)::before{ background:#666; }
}
