/* Shared rhythm for the two supplied interactive reference documents.
   Site chrome, hero and closing CTA are React components in marketing-layout.tsx. */
:root {
 --serif:"Source Serif 4",Georgia,serif;
 --sans:Geist,ui-sans-serif,system-ui,sans-serif;
 --page:min(1280px,calc(100vw - 160px));
 --navy:#1a3a6b; --grey-2:#858585; --muted:#858585;
 --hair:#e8e8e8; --line:#e8e8e8; --cream:#f7f6f5;
}
html { scroll-behavior:smooth; }
body { margin:0; padding:0; overflow-x:clip; font-family:var(--sans); }
.wrap { width:var(--page); max-width:none; padding:0; margin:0 auto; }
h2 { font-size:40px; line-height:48px; font-weight:600; letter-spacing:-.75px; text-wrap:initial; }
.k,.link,.btn,.who { letter-spacing:0; }
.btn { font-size:16px; font-weight:400; line-height:20px; min-height:56px; }
.btn.secondary { border-color:var(--line); }
.uc,.ext,.found { padding-top:140px; }
.uc { gap:64px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); scroll-margin-top:110px; }
.uc h2,.ext-h h2 { margin-top:24px; }
.uc .pain,.ext-h p { font-size:20px; line-height:28px; }
.pain b { font-weight:400; color:inherit; }
.uc .who { font-size:14px; line-height:20px; text-transform:none; color:var(--muted); }
.gets b { font-size:16px; line-height:22px; letter-spacing:0; }
.gets span { font-size:16px; line-height:24px; color:var(--muted); }
.plate,.card,.bw,.app,.doc { box-shadow:none; }
.plate { padding:56px 40px; }
.jump { margin-top:80px; }
.jump a { min-width:0; width:min(480px,50%); padding:24px 32px; }
.jump b { font-size:18px; letter-spacing:0; }
.jump span { font-size:14px; }
.ext-h { align-items:start; }
.ext-h p { padding-top:8px; }
.ext-grid { gap:64px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.ext-grid .gets { margin-top:0; }
.tl { margin-top:64px; }
.tl-track .lbl { font-size:11px; letter-spacing:0; }
.tl-node { min-width:165px; }
.fgrid { margin-top:64px; }
.fgrid b { font-size:16px; line-height:24px; letter-spacing:0; align-items:start; }
.fgrid b::before { margin-top:7px; }
.fgrid p { color:var(--muted); }
.product-tour .tour { margin-top:80px; }
.product-tour .tour>.vlines { display:none; }
.product-tour .plate { padding:64px 48px; }
.product-tour .app { grid-template-columns:220px minmax(0,1fr); }
.product-tour .report { padding-top:140px; gap:64px; }
.product-tour .rtitle { align-items:start; gap:24px 80px; }
.product-tour .rtitle h2 { font-size:40px; line-height:48px; letter-spacing:-.75px; margin:0; }
.product-tour .rtitle p { font-size:20px; line-height:28px; align-self:start; margin:0; padding-top:8px; }
.product-tour .panel { padding:64px; }
.product-tour .facts { margin-top:140px; }
.product-tour .cap { gap:40px; padding:28px; }
.product-tour .cap h3 { font-size:24px; line-height:32px; }
.product-tour .cap p { line-height:24px; }
.tour-tools { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 0; color:var(--grey-2); font-size:13px; }
.tour-tools button { border:1px solid var(--hair); background:white; padding:10px 14px; font:inherit; color:var(--navy); cursor:pointer; }
@media(max-width:1250px) {
 .uc,.ext-grid { gap:40px; }
 .plate { padding:40px 24px; }
 .dept,.coh { grid-template-columns:100px minmax(0,1fr) 80px; gap:8px; }
 .ch,.cbody { padding-inline:16px; }
 .product-tour .plate { padding:40px 24px; }
}
@media(max-width:1040px) { :root { --page:calc(100vw - 64px); } }
@media(max-width:1000px) {
 .uc,.ext-grid,.ext-h { grid-template-columns:1fr; }
 .uc.flip .copy { order:0; }
 .plate { padding:56px; }
 .product-tour .app { grid-template-columns:1fr; }
 .product-tour .side { display:none; }
 .product-tour .panel { padding:32px; }
 .tl { grid-template-columns:1fr; gap:20px; }
 .tl-node:last-child { text-align:left; }
 .tl-node:last-child b { justify-content:flex-start; }
 .tl-track { height:56px; }
}
@media(max-width:900px) {
 h2,.product-tour .rtitle h2 { font-size:34px; line-height:42px; }
 .uc,.ext,.found { padding-top:80px; }
 .uc .pain,.ext-h p,.product-tour .rtitle p { font-size:18px; line-height:26px; }
 .product-tour .report { padding-top:80px; gap:40px; }
 .product-tour .facts { margin-top:80px; }
 .product-tour .rtitle { grid-template-columns:1fr; gap:24px; }
 .product-tour .rtitle p { padding-top:0; grid-column:1; grid-row:auto; }
 .fgrid { margin-top:40px; }
}
@media(max-width:600px) {
 :root { --page:calc(100vw - 40px); }
 h2,.product-tour .rtitle h2 { font-size:30px; line-height:38px; }
 .jump { margin-top:64px; }
 .jump a { width:100%; padding:24px 20px; }
 .uc,.ext,.found { padding-top:64px; }
 .plate { padding:32px 16px; }
 .ch { gap:8px; }
 .ch .k { font-size:11px; letter-spacing:0; }
 .ch>span:last-child { font-size:11px; }
 .dept,.coh { grid-template-columns:86px minmax(0,1fr) 76px; gap:6px; font-size:12px; }
 .dept em,.coh em { font-size:11px; }
 .dept em b,.coh em b { font-size:13px; }
 .dept em small { margin-left:3px; }
 .legend { gap:12px; font-size:10px; }
 .legend i { width:8px; height:8px; margin-right:4px; }
 .row { gap:24px; margin-top:32px; }
 .row .btn { width:100%; }
 .tl { margin-top:40px; }
 .tl-node { min-width:0; }
 .tl-track .lbl { white-space:normal; }
 .ext-grid { margin-top:40px; }
 .bw-foot { gap:8px; }
 .bw-foot svg { width:100px; }
 .product-tour .tour { margin-top:64px; }
 .product-tour .plate { padding:24px 12px; margin-inline:-20px; }
 .product-tour .tab { padding:16px 12px; }
 .product-tour .tab b { font-size:12px; }
 .product-tour .tab .n { font-size:12px; }
 .product-tour .cap { padding:24px 20px; gap:12px; }
 .product-tour .cap h3 { font-size:22px; line-height:28px; }
 .product-tour .report { padding-top:64px; }
 .product-tour .panel { padding:20px 10px; margin-inline:-20px; }
 .product-tour .dscore { gap:16px; }
 .product-tour .dscore small { font-size:9px; }
 .product-tour .dhead { gap:24px; }
 .product-tour .dhead h3 { font-size:32px; }
 .product-tour .dsec { padding:24px 16px; }
 .product-tour .srow { grid-template-columns:100px minmax(0,1fr) 26px; gap:8px; }
 .product-tour .facts { margin-top:64px; }
 .product-tour .fact { padding:28px 20px; }
 .tour-tools { align-items:start; font-size:11px; }
 .tour-tools button { flex-shrink:0; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .fade,.m { opacity:1; transform:none; } .bars i { max-width:100%; } .tl-track .pulse { animation:none; } }

/* Contain first/last section margins so iframe height includes every card. */
body { display:flow-root; }

.card:not(.on) .dept em,.card:not(.on) .coh em { opacity:0; }
.card .dept em,.card .coh em { transition:opacity .8s ease; }
/* Tablet cards retain readable type and breathing room rather than squeezing columns. */
@media(min-width:601px) and (max-width:1000px) {
 .plate { padding:48px; }
 .card { max-width:560px; }
 .dept,.coh { grid-template-columns:130px minmax(0,1fr) 90px; gap:14px; font-size:14px; }
 .bw { max-width:600px; }
}
@media(max-width:600px) {
 .product-tour .metric b { font-size:26px; }
 .product-tour .vh h2 { font-size:24px; line-height:30px; }
 .product-tour .view { gap:24px; }
 .product-tour .dcard .t { align-items:start; }
 .product-tour .dcard .t b { font-size:14px; }
 .product-tour .dcard .t span { max-width:105px; text-align:right; line-height:18px; }
 .bw-body { height:380px; }
 .nudge { font-size:12px; }
}
.sort-candidates { display:flex; align-items:center; justify-content:flex-end; gap:12px; color:var(--grey-2); font-size:12px; }
.sort-candidates select { padding:9px 12px; border:1px solid var(--hair); background:white; color:var(--black); font:inherit; min-height:40px; }
.sample-evidence-link { margin-top:18px; padding:0; border:0; background:none; color:var(--navy); font:inherit; text-align:left; cursor:pointer; }
.legend button { padding:4px 0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.legend button[aria-pressed="false"] { opacity:.45; }
.dept[role="button"],.coh[role="button"] { padding-block:5px; cursor:pointer; }
.dept[aria-pressed="true"],.coh[aria-pressed="true"] { background:var(--cream); }
.dept[role="button"]:focus-visible,.coh[role="button"]:focus-visible { outline:2px solid var(--navy); outline-offset:3px; }
@media(max-width:600px) { .sort-candidates { justify-content:space-between; gap:8px; } }
/* Align each arrow to the full two-line audience card. */
.jump a { position:relative; padding-right:64px; }
.jump b em { position:absolute; right:32px; top:50%; transform:translateY(-50%); line-height:1; }
.tl-track .pulse { display:none; animation:none; }
@media(max-width:600px) { .jump a { padding-right:52px; } .jump b em { right:20px; } }
