/* ============ PRODUCT DETAIL ============ */
.crumb{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-3);padding:22px 0 0}
.crumb a:hover{color:var(--ink)} .crumb .sep{color:var(--line-2)} .crumb .cur{color:var(--ink);font-weight:600}
.back{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--red);margin-top:16px}

.pd-hero{padding-top:22px}
.pd-cat{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--red)}
.pd-hero h1{font-size:clamp(34px,4.2vw,54px);font-weight:800;letter-spacing:-0.04em;line-height:1.03;margin:10px 0 16px;max-width:20ch}
.pd-hero .desc{font-size:18px;color:var(--ink-2);max-width:64ch;line-height:1.55;margin-bottom:22px}
.badges2{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.badge2{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink-2);background:#fff;border:1px solid var(--line-2);padding:7px 13px;border-radius:100px;box-shadow:var(--sh-sm)}
.badge2 svg{color:var(--red)}
.badge2.ok svg{color:var(--green)}
.pd-acts{display:flex;gap:12px;flex-wrap:wrap}

/* overview: visual + buy card */
.ov{display:grid;grid-template-columns:1.5fr .9fr;gap:32px;align-items:start}
.prod-visual{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-lg);background:#fff}
.pv-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--bg-grey)}
.pv-bar .d{width:10px;height:10px;border-radius:50%;background:#E0E3E8}
.pv-bar .t{margin-left:9px;font-size:12.5px;font-weight:600;color:var(--ink-3)}
.pv-bar .tag{margin-left:auto;font-size:11px;font-weight:600;color:var(--red);background:var(--red-soft);padding:4px 9px;border-radius:7px}
.pv-body{padding:20px}
.pv-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.pvk{background:var(--bg-grey);border:1px solid var(--line);border-radius:12px;padding:14px}
.pvk .k{font-size:11px;font-weight:600;color:var(--ink-3)}
.pvk .v{font-size:20px;font-weight:700;letter-spacing:-0.02em;margin-top:4px}
.pvk .v small{font-size:12px;color:var(--green);font-weight:600}
.pv-chart{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}
.pv-chart .cl{font-size:11.5px;font-weight:600;color:var(--ink-3);margin-bottom:8px;display:flex;justify-content:space-between}
.pv-table{margin-top:14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.pv-table table{width:100%;border-collapse:collapse;font-size:12px}
.pv-table th{text-align:left;font-weight:600;color:var(--ink-4);padding:9px 14px;background:var(--bg-grey);text-transform:uppercase;font-size:10.5px;letter-spacing:.02em}
.pv-table td{padding:9px 14px;border-top:1px solid var(--line);color:var(--ink-2)}
.pv-table td.mono{font-family:var(--mono);font-size:11px;color:var(--ink)}

.buy-card{position:sticky;top:90px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:24px}
.buy-card .price-lbl{font-size:13px;color:var(--ink-3);font-weight:500}
.buy-card .price-main{font-size:22px;font-weight:800;letter-spacing:-0.02em;margin:2px 0 4px}
.buy-card .price-sub{font-size:12.5px;color:var(--ink-3);margin-bottom:18px}
.buy-card .price-sub a{color:var(--red);font-weight:600}
.buy-card .btn{margin-bottom:10px}
.meta{margin-top:20px;border-top:1px solid var(--line);padding-top:6px}
.mrow{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.mrow:last-child{border-bottom:none}
.mrow .mk{color:var(--ink-3)}
.mrow .mv{color:var(--ink);font-weight:600;text-align:right}
.mrow .mv.ok{color:var(--green)}
.fmttags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.fmttag{font-size:10.5px;font-weight:600;color:var(--ink-2);background:var(--bg-grey);border:1px solid var(--line);padding:2px 7px;border-radius:6px}
.trustline{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:12px;color:var(--ink-3)}
.trustline svg{color:var(--green)}
.price-models{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.pm-chip{font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--bg-grey);border:1px solid var(--line);padding:5px 10px;border-radius:7px}
.incl-buy{margin-top:16px;background:var(--red-tint);border:1px solid var(--red-soft);border-radius:12px;padding:16px 18px}
.incl-buy .ib-h{font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.incl-buy ul{list-style:none;display:grid;gap:9px}
.incl-buy li{font-size:13.5px;color:var(--ink-2);font-weight:500;display:flex;align-items:center;gap:9px}
.incl-buy li svg{color:var(--green);flex:none}

/* what's included */
.incl-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.incl{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--sh-sm);font-size:14.5px;font-weight:600;letter-spacing:-0.01em}
.incl svg{color:var(--green);flex:none}

/* live preview */
.prev-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh);background:#fff}
.prev-tools{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}
/* .prev-search removed 12 Sep 2026 with the preview filter box itself - it
   filtered nine rows, which nobody needs, and looked broken whenever it worked. */
.prev-hint{font-size:12.5px;color:var(--ink-4);margin-left:auto}
.ptable{width:100%;border-collapse:collapse;font-size:13px}
.ptable th{text-align:left;font-weight:600;color:var(--ink-3);padding:12px 20px;background:var(--bg-grey);border-bottom:1px solid var(--line);font-size:11.5px;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;user-select:none;white-space:nowrap}
.ptable th .ar{color:var(--ink-4);font-size:9px;margin-left:4px}
.ptable td{padding:12px 20px;border-bottom:1px solid var(--line);color:var(--ink-2)}
.ptable td.mono{font-family:var(--mono);font-size:12px;color:var(--ink)}
.ptable tr:hover td{background:var(--bg-grey)}
.prev-lock{position:relative}
.prev-lock .blurred td{filter:blur(4px);opacity:.6;user-select:none}
.prev-cta{position:relative;text-align:center;padding:28px 20px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 60%);margin-top:-70px}
.prev-cta .pl{font-size:14px;color:var(--ink-3);margin-bottom:14px}
.prev-cta .pl b{color:var(--ink)}

/* sample band */
.sample{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 30px;box-shadow:var(--sh-sm);flex-wrap:wrap}
.sample .si{width:46px;height:46px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.sample .stx{flex:1;min-width:220px}
.sample .stx h4{font-size:17px;font-weight:700;letter-spacing:-0.02em}
.sample .stx p{font-size:14px;color:var(--ink-3);margin-top:3px}

/* api */
.code{background:#15171D;border:1px solid var(--dark-line);border-radius:14px;overflow:hidden}
.code-head{display:flex;align-items:center;gap:8px;padding:13px 18px;border-bottom:1px solid var(--dark-line)}
.code-head .verb{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--green-d);background:rgba(95,201,140,.12);padding:3px 9px;border-radius:6px}
.code-head .path{font-family:var(--mono);font-size:13px;color:var(--dark-ink)}
.code-head .copy{margin-left:auto;font-size:12px;color:var(--dark-ink-3);cursor:pointer}
.code-body{padding:20px 22px;font-family:var(--mono);font-size:13px;line-height:1.7;color:#C8CCD4;overflow-x:auto;white-space:pre}
.code-body .k{color:var(--red-d)} .code-body .s{color:var(--green-d)} .code-body .n{color:var(--bronze-d)} .code-body .c{color:#6C727E}

/* analytics */
.an-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.an-panel{background:var(--dark-panel);border:1px solid var(--dark-line);border-radius:16px;padding:20px}
.an-panel .ah{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.an-panel .ah .al{font-size:12.5px;font-weight:600;color:var(--dark-ink-2)}
.an-panel .ah .av{font-size:12px;color:var(--dark-ink-3)}
.an-panel .big{font-size:26px;font-weight:700;color:#fff;letter-spacing:-0.02em;margin:2px 0}
.an-side{display:grid;gap:18px}
.heat{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.heat span{aspect-ratio:1;border-radius:3px}
.an-bars{display:flex;align-items:flex-end;gap:8px;height:120px;margin-top:10px}
.an-bars i{flex:1;border-radius:4px 4px 0 0;display:block}

/* history timeline */
.timeline{position:relative;padding-left:26px;max-width:720px}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:var(--line-2)}
.tl-item{position:relative;padding:14px 0}
.tl-item::before{content:"";position:absolute;left:-24px;top:20px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--red)}
.tl-item.old::before{border-color:var(--line-2)}
.tl-row{display:flex;align-items:center;gap:16px}
.tl-when{font-size:12.5px;font-weight:600;color:var(--red);width:96px;flex:none}
.tl-item.old .tl-when{color:var(--ink-3)}
.tl-name{font-size:15.5px;font-weight:600;letter-spacing:-0.015em}
.tl-tag{margin-left:auto;font-size:12px;color:var(--ink-3)}

/* data quality */
.dq{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:36px;box-shadow:var(--sh-sm)}
.dq-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dqs{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:600}
.dqs .di2{width:34px;height:34px;border-radius:9px;background:var(--red-soft);color:var(--red);display:grid;place-items:center;flex:none}
.ring{text-align:center;flex:none}
.ring .rw{position:relative;width:150px;height:150px}
.ring .rc{font-size:30px;font-weight:800;letter-spacing:-0.03em}
.ring .rl{font-size:12.5px;color:var(--ink-3);margin-top:4px}

/* licensing */
.lic-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.licc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh-sm)}
.licc .lh{font-size:13px;color:var(--ink-3);font-weight:600}
.licc .lv{font-size:16px;font-weight:700;letter-spacing:-0.015em;margin-top:8px;display:flex;align-items:center;gap:7px}
.licc .lv.ok{color:var(--green)} .licc .lv.warn{color:var(--bronze)} .licc .lv.av{color:var(--ink)}

/* related carousel */
.rel-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:16px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory}
.rel-scroll::-webkit-scrollbar{height:8px} .rel-scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:100px}
.relc{scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--sh-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.relc:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.relc .ri{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;margin-bottom:14px}
.relc .rcat{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3)}
.relc h4{font-size:16px;font-weight:700;letter-spacing:-0.02em;margin:4px 0 6px}
.relc p{font-size:13px;color:var(--ink-3);line-height:1.5;margin-bottom:14px}
.relc .rv{font-size:13px;font-weight:600;color:var(--red)}

/* reviews */
.reviews{text-align:center;background:#fff;border:1px dashed var(--line-2);border-radius:var(--r-lg);padding:48px 30px}
.reviews .stars{color:var(--bronze);font-size:22px;letter-spacing:3px}
.reviews .rmsg{font-size:16px;font-weight:600;margin-top:14px}
.reviews .rsub{font-size:14px;color:var(--ink-3);margin-top:6px}

/* faq */
.faq{max-width:820px;margin:0 auto}
.qitem{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:12px;box-shadow:var(--sh-sm);overflow:hidden}
.qhead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 24px;cursor:pointer;font-size:16px;font-weight:600;letter-spacing:-0.015em}
.qhead .qm{width:22px;height:22px;flex:none;position:relative;color:var(--red)}
.qhead .qm::before,.qhead .qm::after{content:"";position:absolute;background:currentColor;border-radius:2px;transition:transform .25s var(--ease)}
.qhead .qm::before{top:10px;left:3px;width:16px;height:2px}
.qhead .qm::after{top:3px;left:10px;width:2px;height:16px}
.qitem.open .qm::after{transform:scaleY(0)}
.qbody{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.qbody p{padding:0 24px 20px;font-size:15px;color:var(--ink-2);line-height:1.6}

/* final cta */
.fcta{text-align:center;background:linear-gradient(180deg,#15161B,#0F1013);border:1px solid var(--dark-line);border-radius:var(--r-xl);padding:72px 40px;position:relative;overflow:hidden}
.fcta::before{content:"";position:absolute;inset:0;background:radial-gradient(760px 300px at 50% 0%,rgba(166,64,59,.22),transparent 62%);pointer-events:none}
.fcta h2{position:relative;font-size:clamp(28px,3.6vw,44px);font-weight:800;letter-spacing:-0.04em;color:#fff;margin-bottom:16px}
.fcta p{position:relative;font-size:18px;color:var(--dark-ink-2);max-width:46ch;margin:0 auto 30px}
.fcta .acts{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media(max-width:1080px){
  .ov{grid-template-columns:1fr}
  .buy-card{position:static;order:-1}
  .incl-grid{grid-template-columns:repeat(3,1fr)}
  .an-grid{grid-template-columns:1fr}
  .dq{grid-template-columns:1fr;gap:28px}
  .ring{margin:0 auto}
  .lic-grid{grid-template-columns:1fr 1fr}
  .pad-y{padding-top:76px;padding-bottom:76px}
}
@media(max-width:600px){
  :root{--pad:20px}
  .incl-grid,.lic-grid,.dq-steps,.pv-kpis{grid-template-columns:1fr}
  .nav-cta .signin{display:none}
  .navlink{padding:9px 10px}
}

/* ---- rebuilt product page: data dictionary, trust, related ---- */
.dict{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-sm);overflow:hidden}
.dict-tbl{width:100%;border-collapse:collapse;font-size:14px}
.dict-tbl th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);padding:14px 20px;border-bottom:1px solid var(--line);background:var(--bg-grey)}
.dict-tbl td{padding:13px 20px;border-bottom:1px solid var(--line);color:var(--ink-1)}
.dict-tbl tr:last-child td{border-bottom:none}
.dict-tbl .ex{color:var(--ink-3)}
.ty{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--bg-grey);border:1px solid var(--line);color:var(--ink-2)}
.ty-number{background:var(--bronze-soft);border-color:transparent;color:var(--bronze)}
.ty-date{background:var(--red-soft);border-color:transparent;color:var(--red)}
.ty-decimal{background:var(--bronze-soft);border-color:transparent;color:var(--bronze)}

.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trustc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 20px 22px;box-shadow:var(--sh-sm)}
.trustc .th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);margin-bottom:8px}
.trustc .tv{font-size:19px;font-weight:800;letter-spacing:-0.02em;margin-bottom:8px}
.trustc .tv.ok{color:var(--green)}
.trustc .tp{font-size:13px;color:var(--ink-3);line-height:1.5}

.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel-grid .relc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--sh-sm);text-decoration:none;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}
.rel-grid .relc:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--line-2)}
.rel-grid .relc .rcat{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}
.rel-grid .relc h4{font-size:17px;font-weight:700;letter-spacing:-0.02em;margin:6px 0 6px}
.rel-grid .relc p{font-size:13px;color:var(--ink-3);line-height:1.5;flex:1;margin-bottom:14px}
.rel-grid .relc .rv{font-size:13.5px;font-weight:600;color:var(--red)}

@media(max-width:900px){.trust-grid{grid-template-columns:repeat(2,1fr)}.rel-grid{grid-template-columns:1fr}}
