/* RVNS Contract Intelligence v1 — production layer over the verified Nocturne site. */
:root{--leos-void:#070912;--leos-cyan:#4fd8ff;--leos-blue:#5b8cff;--leos-violet:#9184d9;--leos-magenta:#c77dff;--leos-emerald:#3ce0a4;--leos-amber:#ffb85c;--leos-red:#ff6f7d;--leos-label:#aab4c9;--leos-edge:color-mix(in srgb,var(--color-text) 11%,transparent)}
/* The violet glow is unchanged. Its base layer was `var(--leos-void)` (opaque #070912), which
   painted over html's wallpaper. It is now the SAME colour at 65% so the wallpaper reads through.
   65% is measured, not chosen by eye: sampling the wallpaper at the real on-screen position of
   every text run that sits directly on it, bare texture drops the smallest muted labels to
   2.15:1 against #aab4c9 — far below the 4.5:1 WCAG AA threshold. 55% still failed at 3.77:1;
   65% is the lowest value at which every bare-background text run clears AA (worst case 4.86:1),
   so it is the minimum darkening that keeps the page accessible. */
body{background:radial-gradient(900px 560px at 94% -12%,color-mix(in srgb,var(--leos-violet) 13%,transparent),transparent 62%)}
.ci-shell{position:relative;overflow-x:hidden}.ci-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(640px 350px at 6% 18%,color-mix(in srgb,var(--leos-cyan) 9%,transparent),transparent 70%)}
.ci-kicker,.ci-label{color:var(--leos-label)!important;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:650}.ci-kicker{color:var(--leos-cyan)!important}
.ci-panel{position:relative;border:1px solid var(--leos-edge);border-radius:16px;background:linear-gradient(155deg,color-mix(in srgb,var(--leos-cyan) 8%,transparent),color-mix(in srgb,var(--color-surface) 62%,transparent));box-shadow:0 26px 62px rgba(7,9,18,.38)}
.ci-panel:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;background:linear-gradient(var(--leos-cyan),transparent)}
.ci-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px}.ci-card{min-width:0;padding:24px;border:1px solid var(--leos-edge);border-radius:14px;background:color-mix(in srgb,var(--color-surface) 65%,transparent)}
.ci-card h3{font-size:18px}.ci-card p{line-height:1.6}.ci-status{display:inline-flex;gap:7px;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.08em}.ci-status.published{color:var(--leos-emerald);background:color-mix(in srgb,var(--leos-emerald) 12%,transparent)}.ci-status.calculated{color:var(--leos-cyan);background:color-mix(in srgb,var(--leos-cyan) 12%,transparent)}.ci-status.estimate{color:var(--leos-amber);background:color-mix(in srgb,var(--leos-amber) 12%,transparent)}.ci-status.unknown{color:var(--leos-label);background:color-mix(in srgb,var(--color-text) 8%,transparent)}
.ci-hero{position:relative;padding:clamp(94px,13vw,160px) var(--pad) clamp(62px,8vw,104px);max-width:var(--maxw);margin:auto}.ci-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:1.02;max-width:15ch;background:linear-gradient(104deg,var(--leos-cyan) 4%,#fff 38%,var(--leos-magenta) 98%);-webkit-background-clip:text;background-clip:text;color:transparent}.ci-hero p{font-size:clamp(17px,1.5vw,20px);line-height:1.65;max-width:56ch}.ci-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.ci-actions .btn{min-height:48px}
.ci-number{font-variant-numeric:tabular-nums;font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;margin:7px 0;color:var(--color-text)}.ci-number.cyan{color:var(--leos-cyan)}.ci-number.violet{color:var(--leos-violet)}.ci-number.emerald{color:var(--leos-emerald)}
.ci-provenance{margin-top:26px;border-top:1px solid var(--leos-edge);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:0}.ci-provenance>div{padding:18px;border-right:1px solid var(--leos-edge);min-width:0}.ci-provenance p{margin:9px 0 0;font-size:13px;color:var(--leos-label)}
.ci-guide-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(235px,100%),1fr));gap:14px}.ci-guide-links a{padding:20px;text-decoration:none;border:1px solid var(--leos-edge);border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--leos-violet) 9%,transparent),color-mix(in srgb,var(--color-surface) 62%,transparent));color:var(--color-text);min-height:148px}.ci-guide-links a:hover{border-color:var(--leos-cyan);transform:translateY(-2px)}.ci-guide-links strong{display:block;font-size:17px;margin-bottom:8px}.ci-guide-links span{font-size:13px;line-height:1.55;color:var(--leos-label)}
.ci-table-wrap{overflow:auto;border:1px solid var(--leos-edge);border-radius:14px}.ci-table{width:100%;min-width:720px;border-collapse:collapse;font-variant-numeric:tabular-nums}.ci-table th,.ci-table td{padding:16px;text-align:left;border-bottom:1px solid var(--leos-edge)}.ci-table th{font-size:10px;color:var(--leos-label);letter-spacing:.14em;text-transform:uppercase}.ci-table .best{color:var(--leos-emerald);font-weight:700}.ci-disclaimer{margin:34px auto 0;max-width:82ch;padding:18px;border:1px solid color-mix(in srgb,var(--leos-amber) 30%,transparent);border-radius:12px;color:var(--leos-label);font-size:13px;line-height:1.6;background:color-mix(in srgb,var(--leos-amber) 7%,transparent)}
.fedbench{border-radius:14px!important;border:1px solid var(--leos-edge)!important;background:linear-gradient(155deg,color-mix(in srgb,var(--leos-violet) 13%,transparent),color-mix(in srgb,var(--color-surface) 62%,transparent))!important}.fedbench .fb-status{font-weight:700}.calc{border-color:var(--leos-edge)!important;background:linear-gradient(155deg,color-mix(in srgb,var(--leos-cyan) 9%,transparent),color-mix(in srgb,var(--color-surface) 58%,transparent))!important}.calc input:focus-visible{outline:2px solid var(--leos-cyan);outline-offset:2px}
@media(max-width:760px){.ci-hero{padding-top:92px}.ci-hero h1{font-size:clamp(36px,12vw,50px)}.ci-provenance>div{border-right:0;border-bottom:1px solid var(--leos-edge)}.ci-actions .btn{width:100%;justify-content:center}.ci-card{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
