/* generated by content-engine/_source/export_guide.py from the v4 content kit + render_article.ARTICLE_CSS; do not edit */
/* ===== GRAIL v4 content kit. Dark brand system (Bebas Neue + Inter, near-black + gold).
   Scoped under .v4 so it never collides with the global chrome in site.css.
   Every converted page wraps its content in <div class="v4"> ... </div>. ===== */
.v4{ --ink0:#0B0F16; --gold:#FDB833; --gold-lt:#FFE3A0; --gold-dp:#B07E12;
  --blue:#5EA8E0; --blue-lt:#AED6F7; --blue-dp:#2E6C9E; --teal:#46C8A0; --teal-lt:#A7ECD6; --teal-dp:#1F8E6E;
  --tl:#F4F3EF; --tl70:rgba(244,243,239,.72); --tl45:rgba(244,243,239,.62);
  --acc:var(--gold); --acc-lt:var(--gold-lt); --acc-dp:var(--gold-dp);font-family: var(--ff-text);color:var(--tl);background:var(--ink0); }
.v4 .ph-gold{ --acc:var(--gold); --acc-lt:var(--gold-lt); --acc-dp:var(--gold-dp); }
.v4 .ph-blue{ --acc:var(--blue); --acc-lt:var(--blue-lt); --acc-dp:var(--blue-dp); }
.v4 .ph-teal{ --acc:var(--teal); --acc-lt:var(--teal-lt); --acc-dp:var(--teal-dp); }
.v4 section{position:relative;overflow:hidden; }
.v4 .wrap{max-width:1120px;margin:0 auto;padding:0 44px;position:relative;z-index:2; }
.v4 .eyebrow{font-size: var(--fs-small);font-weight: 600;color:var(--acc);display:flex;align-items:center;gap:11px;margin:0 0 16px; }

.v4 h1.dsp,.v4 h2.dsp{font-family: var(--ff-display);text-transform:uppercase;letter-spacing:.8px;line-height:.94;font-weight: 400;color:var(--tl);margin:0;text-wrap:balance; }
.v4 h1.dsp{font-size: var(--fs-display-1);line-height:.92;max-width:16ch; }
.v4 h2.dsp{font-size: var(--fs-display-2); }
.v4 .em{color: var(--acc, var(--c-gold)); }
.v4 .lede{font-size: var(--fs-title);line-height:1.5;color:var(--tl);font-weight: 400;max-width:44ch;margin:22px 0 0; }
.v4 p.body{font-size: var(--fs-body);line-height:1.72;color:var(--tl70);margin:0 0 18px;max-width:68ch; }
.v4 p.body:last-child{margin-bottom:0; }
.v4 p.body b{color:var(--tl);font-weight: 600; }
.v4 p.body a,.v4 .lede a,.v4 .ans a{color:var(--acc);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--acc) 55%,transparent); }
.v4 p.body a:hover,.v4 .ans a:hover{color:var(--acc-lt); }
/* answer callout (AEO liftable answer-first block) */
.v4 .ans{position:relative;font-size: var(--fs-body);line-height:1.62;color:var(--tl);font-weight: 400;margin:0 0 18px;max-width:68ch;padding:20px 24px 20px 28px;border-radius:12px;background:linear-gradient(158deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(244,243,239,.09); }
.v4 .ans::before{content:'';position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--acc),var(--acc-dp)); }
/* CTAs */
.v4 .pill.lg{padding:17px 40px;font-size: var(--fs-small); }
.v4 .tlink{display:inline-flex;align-items:center;gap:9px;color:var(--acc);text-decoration:none;font-weight: 600;font-size: var(--fs-small); }

.v4 .ctalt{display:inline-flex;align-items:center;gap:10px;color:var(--tl);text-decoration:none;font-weight: 600;font-size: var(--fs-small);padding:15px 26px;border-radius:40px;border:1px solid rgba(244,243,239,.24);transition:border-color .2s ease, background .2s ease; }

.v4 .ctalt:hover{border-color:rgba(253,184,51,.55);background:rgba(253,184,51,.07); }
/* hero */
.v4 .hero{min-height:clamp(500px,72vh,700px);display:flex;align-items:center;padding:0; }
.v4 .hero .herobg{position:absolute;inset:0;z-index:0;background: radial-gradient(90% 60% at 8% 30%, rgba(176,126,18,.14), transparent 60%),
    linear-gradient(180deg,#131A26 0%,#0E141F 46%,#0B0F16 100%); }
.v4 .hero .wrap{padding-top:148px;padding-bottom:92px;z-index:2; }
.v4 .hero .deck{font-size: var(--fs-title);line-height:1.42;font-weight: 600;color:var(--tl);max-width:44ch;margin:22px 0 0; }
.v4 .hero .cta{margin:32px 0 0;display:flex;align-items:center;gap:22px;flex-wrap:wrap; }
.v4 .hero .ans{margin-top:30px; }
/* content sections (alternating washes) */
.v4 .sec{padding:clamp(70px,9vw,116px) 0; }
.v4 .sec.a{background: #0D131D; }
.v4 .sec.b{background: #0B0F16; }
.v4 .sec.c{background: #0D131D; }
.v4 .block + .block{margin-top:clamp(44px,5.2vw,62px); }
.v4 .block h2{margin-bottom:15px; }
/* numbered spine */
.v4 .qspine{margin:26px 0 0;counter-reset:q; }
.v4 .qitem{position:relative;padding:0 0 26px 64px; }
.v4 .qitem:last-child{padding-bottom:0; }
.v4 .qitem::before{counter-increment:q;content:counter(q);position:absolute;left:0;top:-2px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family: var(--ff-text);font-size: var(--fs-title);color:var(--ink0);background:linear-gradient(140deg,var(--gold-lt),var(--gold) 60%,var(--gold-dp));font-weight: 600}
.v4 .qq{font-size: var(--fs-body);font-weight: 600;color:var(--tl);margin:6px 0 0;line-height:1.4; }
.v4 .qx{font-size: var(--fs-small);line-height:1.6;color:var(--tl70);margin:8px 0 0;max-width:62ch; }
/* stat trio */
.v4 .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin:8px 0 0;background:rgba(244,243,239,.09);border:1px solid rgba(244,243,239,.09);border-radius:16px;overflow:hidden; }
.v4 .trio .st{background:linear-gradient(158deg,rgba(255,255,255,.06),rgba(255,255,255,.02));padding:34px 28px 30px; }
.v4 .trio .sn{font-family: var(--ff-display);line-height:.84;font-size: var(--fs-display-1);color: var(--c-gold); ; font-weight:400}
.v4 .trio .sc{font-size: var(--fs-small);line-height:1.5;color:var(--tl70);margin:12px 0 0; }
/* statement band */
.v4 .statement{padding:clamp(74px,9vw,116px) 0;text-align:center;background: #0E1420; }
.v4 .statement h2{font-family: var(--ff-display);text-transform:uppercase;letter-spacing:.6px;font-size: var(--fs-display-2);line-height:1;margin:0 auto;max-width:22ch; ; font-weight:400}
.v4 .statement p{font-size: var(--fs-body);color:var(--tl70);margin:20px auto 0;max-width:58ch;line-height:1.6; }
/* faq */
.v4 .faq{padding:clamp(70px,9vw,116px) 0;background: #0B0F16; }
.v4 .faq .fq{border-top:1px solid rgba(244,243,239,.1);padding:28px 0; }
.v4 .faq .fq:last-child{border-bottom:1px solid rgba(244,243,239,.1); }
.v4 .faq h2.fqq{font-family: var(--ff-display);text-transform:uppercase;letter-spacing:.5px;font-size: var(--fs-display-3);line-height:1.06;color:var(--tl);margin:0 0 12px; ; font-weight:400}
.v4 .faq .fqa{font-size: var(--fs-small);line-height:1.7;color:var(--tl70);margin:0;max-width:76ch; }
/* cta close */
.v4 .cta-sec{padding:clamp(86px,11vw,138px) 0;text-align:center;background: #0E1420; }
.v4 .cta-sec h2{font-family: var(--ff-display);text-transform:uppercase;letter-spacing:.7px;font-size: var(--fs-display-2);margin:0 0 16px;line-height:1; ; font-weight:400}
.v4 .cta-sec p{font-size: var(--fs-body);color:var(--tl70);margin:0 auto 38px;max-width:52ch; }
.v4 .cta-actions{display:inline-flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center; }
.v4 .related{margin:44px 0 0;font-size: var(--fs-small);color:var(--tl45); }
.v4 .related a{color:var(--tl70);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(253,184,51,.5); }
.v4 .related a:hover{color:var(--gold); }
.v4 .related .dot{padding:0 10px;color:var(--c-text-3); }
@media (max-width:820px){ .v4 .trio{grid-template-columns:1fr; } }
@media (max-width:560px){ .v4 .wrap{padding:0 24px; } }
/* page-level: dark canvas + let hero sit under the fixed header, and neutralize
   site.css's light body bg + mobile section insets that would break full-bleed dark sections */
body:has(.v4){background:#0B0F16; }
main:has(.v4){padding-top:0; }
@media (max-width:767px){ .v4 section{margin-left:0 !important;margin-right:0 !important;width:auto !important; } }

/* ===== article layout (content engine) ===== */
.v4 .ahead{position:relative;padding:0;overflow:hidden;background: linear-gradient(180deg,#121926 0%,#0B0F16 100%); }
.v4 .aw{max-width:780px;margin:0 auto;padding:124px 24px 0;position:relative;z-index:2; }
.v4 .crumbs{font-size: var(--fs-small);color:var(--tl45);display:flex;flex-wrap:wrap;gap:8px;align-items:center; }
.v4 .crumbs a{color:var(--tl70);text-decoration:none; } .v4 .crumbs a:hover{color:var(--gold); }
.v4 .chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 18px; }
.v4 .chip{font-size: var(--fs-small);font-weight: 600;padding:5px 10px 4px;border:1px solid rgba(244,243,239,.16);border-radius:6px;color:var(--tl70); }
.v4 .chip.acc{color:var(--gold);border-color:rgba(253,184,51,.45); }
.v4 .chip.fresh{color:#8FE3C3;border-color:rgba(143,227,195,.35); }
.v4 .ahead h1.dsp{font-size: var(--fs-display-1);line-height:.95;max-width:none; }
.v4 .qa{margin:30px 0 0;padding:20px 24px 22px;border-radius:14px;background:linear-gradient(158deg,rgba(253,184,51,.10),rgba(255,255,255,.02));border:1px solid rgba(253,184,51,.24); }
.v4 .qa .ans{background:none;border:0;padding:0 0 0 18px;margin:0;font-size: var(--fs-body);line-height:1.6;max-width:none; }
.v4 .qa .ans::before{top:3px;bottom:3px; }
.v4 .lab{font-size: var(--fs-small);font-weight: 600;color:var(--gold);margin:0 0 10px; }
.v4 .byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:26px 0 0;padding:16px 0;border-top:1px solid rgba(244,243,239,.10);border-bottom:1px solid rgba(244,243,239,.10); }
.v4 .byline img{width:44px;height:44px;border-radius:50%;object-fit:cover; }
.v4 .byline .who b{display:block;font-size: var(--fs-small);font-weight: 600;color:var(--tl); }
.v4 .byline .who span{font-size: var(--fs-small);color:var(--tl45); }
.v4 .byline .when{margin-left:auto;font-size: var(--fs-small);color:var(--tl45);text-align:right;line-height:1.5; }
.v4 .plate{margin:0; }
.v4 .plate img{display:block;width:100%;height:auto;border-radius:14px; }
.v4 .ahead .plate{margin:34px 0 0; }
.v4 .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0 0; }
.v4 .stat{padding:20px 18px 18px;border-radius:12px;border:1px solid rgba(244,243,239,.09);background:linear-gradient(158deg,rgba(255,255,255,.06),rgba(255,255,255,.02)); }
.v4 .stat .sv{font-family: var(--ff-display);font-size: var(--fs-display-2);line-height:.9;color: var(--c-gold);white-space:nowrap; ; font-weight:400}
.v4 .stat .sl{font-size: var(--fs-small);line-height:1.45;color:var(--tl);margin:10px 0 0; }
.v4 .stat .ss{font-size: var(--fs-small);color:var(--tl45);margin:10px 0 0; }
.v4 .stat .ss a{color:var(--tl70);text-decoration:underline;text-decoration-color:rgba(253,184,51,.45);text-underline-offset:2px; }
.v4 .ktb{margin:30px 0 0;padding:22px 24px 8px;border-radius:14px;border:1px solid rgba(244,243,239,.10);background:rgba(255,255,255,.02); }
.v4 .ktb ol{list-style:none;margin:0;padding:0;counter-reset:k; }
.v4 .ktb li{position:relative;padding:0 0 16px 40px;font-size: var(--fs-small);line-height:1.55;color:var(--tl); }
.v4 .ktb li::before{counter-increment:k;content:counter(k,decimal-leading-zero);position:absolute;left:0;top:1px;width:26px;height:22px;border-radius:5px;background:var(--gold);color:var(--ink0);font-size: var(--fs-small);font-weight: 600;display:flex;align-items:center;justify-content:center; }
.v4 .abody{display:grid;grid-template-columns:220px minmax(0,720px);gap:60px;justify-content:center;max-width:1120px;margin:0 auto;padding:72px 24px 24px; }
.v4 .toc{position:sticky;top:100px;align-self:start;font-size: var(--fs-small); }
.v4 .toc .lab{display:flex;justify-content:space-between;gap:10px; }
.v4 .toc .lab span{color:var(--tl45); }
.v4 .toc ol{list-style:none;margin:4px 0 0;padding:0; }
.v4 .toc li a{display:flex;gap:10px;padding:7px 0 7px 12px;border-left:2px solid rgba(244,243,239,.08);color:var(--tl45);text-decoration:none;line-height:1.35; }
.v4 .toc li a i{font-style:normal;color:var(--tl45);font-size: var(--fs-small);padding-top:2px;min-width:16px; }
.v4 .toc li a:hover{color:var(--tl70); }
.v4 .toc li.on a{color:var(--tl);border-left-color:var(--gold); }
.v4 .toc li.on a i{color:var(--gold); }
.v4 .partof{margin:22px 0 0;padding:16px 0 0;border-top:1px solid rgba(244,243,239,.10);font-size: var(--fs-small);color:var(--tl45); }
.v4 .partof a{display:block;margin-top:6px;color:var(--gold);text-decoration:none;font-weight: 600;line-height:1.4; }
.v4 .toc-m{display:none; }
.v4 .acol{min-width:0; }
.v4 .ch{padding:0 0 52px;scroll-margin-top:96px; }
.v4 .ch + .ch{border-top:1px solid rgba(244,243,239,.08);padding-top:48px; }
.v4 .chnum{font-size: var(--fs-small);color:var(--tl45);margin:0; }
.v4 .chnum b{color:var(--gold);font-weight: 600; }
.v4 .ch h2.dsp{font-size: var(--fs-display-3);line-height:1;margin:10px 0 20px; }
.v4 .inshort{margin:0 0 26px;padding:18px 22px 20px;border-radius:12px;background:rgba(253,184,51,.06);border:1px solid rgba(253,184,51,.22); }
.v4 .inshort p:not(.lab){margin:0;font-size: var(--fs-small);line-height:1.6;color:var(--tl);font-weight: 400; }
.v4 .ch .plate{margin:0 0 28px; }
.v4 .acol p.body{font-size: var(--fs-body);line-height:1.75;color:rgba(244,243,239,.80);max-width:none; }
.v4 .acol p.body a, .v4 .acol .qx a, .v4 .acol .tbl a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(253,184,51,.5); }
.v4 .acol p.body a:hover{color:var(--gold); }
.v4 .acol a.ext::after{content:'\2197';font-size:.7em;margin-left:1px;color:rgba(253,184,51,.75); }
.v4 .acol .qspine{margin:26px 0 8px; }
.v4 .acol .qx{font-size: var(--fs-small);line-height:1.7;max-width:none; }
.v4 .notq{margin:0 0 52px;padding:24px 26px;border-radius:14px;border:1px dashed rgba(244,243,239,.22);scroll-margin-top:96px; }
.v4 .notq h2{font-family: var(--ff-display);font-weight: 400;text-transform:uppercase;letter-spacing:.6px;font-size: var(--fs-display-3);line-height:1;margin:0 0 12px;color:var(--tl); }
.v4 .notq p{font-size: var(--fs-small);line-height:1.7;color:rgba(244,243,239,.80);margin:0 0 12px; }
.v4 .notq p:last-child{margin:0; }
.v4 .faqb{margin:0 0 48px;scroll-margin-top:96px; }
.v4 .faqb h2{font-family: var(--ff-display);font-weight: 400;text-transform:uppercase;letter-spacing:.6px;font-size: var(--fs-display-3);margin:0 0 14px;color:var(--tl); }
.v4 .faqb details{border-top:1px solid rgba(244,243,239,.10); }
.v4 .faqb details:last-child{border-bottom:1px solid rgba(244,243,239,.10); }
.v4 .faqb summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;position:relative;font-size: var(--fs-body);font-weight: 600;color:var(--tl);line-height:1.4; }
.v4 .faqb summary::-webkit-details-marker{display:none; }
.v4 .faqb summary::after{content:'+';position:absolute;right:4px;top:14px;font-size: var(--fs-title);color:var(--gold); }
.v4 .faqb details[open] summary::after{content:'\2212'; }
.v4 .faqb .fqa{font-size: var(--fs-small);line-height:1.7;color:var(--tl70);margin:0 0 20px;max-width:none; }
.v4 .authorc{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:22px;border-radius:14px;margin:0 0 40px;border:1px solid rgba(244,243,239,.10);background:rgba(255,255,255,.02); }
.v4 .authorc img{width:72px;height:72px;border-radius:50%;object-fit:cover; }
.v4 .authorc b{font-size: var(--fs-body);color:var(--tl); } .v4 .authorc .r{font-size: var(--fs-small);color:var(--tl45);margin:2px 0 10px; }
.v4 .authorc p{font-size: var(--fs-small);line-height:1.6;color:var(--tl70);margin:0 0 10px; }
.v4 .authorc .al a{font-size: var(--fs-small);color:var(--gold);text-decoration:none;margin-right:16px;font-weight: 600; }
.v4 .pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 40px; }
.v4 .pn a{display:block;padding:18px 20px;border-radius:12px;border:1px solid rgba(244,243,239,.10);text-decoration:none;color:var(--tl);font-weight: 600;font-size: var(--fs-small);line-height:1.4;transition:border-color .2s ease; }
.v4 .pn a:hover{border-color:rgba(253,184,51,.5); }
.v4 .pn a span{display:block;font-size: var(--fs-small);color:var(--tl45);font-weight: 600;margin-bottom:8px; }
.v4 .pn a.nx{text-align:right; }
.v4 .blockh{font-family: var(--ff-display);font-weight: 400;text-transform:uppercase;letter-spacing:.6px;font-size: var(--fs-display-3);color:var(--tl);margin:0 0 14px; }
.v4 .rel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 40px; }
.v4 .rel a{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:12px;text-decoration:none;background:linear-gradient(158deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(244,243,239,.09);transition:border-color .2s ease; }
.v4 .rel a:hover{border-color:rgba(253,184,51,.5); }
.v4 .rel .t{font-size: var(--fs-small);color:var(--gold);font-weight: 600; }
.v4 .rel b{font-size: var(--fs-small);line-height:1.35;color:var(--tl); }
.v4 .rel .d{font-size: var(--fs-small);line-height:1.5;color:var(--tl70); }
.v4 .rel .m{margin-top:auto;font-size: var(--fs-small);color:var(--tl45); }
.v4 .srcl{margin:0 0 14px;padding-left:22px;font-size: var(--fs-small);line-height:1.6;color:var(--tl70); }
.v4 .srcl li{margin:0 0 6px; } .v4 .srcl a{color:var(--tl);text-decoration:underline;text-decoration-color:rgba(253,184,51,.45);text-underline-offset:2px; }
.v4 .srcl .acc{color:var(--tl45);font-size: var(--fs-small); }
.v4 .nextrev{font-size: var(--fs-small);color:var(--tl45);margin:0 0 8px; }
/* tables and the drawn device, inside the reading column */
.v4 .tbl{margin:26px 0 8px;border:1px solid rgba(244,243,239,.09);border-radius:14px;overflow:hidden;background:linear-gradient(158deg,rgba(255,255,255,.05),rgba(255,255,255,.015)); }
.v4 .tbl table{width:100%;border-collapse:collapse;font-size: var(--fs-small);line-height:1.5; }
.v4 .tbl th{font-family: var(--ff-text);font-weight: 400;font-size: var(--fs-body);line-height:1.1;color:var(--tl);text-align:left;padding:20px 18px 14px;vertical-align:bottom;border-bottom:1px solid rgba(244,243,239,.14); }
.v4 .tbl th.hi{color:var(--gold); }
.v4 .tbl td{padding:14px 18px;color:var(--tl70);vertical-align:top;border-top:1px solid rgba(244,243,239,.07); }
.v4 .tbl tr:first-child td{border-top:0; }
.v4 .tbl td:first-child{color:var(--tl);font-weight: 600;width:26%; }
.v4 .tbl td.hi{color:var(--tl);background:rgba(253,184,51,.045); }
.v4 .dev{position:relative;width:100%;margin:6px 0 30px;aspect-ratio:800/460; }
.v4 .dev svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible; }
.v4 .dev-lab{position:absolute;font-family: var(--ff-text);line-height:1.3;font-size: var(--fs-title);transform:translateY(-50%);font-weight: 600}
.v4 .dev-lab.hot{color:var(--gold-lt); } .v4 .dev-lab.cool{color:var(--tl); }
.v4 .dev-ax{position:absolute;font-family: var(--ff-text);font-size: var(--fs-small);color:var(--tl45);transform:translateY(-50%);white-space:nowrap;font-weight: 600}
.v4 .dev-ex{position:absolute;font-size: var(--fs-small);color:var(--tl45);transform:translateY(-50%);white-space:nowrap; }
.v4 .offerb{margin:64px 0 64px;padding:26px 0 0;border-top:1px solid rgba(253,184,51,.45); }
.v4 .offerb .lab{font-size: var(--fs-small);font-weight: 600;color:var(--gold);margin:0 0 14px; }
.v4 .offerb p:not(.lab):not(.help){font-size: var(--fs-body);line-height:1.75;color:rgba(244,243,239,.88);margin:0 0 14px;max-width:none; }
.v4 .offerb .offer-act{margin-top:22px; }
.v4 .offerb .help{font-size: var(--fs-small);line-height:1.6;color:var(--tl70);margin:12px 0 0;max-width:none; }
.v4 .dev-way{position:absolute;font-size: var(--fs-small);line-height:1.3;color:var(--tl70);transform:translateY(-100%); }
.v4 .dev-way.top{transform:none;color:var(--tl45); }
.v4 .dev-box{position:absolute;transform:translateY(-50%);font-size: var(--fs-small);line-height:1.3;color:var(--tl); }
.v4 .dev-box b{display:block;font-family: var(--ff-text);font-weight: 400;font-size: var(--fs-small);color:var(--gold);margin-bottom:4px; }
.v4 .dev-node{position:absolute;font-family: var(--ff-display);font-size: var(--fs-display-3);letter-spacing:1px;color:var(--gold);transform:translate(-50%,-50%); ; font-weight:400}
@media (prefers-reduced-motion:no-preference){ .v4 .dev-pulse{animation:devPulse 3s ease-out infinite;transform-box:fill-box;transform-origin:center; } }
@keyframes devPulse{ 0%{ r:8; opacity:.55; } 70%{ r:28; opacity:0; } 100%{ r:28; opacity:0; } }
.v4 .cta-sec p{margin-bottom:34px; }
@media (max-width:980px){
  .v4 .abody{grid-template-columns:minmax(0,720px);gap:0;padding-top:44px; }
  .v4 .toc{display:none; }
  .v4 .toc-m{display:block;margin:0 0 40px;border:1px solid rgba(244,243,239,.12);border-radius:12px;padding:0 18px; }
  .v4 .toc-m summary{list-style:none;cursor:pointer;padding:15px 0;font-size: var(--fs-small);font-weight: 600;color:var(--gold); }
  .v4 .toc-m summary::-webkit-details-marker{display:none; }
  .v4 .toc-m ol{margin:0 0 14px;padding-left:20px;color:var(--tl45);font-size: var(--fs-small);line-height:1.9; }
  .v4 .toc-m a{color:var(--tl70);text-decoration:none; }
}
@media (max-width:760px){
  .v4 .aw{padding-top:100px; }
  .v4 .stats, .v4 .rel, .v4 .pn{grid-template-columns:1fr; }
  .v4 .pn a.nx{text-align:left; }
  .v4 .byline .when{margin-left:0;text-align:left;width:100%; }
  .v4 .dev-lab{font-size: var(--fs-small);letter-spacing:.5px; } .v4 .dev-ax{font-size: var(--fs-small); }
  .v4 .dev-ex{display:none; } .v4 .dev-node{font-size: var(--fs-body); } .v4 .dev-way{font-size: var(--fs-small);line-height:1.25; } .v4 .dev-way .wt, .v4 .dev-box b{display:none; } .v4 .dev-ax{white-space:normal; } .v4 .dev-box{font-size: var(--fs-small);line-height:1.25; }
  .v4 .authorc{grid-template-columns:1fr; }
}
@media (max-width:640px){
  .v4 .tbl thead{display:none; }
  .v4 .tbl table, .v4 .tbl tbody, .v4 .tbl tr, .v4 .tbl td{display:block;width:auto; }
  .v4 .tbl tr{padding:16px 18px;border-top:1px solid rgba(244,243,239,.09); }
  .v4 .tbl tr:first-child{border-top:0; }
  .v4 .tbl td, .v4 .tbl td.hi{padding:4px 0;border:0;background:none; }
  .v4 .tbl td:first-child{width:auto;font-family: var(--ff-text);font-weight: 400;font-size: var(--fs-body);padding-bottom:8px; }
  .v4 .tbl td[data-label]::before{content:attr(data-label);display:block;font-size: var(--fs-small);font-weight: 600;color:var(--tl45);margin:6px 0 2px; }
  .v4 .tbl td.hi[data-label]::before{color:var(--gold); }
}
