/* Cookie banner for pages without styles.css (generated by tooling/import_landing.py). */
.consent{ --mock-ink:#1b2230; --mock-text:#46506a; --mock-meta:#8a93a6; --mock-icon:#9aa6bd; --mock-chip-bg:#fff; --mock-chip-brd:#dce3ef; --mock-stat:#0060c4; --mock-dark-bg:#0f1115; --mock-dark-ink:#e7ecf5; --mock-dark-bar:#1a1d24; --mock-dark-brd:#2b303a; --mock-dark-text:#aab3c4; --mock-dark-icon:#5b6577; --mock-dark-stat:#5fb0ff; --lh-none:1; --lh-display:.95; --lh-display-tight:.9; --lh-hero:.85; --lh-hero-tight:.82; --lh-ui:1.3; --lh-ui-loose:1.4; --fs-chart:11px; --fs-chart-sm:10.5px; --white:#fff; --px-72:72px; --px-190:190px; --img-r:var(--r-md); --px-330:330px; --t-9:0.62rem; --t-11:0.72rem; --t-11_5:0.75rem; --t-12:0.785rem; --t-12_5:0.805rem; --t-13:0.85rem; --t-13_5:0.88rem; --t-14:0.91rem; --t-14_5:0.96rem; --t-15:0.99rem; --t-15_5:1.01rem; --t-16:1.05rem; --t-17:1.11rem; --t-18:1.2rem; --t-19:1.27rem; --t-20:1.34rem; --t-22:1.48rem; --t-24:1.58rem; --t-25:1.64rem; --t-26:1.72rem; --t-27:1.8rem; --t-32:2.12rem; --px-1:1px; --px-160:160px; --px-300:300px; --px-440:440px; --px-2:2px; --px-3:3px; --px-4:4px; --px-5:5px; --px-6:6px; --px-7:7px; --px-8:8px; --px-9:9px; --px-10:10px; --px-11:11px; --px-11_5:11.5px; --px-12:12px; --px-12_5:12.5px; --px-13:13px; --px-13_5:13.5px; --px-14:14px; --px-14_5:14.5px; --px-15:15px; --px-15_5:15.5px; --px-16:16px; --px-17:17px; --px-18:18px; --px-19:19px; --px-20:20px; --px-22:22px; --px-23:23px; --px-24:24px; --px-25:25px; --px-26:26px; --px-27:27px; --px-28:28px; --px-30:30px; --px-32:32px; --px-34:34px; --px-36:36px; --px-38:38px; --px-40:40px; --px-42:42px; --px-44:44px; --px-46:46px; --px-48:48px; --px-56:56px; --px-58:58px; --px-64:64px; --px-70:70px; --px-74:74px; --px-76:76px; --px-88:88px; --px-90:90px; --px-96:96px; --px-100:100px; --px-104:104px; --px-110:110px; --px-120:120px; --px-148:148px; --px-220:220px; --px-290:290px; --px-430:430px; --px-460:460px; --px-500:500px; --px-560:560px; --px-720:720px; --px-880:880px; --px-920:920px; --px-921:921px; --px-999:999px; --px-1080:1080px; --px-1120:1120px; --px-1200:1200px; --maxw:var(--px-1200); --pad:var(--px-28); --display:'Outfit',sans-serif; --sans:'Hanken Grotesk',system-ui,sans-serif; --sp-4:var(--px-16); --sp-5:var(--px-24); --sp-6:var(--px-32); --sp-7:var(--px-48); --sp-8:var(--px-64); --r-sm:var(--px-12); --r-md:var(--px-18); --r-lg:var(--px-24); --r-xl:var(--px-30); --r-pill:var(--px-999); --section:clamp(var(--px-56),8vw,var(--px-104)); --tap:var(--px-44); --sp-1:var(--px-4); --sp-2:var(--px-8); --sp-3:var(--px-12); --fs-cap:.82rem; --fs-sm:.94rem; --fs-base:1.05rem; --fs-md:clamp(1.08rem,1rem + .4vw,1.25rem); --fs-lg:clamp(1.2rem,1rem + .95vw,1.52rem); --fs-xl:clamp(1.4rem,1.1rem + 1.2vw,1.9rem); --fs-h3:clamp(1.42rem,1.1rem + 1.15vw,1.85rem); --fs-h2:clamp(1.9rem,1.25rem + 2.7vw,3.2rem); --fs-h1:clamp(2.6rem,1.4rem + 4.9vw,4.95rem); --lh-tight:.98; --lh-snug:1.2; --lh-body:1.6; --lh-loose:1.75; --cyan:#3ab0ff; --blue:#0071e3; --blue-bright:#3aa0ff; --spark:#ff375f; --spark-600:#e11d48; --grad:linear-gradient(135deg,#0071e3,#3ab0ff); --grad-text:linear-gradient(120deg,#2f8eff,#56a8ff); --green:#1fbf75; --green-deep:#0b8550; --green-bright:#37db8e; --green-contrast:#04130c; --amber:#eb9d12; --amber-deep:#8f5800; --amber-bright:#f6b545; --amber-contrast:#1c1203; --violet:#7c5cff; --violet-deep:#5b3fd6; --violet-bright:#a48bff; --teal:#14b8c4; --teal-deep:#0a7280; --teal-bright:#3fd6e6; --accent:var(--blue); --accent-ink:var(--blue-bright); --accent-contrast:var(--white); --accent-grad:var(--grad); --verify:var(--green-bright); --bg:#0d0e10; --bg-1:#131418; --bg-2:#0a0b0c; --ink:#f1f4fa; --muted:rgba(241,244,250,.78); --muted2:rgba(241,244,250,.62); --faint:rgba(241,244,250,.42); --glass:rgba(255,255,255,.055); --glass-2:rgba(255,255,255,.1); --brd:rgba(255,255,255,.13); --brd-2:rgba(255,255,255,.2); --sh:0 var(--px-10) var(--px-40) rgba(0,0,0,.4), inset 0 var(--px-1) 0 rgba(255,255,255,.14); --sh-lg:0 var(--px-24) var(--px-70) rgba(0,0,0,.5), inset 0 var(--px-1) 0 rgba(255,255,255,.16); --blur:blur(var(--px-22)) saturate(1.5); --orb-blend:screen; --orb-op:.1; --grad-soft:linear-gradient(150deg, rgba(0,113,227,.09), rgba(255,255,255,.015));}
.consent .eyebrow{font-size:var(--fs-cap); font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-ink); margin-bottom:var(--sp-3);}
.consent .bghost{transition:transform .18s ease, filter .2s ease, border-color .2s ease, background .2s ease; display:inline-flex; align-items:center; gap:var(--sp-2); padding:var(--sp-4) var(--sp-5); border-radius:var(--r-sm); font-family:var(--display); font-weight:600; font-size:var(--fs-md); color:var(--ink); background:var(--glass); border:var(--px-1) solid var(--brd-2);}
.consent .bghost:hover{transform:translateY(-2px); border-color:var(--accent); background:var(--glass-2);}
.consent *{box-sizing:border-box;}
/* ---- Cookie consent (tooling/consent.js) ---------------------------------------------------- */
.consent{position:fixed; left:var(--sp-5); bottom:var(--sp-5); z-index:85; width:min(var(--px-440), calc(100% - var(--sp-6)));
  padding:var(--px-22) var(--sp-5) var(--sp-5); border-radius:var(--r-xl);
  background:color-mix(in srgb, var(--bg) 88%, transparent);
  backdrop-filter:blur(var(--px-28)) saturate(1.4); -webkit-backdrop-filter:blur(var(--px-28)) saturate(1.4);
  border:var(--px-1) solid var(--brd-2); box-shadow:var(--sh-lg); color:var(--ink);
  transform:translateY(var(--px-24)); opacity:0;
  transition:transform .45s cubic-bezier(.22,1,.36,1), opacity .3s;}
.consent[data-open]{transform:none; opacity:1;}
.root[data-appnav] .consent{left:var(--sp-3); right:var(--sp-3); bottom:var(--px-88); width:auto; max-height:72vh; overflow-y:auto;}
.consent-eyebrow{margin-bottom:var(--sp-2);}
.consent-t{font-family:var(--display); font-weight:600; font-size:var(--t-22); line-height:var(--lh-snug); color:var(--ink); margin:0 0 var(--sp-2);}
.consent-d{font-size:var(--t-14); line-height:var(--lh-body); color:var(--muted); margin:0;}
.consent-d a{color:var(--accent-ink); text-decoration:underline; text-underline-offset:.2em;}
.consent-panel{display:grid; gap:var(--sp-2); margin-top:var(--sp-4);}
.consent-panel[hidden]{display:none;}
.consent-row{display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); padding:var(--sp-3) var(--px-14);
  border-radius:var(--r-sm); background:var(--glass); border:var(--px-1) solid var(--brd); cursor:pointer;}
.consent-row-t{display:block; font-family:var(--display); font-weight:600; font-size:var(--t-14_5); color:var(--ink);}
.consent-row-d{display:block; font-size:var(--t-12_5); line-height:var(--lh-ui-loose); color:var(--muted2); margin-top:var(--px-2);}
.consent-sw{appearance:none; -webkit-appearance:none; flex:none; position:relative; width:var(--px-44); height:var(--px-24); margin:0;
  border-radius:var(--r-pill); background:var(--glass-2); border:var(--px-1) solid var(--brd-2); cursor:pointer;
  transition:background .2s ease, border-color .2s ease;}
.consent-sw::before{content:""; position:absolute; top:var(--px-2); left:var(--px-2); width:var(--px-18); height:var(--px-18);
  border-radius:var(--r-pill); background:var(--muted2); transition:transform .2s ease, background .2s ease;}
.consent-sw:checked{background:var(--accent); border-color:var(--accent);}
.consent-sw:checked::before{transform:translateX(var(--px-20)); background:var(--accent-contrast);}
.consent-sw:disabled{cursor:not-allowed; opacity:.6;}
.consent-sw:focus-visible{outline:var(--px-2) solid var(--accent); outline-offset:var(--px-2);}
.consent-actions{display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:var(--sp-2); margin-top:var(--sp-4);}
.consent-btn{padding:var(--sp-3) var(--sp-4); font-size:var(--fs-sm);}
.consent-link{margin-right:auto; padding:var(--sp-2) 0; background:none; border:0; cursor:pointer;
  font-family:var(--display); font-weight:600; font-size:var(--fs-sm); color:var(--muted); text-decoration:underline; text-underline-offset:.2em;}
.consent-link:hover{color:var(--ink);}
@media (pointer:coarse){ .consent-btn, .consent-link{min-height:var(--tap);} }
@media (prefers-reduced-motion:reduce){ .consent, .consent-sw, .consent-sw::before{transition:none;} }

.consent .eyebrow::before,.consent .eyebrow::after{content:none;display:none;}
.consent .bghost.consent-btn{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);}
