/* FURD — knowledge / article stylesheet
   Loaded after site.css. Only article-scoped rules live here. */

/* ---------- article shell ---------- */
.art{padding:0}
.art-hd{max-width:940px;margin-top:28px}
.art-hd h1{
  margin-top:20px;font-size:clamp(31px,4.4vw,56px);line-height:1.06;
  letter-spacing:-.03em;font-weight:200;
}
.art-hd h1 b{font-weight:600}
.art-hd .stand{
  margin-top:22px;max-width:720px;font-size:17px;line-height:1.65;color:var(--warm-60);
}
.art-meta{
  display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:24px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--warm-38);
}
.art-meta b{font-weight:500;color:var(--warm-60)}
.crumbs i{font-style:normal;margin:0 9px;opacity:.5}

/* ---------- reading column ---------- */
.art-body{max-width:722px;margin-top:46px}
.art-body p{margin-top:18px;font-size:16.5px;line-height:1.78;color:rgba(245,241,232,.76)}
.art-body p strong,.art-body li strong{color:var(--warm);font-weight:500}
.art-body h2{
  margin-top:64px;font-size:clamp(24px,2.7vw,34px);line-height:1.18;
  letter-spacing:-.02em;font-weight:250;
}
.art-body h3{margin-top:34px;font-size:19px;line-height:1.35;font-weight:500;letter-spacing:-.01em}
.art-body .eyebrow{margin-top:64px;margin-bottom:14px}
.art-body a:not(.btn){
  color:var(--glow);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:rgba(255,217,160,.34);
  transition:.2s;
}
.art-body a:not(.btn):hover{text-decoration-color:var(--glow);color:#fff}
.art-body > ul,.art-body > ol{margin-top:18px;padding-left:0;list-style:none}
.art-body > ul > li,.art-body > ol > li{
  position:relative;padding-left:22px;margin-top:10px;
  font-size:16.5px;line-height:1.7;color:rgba(245,241,232,.76);
}
.art-body > ul > li::before,.art-body > ol > li::before{
  content:'';position:absolute;left:2px;top:.72em;width:6px;height:1px;
  background:var(--glow);opacity:.75;
}

/* ---------- direct answer box (the part an AI answer engine lifts) ---------- */
.answer{
  margin-top:34px;padding:26px 28px;border-radius:16px;
  border:1px solid rgba(255,217,160,.22);
  background:linear-gradient(180deg,rgba(255,217,160,.07),rgba(255,217,160,.02));
}
.answer .lab{
  display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--glow);margin-bottom:12px;
}
.answer p{margin:0;font-size:17px;line-height:1.7;color:rgba(245,241,232,.9)}
.answer p + p{margin-top:12px}

/* ---------- tables ---------- */
.tbl{margin-top:28px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--warm-18);border-radius:14px;
  margin-right:0}
table{border-collapse:collapse;width:100%;font-size:14px;min-width:620px}
.tbl .sub{display:block;margin-top:3px;font-size:12.5px;line-height:1.4;color:var(--warm-38)}
caption{
  caption-side:top;text-align:left;padding:16px 18px 4px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--warm-38);
}
th,td{padding:13px 18px;text-align:left;border-bottom:1px solid rgba(245,241,232,.09)}
thead th{
  font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--warm-60);background:rgba(245,241,232,.03);white-space:nowrap;
}
tbody tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tbody tr:hover{background:rgba(255,217,160,.04)}
td b{font-weight:500;color:var(--warm)}

/* ---------- formula / method box ---------- */
.calc{
  margin-top:26px;padding:22px 24px;border-radius:14px;
  border:1px dashed rgba(245,241,232,.22);background:rgba(245,241,232,.025);
}
.calc code,.calc var{
  font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  font-size:13.5px;color:var(--glow);font-style:normal;letter-spacing:.01em;
}
.calc .row + .row{margin-top:10px}
.calc .lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--warm-38);display:block;margin-bottom:10px}

/* ---------- asides ---------- */
.note{
  margin-top:26px;padding-left:18px;border-left:2px solid rgba(255,217,160,.4);
  font-size:14.5px;line-height:1.7;color:var(--warm-60);
}

/* ---------- figures ---------- */
.fig{margin-top:34px}
.fig img{width:100%;border-radius:14px;background:var(--night-2)}
.fig figcaption{
  margin-top:12px;font-size:12.5px;line-height:1.6;color:var(--warm-38);
}
.fig figcaption b{color:var(--warm-60);font-weight:500}
.fig.wide{margin-right:0}

/* ---------- contents ---------- */
.toc{margin-top:38px;padding:20px 24px;border:1px solid var(--warm-18);border-radius:14px}
.toc b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--warm-38);font-weight:500;margin-bottom:12px}
.toc ol{margin:0;padding:0;list-style:none;display:grid;gap:8px;counter-reset:toc}
.toc a{display:flex;gap:12px;font-size:14.5px;color:var(--warm-60);transition:.2s;
  padding:2px 0}
.toc a::before{
  counter-increment:toc;content:counter(toc,decimal-leading-zero);
  font-size:11px;letter-spacing:.1em;color:var(--warm-38);padding-top:3px;min-width:22px;
}
.toc a:hover{color:var(--glow)}

/* ---------- FAQ: the site component (site.css .faq) with article sizing ---------- */
.faq{margin-top:30px}
.faq .ans p{margin-top:10px;font-size:14.8px;line-height:1.8;color:inherit}
.faq .ans p:first-child{margin-top:0}

/* ---------- closing CTA ---------- */
.cta-band{
  margin-top:70px;padding:34px 34px;border-radius:18px;
  border:1px solid rgba(255,217,160,.2);
  background:radial-gradient(120% 140% at 0% 0%,rgba(255,217,160,.1),rgba(255,217,160,.02) 60%);
}
.cta-band h2{margin:0;font-size:clamp(22px,2.4vw,30px);line-height:1.25;font-weight:250;
  letter-spacing:-.02em}
.cta-band h2 b{font-weight:600}
.cta-band p{margin-top:14px;max-width:560px;font-size:15px;line-height:1.7;color:var(--warm-60)}
.cta-band .acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* ---------- sources + author ---------- */
.srcs{margin-top:52px;padding-top:24px;border-top:1px solid var(--warm-18)}
.srcs b{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--warm-38);font-weight:500;margin-bottom:12px}
.srcs ol{margin:0;padding:0;list-style:none;counter-reset:src}
.srcs li{
  position:relative;padding-left:24px;margin-top:8px;font-size:13.5px;
  line-height:1.6;color:var(--warm-38);
}
.srcs li::before{
  counter-increment:src;content:'['counter(src)']';position:absolute;left:0;
  color:var(--warm-38);font-size:12px;
}
.srcs a{color:var(--warm-60);text-decoration:underline;text-underline-offset:3px}
.srcs a:hover{color:var(--glow)}
.author{
  margin-top:34px;padding:20px 22px;border-radius:14px;
  border:1px solid var(--warm-18);background:rgba(245,241,232,.02);
  font-size:13.5px;line-height:1.7;color:var(--warm-38);
}
.author b{color:var(--warm-60);font-weight:500}

/* ---------- hub page ---------- */
.hub-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:40px}
.hub-card{
  display:block;padding:24px;border:1px solid var(--warm-18);border-radius:16px;
  transition:.25s;background:rgba(245,241,232,.015);
}
a.hub-card{text-decoration:none!important}
a.hub-card:hover{border-color:rgba(255,217,160,.4);background:rgba(255,217,160,.04)}
a.hub-card:hover .k{color:var(--glow)}
.hub-card .more{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--glow)}
.hub-card .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--warm-38)}
.hub-card h3{margin-top:10px;font-size:19px;line-height:1.35;font-weight:400;
  letter-spacing:-.01em;color:var(--warm)}
.hub-card p{margin-top:10px;font-size:13.5px;line-height:1.65;color:var(--warm-38)}
.hub-card .soon{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--warm-38);border:1px solid var(--warm-18);
  padding:5px 10px;border-radius:99px}

/* ---------- tables on a phone: one card per row ---------- */
@media(max-width:720px){
  .tbl{margin-right:0;overflow:visible;border:0;border-radius:0}
  .tbl table{display:block;min-width:0;font-size:14px}
  .tbl caption{display:block;width:100%;padding:0 0 12px;white-space:normal}
  .tbl thead{display:none}
  .tbl tbody{display:block}
  .tbl tr{display:block;padding:16px 18px;margin-bottom:14px;
    border:1px solid var(--warm-18);border-radius:14px;background:rgba(245,241,232,.02)}
  .tbl td{display:flex;justify-content:space-between;gap:18px;padding:7px 0;
    border:0;font-size:14.5px;white-space:normal}
  .tbl td::before{content:attr(data-l);flex:0 0 auto;font-size:10.5px;letter-spacing:.13em;
    text-transform:uppercase;color:var(--warm-38);padding-top:3px}
  .tbl td:first-child{display:block;padding:0 0 12px;margin-bottom:6px;
    border-bottom:1px solid rgba(245,241,232,.1)}
  .tbl td:first-child::before{content:none}
  .tbl td:first-child b{font-size:15.5px}
}
/* ---------- mobile ---------- */
@media(max-width:900px){
  .art-body{margin-top:34px}
  .art-body p,.art-body li{font-size:16px}
  .answer{padding:22px 20px}
  .answer p{font-size:16px}
  .fig.wide{margin-right:0}
  .art-body h2{margin-top:50px}
  .art-body .eyebrow{margin-top:50px}
  .cta-band{padding:26px 22px}
  .hub-grid{grid-template-columns:1fr}
  .art-meta{font-size:10.5px;letter-spacing:.14em}
}
@media(max-width:560px){
  .toc{padding:16px 18px}
  .toc a{font-size:14px}
  .faq summary{font-size:15.5px;padding:17px 40px 17px 0}
  .faq .ans{padding-right:0}

}

/* wide screens only: let tables and wide figures bleed into the gutter */
@media(min-width:1100px){
  .tbl{margin-right:calc(-1 * clamp(0px,7vw,118px))}
  .fig.wide{margin-right:calc(-1 * clamp(0px,7vw,118px))}
}

.fig.cert{width:min(100%,420px)}
