/* Lexi — shared shell for legal / utility pages. Load after lexi-ui.css. */
:root { --blue:#191919; --primary:#191919; --primary-hover:#3a3833; --ink:#141414; --cream:#F9F7F2; --line:#D5D3CE; --mut:#5F5C52;
        --shadow-sm:0 14px 34px -18px rgba(25,25,45,.28); --mono:'Inter',system-ui,sans-serif; }
html { scroll-behavior:smooth; }
body { background:var(--cream); color:var(--ink); overflow-x:hidden; font-family:'Inter',system-ui,sans-serif; margin:0; }
h1,h2,h3,h4 { font-family:'Inter',system-ui,sans-serif !important; font-weight:800 !important; }
h2 > span { font-weight:300 !important; letter-spacing:-.03em; }
::selection { background:#F3660F; color:#fff; }
.wrap { max-width:1460px; margin:0 auto; padding:0 24px; }
.mono { font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--mut); }
#progress { position:fixed; top:0; left:0; height:2px; background:#191919; width:0; z-index:200; }
/* nav */
.bubnav { position:fixed; top:16px; left:0; right:0; z-index:100; display:flex; justify-content:space-between; align-items:center; padding:0 max(24px, calc((100% - 1460px) / 2)); pointer-events:none; }
.bub-right { display:flex; align-items:center; gap:10px; }
.bub-logo { pointer-events:auto; display:flex; align-items:center; padding:10px 2px; }
.bub { pointer-events:auto; background:#191919; color:#fff; border-radius:999px; display:flex; align-items:center; box-shadow:var(--shadow-sm); }
.bub-links { gap:4px; padding:7px 10px; }
.bub-links a { color:#fff; text-decoration:none; font-size:13px; font-weight:700; padding:9px 16px; border-radius:999px; }
.bub-cta { gap:4px; padding:7px 8px 7px 10px; }
.bub-cta a { color:#fff; text-decoration:none; font-size:13px; font-weight:700; padding:9px 14px; border-radius:999px; transition:background .2s ease; }
.bub-cta a:hover { background:rgba(255,255,255,.14); }
.bub-btn { background:#fff; color:#191919 !important; font-weight:700 !important; padding:9px 20px !important; }
.bub-drop { position:relative; display:flex; }
.bub-drop > a { display:inline-flex; align-items:center; gap:7px; }
.caret { width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; opacity:.7; }
.bub-menu { position:absolute; top:calc(100% + 12px); left:0; min-width:230px; background:#fff; border-radius:16px; padding:10px; box-shadow:0 24px 55px -28px rgba(25,25,45,.45); display:flex; flex-direction:column; gap:2px; opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .22s ease, transform .22s ease, visibility .22s; }
.bub-drop:hover .bub-menu, .bub-drop:focus-within .bub-menu { opacity:1; visibility:visible; transform:none; }
.bub-menu a { display:flex; flex-direction:column; gap:2px; padding:11px 14px; border-radius:11px; color:var(--ink) !important; font-size:14px; font-weight:700; }
.bub-menu a em { font-style:normal; font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--mut); }
@media (max-width:960px) { .bub-links { display:none; } }
/* reveals */
@media (prefers-reduced-motion: no-preference) {
  .rv { opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); transition-delay:var(--rd,0ms); }
  .rv.in { opacity:1; transform:none; }
  .rv-wipe { opacity:0; transform:translateY(60px); clip-path:inset(100% -60px -80px -60px); transition:opacity .6s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1), clip-path 1.1s cubic-bezier(.16,1,.3,1); transition-delay:var(--rd,0ms); }
  .rv-wipe.in { opacity:1; transform:none; clip-path:inset(-50px -60px -80px -60px); }
}
/* legal hero */
.lg-hero { background:#191919; color:#fff; position:relative; overflow:hidden; padding:170px 0 84px; }
.lg-grid { position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(120% 78% at 50% 10%, #000 0%, transparent 72%); mask-image:radial-gradient(120% 78% at 50% 10%, #000 0%, transparent 72%); }
.lg-glow { position:absolute; left:50%; top:6%; width:960px; height:500px; transform:translateX(-50%); z-index:0; pointer-events:none;
  background:radial-gradient(closest-side, rgba(243,102,15,.18), rgba(243,102,15,.05) 55%, transparent 72%); filter:blur(6px); }
.lg-hero .inner { position:relative; z-index:2; max-width:860px; }
.lg-hero .kicker { font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.55); margin-bottom:22px; }
.lg-hero h1 { font-size:clamp(33px,4.3vw,60px); letter-spacing:-.038em; line-height:1.06; margin:0 0 26px; color:#fff; text-wrap:balance; }
.lg-hero p { font-size:clamp(16.5px,1.5vw,19px); color:rgba(255,255,255,.78); line-height:1.68; margin:0; max-width:62ch; text-wrap:pretty; }
.lg-updated { position:relative; z-index:2; margin-top:56px; padding-top:34px; border-top:1px solid rgba(255,255,255,.14); font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.5); }
/* legal body */
.lg-body { display:grid; grid-template-columns:210px minmax(0,680px); gap:80px; justify-content:center; padding:100px 0 130px; }
.lg-toc { position:sticky; top:124px; align-self:start; }
.lg-toc-h { font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--mut); margin-bottom:18px; }
.lg-toc a { display:block; font-size:13.5px; font-weight:700; color:var(--mut) !important; padding:8px 0 8px 16px; border-left:2px solid var(--line); line-height:1.4; transition:color .25s ease, border-color .25s ease; }
.lg-toc a:hover, .lg-toc a.on { color:var(--ink) !important; border-color:#191919; }
.lg-art section { scroll-margin-top:120px; }
.lg-art section + section { margin-top:72px; }
.lg-art h2 { font-size:clamp(26px,2.7vw,36px); letter-spacing:-.032em; line-height:1.14; margin:0 0 20px; text-wrap:balance; }
.lg-art h3 { font-size:21px !important; letter-spacing:-.025em; line-height:1.28; margin:32px 0 14px; }
.lg-art p { font-size:17px; color:#33312c; line-height:1.72; margin:0 0 18px; text-wrap:pretty; hanging-punctuation:first; }
.lg-art h2 + p, .lg-art h3 + p { margin-top:0; }
.lg-art p:last-child { margin-bottom:0; }
.lg-art .num { font-family:var(--mono); font-size:11.5px; font-weight:700; letter-spacing:.16em; color:var(--mut); display:block; margin-bottom:12px; }
.lg-list { list-style:none; margin:4px 0 28px; padding:0; display:flex; flex-direction:column; gap:10px; }
.lg-list li { position:relative; padding-left:28px; font-size:17px; color:#33312c; line-height:1.62; text-wrap:pretty; }
.lg-list li::before { content:""; position:absolute; left:2px; top:.66em; width:7px; height:7px; border-radius:50%; background:#F3660F; }
.lg-list li b { font-weight:800; color:var(--ink); }
.lg-list li b::after { content:" — "; font-weight:400; color:var(--mut); }
.lg-note { background:#E3E1DC; border-radius:20px; padding:26px 28px; margin:4px 0 20px; }
.lg-note p { font-size:15.5px; line-height:1.68; margin:0; color:#33312c; text-wrap:pretty; }
.lg-table { width:100%; border-collapse:collapse; margin:4px 0 20px; }
.lg-table th { text-align:left; font-family:var(--mono); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mut); padding:0 18px 14px 0; border-bottom:1px solid var(--line); }
.lg-table td { font-size:15.5px; color:#33312c; line-height:1.62; padding:18px 18px 18px 0; border-bottom:1px solid var(--line); vertical-align:top; text-wrap:pretty; }
.lg-table td:first-child { font-weight:700; color:var(--ink); white-space:nowrap; }
.lg-art a:not(.btn) { color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--line); transition:text-decoration-color .2s ease; }
.lg-art a:not(.btn):hover { text-decoration-color:#191919; }
@media (max-width:1000px) { .lg-body { grid-template-columns:1fr; gap:40px; padding:64px 0 100px; max-width:680px; margin:0 auto; } .lg-toc { position:static; } }
/* buttons */
.btn-xl { padding:17px 34px; font-size:15px; }
/* footer */
.foot-word { font-size:clamp(120px,24vw,380px); font-weight:900; letter-spacing:-.05em; line-height:.78; color:#F9F7F2; user-select:none; }
.footer-link { color:var(--ink); font-size:15px; font-weight:700; display:block; padding:5px 0; text-decoration:none; }
.foot-col-h { font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.14em; color:var(--mut); margin-bottom:16px; text-transform:uppercase; }

/* ============ MOBILE ============ */
@media (max-width:960px){
  .lg-hero{padding:130px 0 60px}
  .lg-hero h1{font-size:clamp(30px,7.4vw,42px)}
  .lg-hero p{font-size:16px}
  .lg-updated{margin-top:38px;padding-top:24px}
  .lg-body{grid-template-columns:minmax(0,1fr);gap:0;padding:56px 0 90px}
  .lg-toc{position:static;margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid var(--line)}
  .lg-toc-list{display:flex;flex-wrap:wrap;gap:8px}
  .lg-toc a{border-left:none;background:#E3E1DC;border-radius:999px;padding:9px 15px;font-size:12.5px}
  .lg-toc a.on{background:#191919;color:#fff!important}
  .lg-art section+section{margin-top:52px}
  .lg-art h2{font-size:clamp(23px,5.6vw,28px)}
  .lg-art h3{font-size:18px!important;margin:26px 0 12px}
  .lg-art p,.lg-list li{font-size:16px}
  .lg-list{gap:9px}
  .lg-note{padding:22px 22px}
  /* tables reflow into stacked rows */
  .lg-table thead{display:none}
  .lg-table,.lg-table tbody,.lg-table tr,.lg-table td{display:block;width:100%}
  .lg-table tr{padding:18px 0;border-bottom:1px solid var(--line)}
  .lg-table td{padding:0 0 8px;border:none}
  .lg-table td:last-child{padding-bottom:0}
  .lg-table td[data-l]::before{content:attr(data-l);display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:5px}
}
@media (max-width:600px){
  .lg-hero{padding:112px 0 48px}
  .lg-art .num{margin-bottom:10px}
}
