/* insights.css — article layout. Shares the site's tokens; adds prose rules. */
:root {
  --void:#0B0910; --void-2:#100D18; --panel:#14111C; --panel-2:#1A1626;
  --line:#241E33; --line-2:#322947;
  --violet:#8C52FF; --violet-b:#A87BFF; --violet-d:#5B2FB0;
  --amber:#FFBD59; --amber-b:#FFCE85; --amber-d:#8A6323;
  --ice:#ECE8F6; --dim:#9990B0; --dimmer:#6B6382; --good:#4ADE9B;
  --maxw:1240px; --readw:68ch; --gut:clamp(1.1rem,3.5vw,3rem);
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Roboto,Arial,sans-serif;
  --t-1:clamp(.68rem,.66rem + .10vw,.74rem);
  --t0:clamp(.95rem,.92rem + .16vw,1.04rem);
  --t1:clamp(1.05rem,.99rem + .30vw,1.2rem);
  --t2:clamp(1.28rem,1.12rem + .70vw,1.75rem);
  --t3:clamp(1.75rem,1.40rem + 1.55vw,2.9rem);
  --t4:clamp(2.1rem,1.5rem + 2.8vw,3.6rem);
}
* { box-sizing:border-box; }
body { margin:0; background:var(--void); color:var(--ice); font-family:var(--sans);
       font-size:var(--t0); line-height:1.72; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
h1,h2,h3 { margin:0; font-weight:700; letter-spacing:-.035em; line-height:1.1; text-wrap:balance; }
p { margin:0; } ul,ol { margin:0; padding:0; list-style:none; } a { color:var(--violet-b); }
a:hover { color:var(--ice); }
:focus-visible { outline:1px solid var(--violet-b); outline-offset:3px; }
.num { font-variant-numeric:tabular-nums; }
img { display:block; }

.wrap { width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.read { max-width:var(--readw); }
.stack { display:flex; flex-direction:column; }
.g-sm{gap:.7rem} .g-md{gap:1.2rem} .g-lg{gap:2rem}

/* nav / footer — matched to the rest of the site */
.nav { position:sticky; top:0; z-index:50; background:color-mix(in srgb,var(--void) 86%,transparent);
       backdrop-filter:blur(16px); border-bottom:1px solid var(--line); }
.nav__in { display:flex; align-items:center; gap:1.4rem; height:70px; }
.brand { display:flex; align-items:center; gap:.75rem; text-decoration:none; margin-right:auto; color:inherit; }
.brand__mark { width:38px; height:auto; }
.brand__txt { display:flex; flex-direction:column; gap:.16rem; }
.brand__m { font-size:1.02rem; letter-spacing:.40em; text-transform:lowercase; line-height:1; }
.brand__t { font-family:var(--mono); font-size:.46rem; letter-spacing:.26em; text-transform:uppercase;
            color:var(--dimmer); line-height:1; }
.nav__l { display:flex; gap:1.6rem; }
.nav__l a { font-family:var(--mono); font-size:var(--t-1); letter-spacing:.1em; text-transform:uppercase;
            color:var(--dim); text-decoration:none; }
.nav__l a:hover { color:var(--ice); }
@media (max-width:900px){ .nav__l{display:none} }
.btn { display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1.15rem; font-family:var(--mono);
       font-size:var(--t-1); letter-spacing:.1em; text-transform:uppercase; text-decoration:none;
       border:1px solid var(--violet); color:var(--ice);
       background:color-mix(in srgb,var(--violet) 16%,transparent); transition:background .2s,box-shadow .2s; }
.btn:hover { background:color-mix(in srgb,var(--violet) 30%,transparent);
             box-shadow:0 0 24px -4px var(--violet); color:var(--ice); }
.btn--sm { padding:.5rem .85rem; }
.btn--amber { border-color:var(--amber); background:color-mix(in srgb,var(--amber) 14%,transparent); }
.btn--amber:hover { background:color-mix(in srgb,var(--amber) 26%,transparent);
                    box-shadow:0 0 24px -4px var(--amber); }

/* article head */
.head { padding-block:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,3vw,2.5rem); border-bottom:1px solid var(--line); }
.crumb { font-family:var(--mono); font-size:var(--t-1); letter-spacing:.14em; text-transform:uppercase;
         color:var(--dimmer); margin-bottom:1.1rem; }
.crumb a { color:var(--dimmer); text-decoration:none; }
.crumb a:hover { color:var(--violet-b); }
h1 { font-size:var(--t4); letter-spacing:-.045em; max-width:20ch; }
.standfirst { font-size:var(--t1); color:var(--dim); max-width:62ch; margin-top:1.2rem; line-height:1.6; }
.meta { display:flex; flex-wrap:wrap; gap:.5rem 1.8rem; margin-top:1.6rem; font-family:var(--mono);
        font-size:var(--t-1); letter-spacing:.06em; color:var(--dimmer); }

/* article body */
article { padding-block:clamp(2rem,4vw,3.25rem) clamp(3rem,6vw,5rem); }
article h2 { font-size:var(--t2); margin:2.8rem 0 1rem; }
article h3 { font-size:var(--t1); margin:2rem 0 .7rem; }
article p { margin-bottom:1.15rem; color:var(--dim); }
article p strong, article li strong { color:var(--ice); font-weight:650; }
article > .read > p:first-of-type { font-size:var(--t1); color:var(--ice); }
article ul { margin:0 0 1.3rem; display:flex; flex-direction:column; gap:.6rem; }
article li { display:grid; grid-template-columns:15px 1fr; gap:.8rem; color:var(--dim); }
article li::before { content:""; width:7px; height:7px; margin-top:.62rem; border:1px solid var(--violet);
                     border-radius:50%; }

/* the answer box — the liftable statement */
.answer { border:1px solid var(--violet); border-left-width:3px; background:var(--panel);
          padding:clamp(1.2rem,2.5vw,1.7rem); margin:0 0 2rem; }
.answer p { margin:0; color:var(--ice); font-size:var(--t1); line-height:1.6; }
.answer p + p { margin-top:.8rem; color:var(--dim); font-size:var(--t0); }

/* obligation table */
.tblwrap { overflow-x:auto; margin:1.5rem 0 2rem; border:1px solid var(--line); background:var(--panel); }
table { border-collapse:collapse; width:100%; min-width:560px; }
caption { text-align:left; padding:1rem 1.1rem; font-family:var(--mono); font-size:var(--t-1);
          letter-spacing:.14em; text-transform:uppercase; color:var(--dimmer); border-bottom:1px solid var(--line); }
th,td { text-align:left; padding:.85rem 1.1rem; border-bottom:1px solid var(--line); vertical-align:top;
        font-size:.94rem; }
th { font-family:var(--mono); font-size:var(--t-1); letter-spacing:.08em; text-transform:uppercase;
     color:var(--dimmer); font-weight:400; }
td { color:var(--dim); } td strong { color:var(--ice); }
tr:last-child th, tr:last-child td { border-bottom:none; }

/* callout */
.note { border-left:2px solid var(--amber); background:color-mix(in srgb,var(--amber) 7%,transparent);
        padding:1.1rem 1.3rem; margin:1.6rem 0; }
.note p { margin:0; color:var(--dim); font-size:.96rem; }
.note p + p { margin-top:.7rem; }
.note__t { font-family:var(--mono); font-size:var(--t-1); letter-spacing:.14em; text-transform:uppercase;
           color:var(--amber); display:block; margin-bottom:.5rem; }

/* faq */
.faq { margin-top:1rem; display:flex; flex-direction:column; gap:.6rem; }
.qa { border:1px solid var(--line); background:var(--void-2); }
.qa[open] { background:var(--panel); border-color:var(--line-2); }
.qa summary { cursor:pointer; list-style:none; padding:1rem 1.2rem; display:flex; gap:1.2rem;
              justify-content:space-between; align-items:flex-start; font-weight:620; color:var(--ice); }
.qa summary::-webkit-details-marker { display:none; }
.qa summary::after { content:"+"; font-family:var(--mono); color:var(--violet-b); flex:none; }
.qa[open] summary::after { content:"–"; }
.qa__a { padding:0 1.2rem 1.2rem; }
.qa__a p { margin:0; color:var(--dim); font-size:.96rem; }
.qa__a p + p { margin-top:.7rem; }

/* cta */
.cta { border:1px solid var(--violet); background:
       radial-gradient(120% 140% at 8% 0%,color-mix(in srgb,var(--violet) 18%,transparent),transparent 60%),var(--panel);
       padding:clamp(1.6rem,3.5vw,2.6rem); margin-top:3rem; display:flex; flex-direction:column; gap:1rem; }
.cta h2 { margin:0; font-size:var(--t2); }
.cta p { margin:0; color:var(--dim); max-width:60ch; }

.foot { border-top:1px solid var(--line); background:var(--void-2); margin-top:2rem; }
.foot__g { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:2rem; padding-block:clamp(2.2rem,4vw,3.2rem); }
@media (max-width:760px){ .foot__g{grid-template-columns:1fr;gap:1.6rem} }
.foot h5 { margin:0 0 .8rem; font-family:var(--mono); font-size:var(--t-1); letter-spacing:.14em;
           text-transform:uppercase; color:var(--dimmer); font-weight:400; }
.foot li + li { margin-top:.45rem; }
.foot a { color:var(--dim); text-decoration:none; font-size:.9rem; }
.foot a:hover { color:var(--violet-b); }
.foot__addr { color:var(--dim); font-size:.9rem; line-height:1.75; margin-top:1rem; }
.lockup { width:160px; height:auto; }
.foot__legal { border-top:1px solid var(--line); padding-block:1.3rem 2.4rem; display:flex; flex-wrap:wrap;
               gap:.8rem 2rem; justify-content:space-between; font-family:var(--mono); font-size:.66rem;
               color:var(--dimmer); line-height:1.75; }
.disclaim { max-width:74ch; }
