/* Attack Stream extends the shared FraudGuard product-page design. */
.as-page [hidden] { display:none!important; }
.as-page .hero-grid { grid-template-columns:1.1fr 1fr; gap:64px; padding-block:76px 62px; }
.as-page .hero h1 { font-size:clamp(43px,4.3vw,61px); }
.as-product-mark { width:28px; height:28px; color:var(--accent); flex-shrink:0; }
.as-page .hero-lede { max-width:505px; }
.as-page .hero-note { display:flex; align-items:center; flex-wrap:wrap; gap:7px; font-size:11px; }
.as-availability-dot { width:5px; height:5px; background:var(--accent); border-radius:50%; }
.as-note-divider { color:#688899; margin-inline:3px; }
.as-page .trust-strip { justify-content:flex-start; gap:72px; }
.as-observations { min-width:0; background:#102c40; border:1px solid #395568; border-radius:12px; box-shadow:0 30px 80px #03152144; overflow:hidden; }
.as-observations figcaption { display:flex; align-items:center; gap:10px; padding:18px 22px; font-size:12px; font-weight:600; color:#c9dbe4; border-bottom:1px solid #395568; }
.as-observations .example-tag { font-size:9px; }
.as-event-list { padding:10px 12px; }
.as-event { width:100%; display:grid; grid-template-columns:57px minmax(0,1fr) auto; gap:15px; align-items:center; border:1px solid transparent; border-left:2px solid transparent; background:transparent; border-radius:5px; color:#e3edf3; text-align:left; padding:13px 12px; min-height:67px; transition:background .15s,border-color .15s; }
.as-event:disabled { cursor:default; opacity:1; }
.as-event:not(:disabled):hover { background:#ffffff06; }
.as-event[aria-pressed="true"] { background:#92ebca0a; border-color:#557f7b66; border-left-color:var(--accent); }
.as-event[aria-pressed="true"]:hover { background:#92ebca12; }
.as-event:focus-visible { outline:2px solid var(--accent); outline-offset:0; }
.as-event-time { font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; color:#94aebb; }
.as-event-name { font-size:13px; font-weight:500; line-height:1.5; }
.as-event-name>span { display:block; font-size:10px; font-weight:400; color:#9bb5c5; margin-top:3px; }
.as-service { font-size:9px; border:1px solid #3b5b6b; padding:2px 6px; border-radius:3px; color:#b6cbd6; }
.as-event[aria-pressed="true"] .as-service { color:#b7f4db; border-color:#589c8666; background:#92ebca07; }
.as-event-detail { margin:0 23px 20px; padding:16px 17px 14px; background:#0a2233; border:1px solid #365663; border-radius:6px; min-height:188px; display:flex; flex-direction:column; }
.as-detail-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#a0bdcb; font-size:9px; text-transform:uppercase; letter-spacing:1px; }
.as-detail-heading>span:last-child { color:#91baaf; font-size:8px; }
.as-event-fields { margin:17px 0 15px; display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.as-event-fields dt { color:#91acbc; font-size:10px; }
.as-event-fields dd { margin:3px 0 0; font-size:12px; color:#e2eef5; }
.as-event-fields code { font-size:12px; }
.as-request { display:flex; gap:15px; align-items:center; border:1px solid #294b5e; border-radius:4px; background:#133044; padding:7px 11px; font-size:11px; }
.as-request>span { color:var(--accent); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; }
.as-request code { color:#e0f0f6; overflow-wrap:anywhere; }
.as-type-row { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-top:12px; margin-top:auto; font-size:9px; color:#91acbc; }
.as-type-row code { font-size:10px; color:#b7d3df; overflow-wrap:anywhere; text-align:right; }
.as-example-note { color:#98b3c4; text-align:center; font-size:9px; padding:12px 16px; border-top:1px solid #294557; }
.as-evidence-section { background:var(--paper); border-bottom:1px solid var(--line); }
.as-evidence-grid,.as-delivery-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.as-evidence-copy>p:not(.eyebrow),.as-delivery-copy>p:not(.eyebrow) { font-size:16px; color:var(--muted); line-height:1.85; margin-top:23px; max-width:485px; }
.as-evidence-copy>.inline-link,.as-delivery-copy>.inline-link { margin-top:19px; }
.as-signal-list { margin:0; }
.as-signal-list>div { padding:23px 0; border-bottom:1px solid #d0dfe0; }
.as-signal-list>div:first-child { border-top:1px solid #d0dfe0; }
.as-signal-list dt { display:flex; gap:19px; align-items:center; font-family:var(--heading); font-weight:700; font-size:17px; }
.as-signal-number { color:#4d7d83; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; font-weight:400; }
.as-signal-list dd { margin:9px 0 0 34px; font-size:13px; line-height:1.8; color:var(--muted); max-width:345px; }
.as-use-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #b7cdd5; }
.as-use-grid article { display:flex; flex-direction:column; padding:30px 32px 0; border-left:1px solid var(--line); }
.as-use-grid article:first-child { padding-left:0; border:0; }
.as-use-grid article:last-child { padding-right:0; }
.as-use-icon { width:32px; height:32px; display:block; color:#2f7471; margin-bottom:21px; }
.as-use-grid h3 { font-size:19px; }
.as-use-grid p { font-size:14px; line-height:1.85; color:var(--muted); margin-block:14px 21px; }
.as-use-detail { display:block; font-size:10px; font-weight:600; color:#416b75; margin-top:auto; }
.as-delivery-section { background:#eef4f4; }
.as-delivery-copy>p.as-delivery-note { font-size:13px; border-left:2px solid #94c7bd; padding-left:15px; margin-top:19px; }
.as-pipeline { background:#fff; border:1px solid #cbdadb; border-radius:9px; padding:23px 27px 0; }
.as-pipeline figcaption { display:flex; gap:14px; justify-content:space-between; align-items:center; font-size:11px; font-weight:600; padding-bottom:25px; }
.as-pipeline .default-badge { white-space:nowrap; }
.as-pipeline-source,.as-pipeline-destination { display:flex; align-items:center; gap:16px; padding:16px 18px; border:1px solid #dbe5e6; border-radius:5px; }
.as-pipeline-symbol { color:#65858e; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:10px; }
.as-pipeline strong { display:block; font-weight:600; font-size:13px; }
.as-pipeline div>div>span { display:block; font-size:11px; color:#5b7580; margin-top:4px; }
.as-pipeline-arrow { text-align:center; color:#7b9b9e; font-size:22px; height:33px; line-height:31px; }
.as-pipeline-api { display:flex; align-items:center; gap:16px; border:1px solid #a1cbbd; border-radius:5px; background:#edf8f2; padding:17px 18px; }
.as-pipeline-api strong { color:#175c48; }
.as-pipeline-api .as-pipeline-symbol { color:#387963; }
.as-format { margin-left:auto; font-size:9px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; line-height:1.8; color:#376e5d; }
.as-pipeline-note { font-size:10px; color:#587381; text-align:center; padding-block:19px; }
.as-faq-section { background:#fff; }
.as-page .faq-list p a { text-decoration:underline; text-underline-offset:3px; color:var(--blue); }
.as-page .closing-grid { grid-template-columns:1.4fr 1fr; gap:100px; }
.as-access { border-left:1px solid #39576b; padding:10px 0 10px 43px; }
.as-access h3 { font-size:28px; font-weight:600; margin-top:10px; }
.as-access p { font-size:13px; color:#b7cddc; line-height:1.85; margin-top:17px; }
.as-access a { display:inline-flex; align-items:center; gap:18px; color:var(--accent); font-size:13px; font-weight:500; padding-block:8px; margin-top:18px; }
.as-access a:hover { text-decoration:underline; text-underline-offset:4px; }
.as-access-note { display:block; color:#a8c1d0; font-size:10px; margin-top:10px; }
@media(min-width:1440px) { .as-page .hero-grid { padding-block:85px 72px; } }
@media(max-width:1100px) {
    .as-page .hero-grid { gap:40px; }
    .as-page .trust-strip { gap:38px; }
    .as-event { gap:10px; padding-inline:9px; }
    .as-event-name { font-size:12px; }
    .as-observations figcaption { padding-inline:20px; font-size:11px; }
    .as-event-detail { margin-inline:20px; padding-inline:14px; }
    .as-evidence-grid,.as-delivery-grid { gap:60px; }
    .as-use-grid article { padding-inline:25px; }
    .as-page .closing-grid { gap:65px; }
}
@media(max-width:900px) {
    .as-page .hero-grid { grid-template-columns:1fr 1fr; gap:27px; padding-block:54px 42px; }
    .as-page .hero h1 { font-size:42px; letter-spacing:-1.9px; }
    .as-page .hero-eyebrow { font-size:8px; letter-spacing:.8px; gap:7px; }
    .as-page .hero-note { font-size:10px; gap:6px; }
    .as-page .trust-strip { font-size:10px; gap:25px; }
    .as-observations figcaption { padding:16px; font-size:10px; gap:7px; }
    .as-observations .example-tag { font-size:8px; letter-spacing:.5px; }
    .as-event-list { padding:9px; }
    .as-event { grid-template-columns:48px minmax(0,1fr) auto; gap:8px; padding-inline:8px; }
    .as-event-name { font-size:11px; }
    .as-event-name>span { font-size:9px; }
    .as-event-time { font-size:9px; }
    .as-service { font-size:8px; padding-inline:4px; }
    .as-event-detail { margin:0 17px 17px; padding-inline:12px; }
    .as-event-fields { gap:10px; }
    .as-event-fields dd,.as-event-fields code { font-size:11px; }
    .as-type-row { gap:7px; }
    .as-type-row code { font-size:9px; }
    .as-example-note { font-size:8px; padding-inline:10px; }
    .as-evidence-grid,.as-delivery-grid { gap:40px; }
    .as-evidence-copy>p:not(.eyebrow),.as-delivery-copy>p:not(.eyebrow) { font-size:14px; }
    .as-page .section-heading>p { font-size:12px; max-width:245px; }
    .as-use-grid article { padding-inline:20px; }
    .as-use-grid h3 { font-size:18px; }
    .as-use-grid p { font-size:13px; }
    .as-pipeline { padding:20px 19px 0; }
    .as-pipeline figcaption { font-size:10px; gap:8px; }
    .as-pipeline-source,.as-pipeline-destination,.as-pipeline-api { padding:15px 12px; gap:12px; }
    .as-pipeline strong { font-size:12px; }
    .as-pipeline div>div>span { font-size:10px; }
    .as-page .closing-grid { gap:40px; }
    .as-access { padding-left:30px; }
}
@media(max-width:700px) {
    .as-page .hero-grid { grid-template-columns:1fr; padding-block:42px 32px; gap:35px; }
    .as-page .hero h1 { font-size:clamp(37px,9vw,59px); letter-spacing:-1.9px; }
    .as-page .hero-eyebrow { font-size:9px; letter-spacing:.9px; gap:9px; margin-bottom:24px; }
    .as-page .hero-lede { margin-top:22px; max-width:520px; }
    .as-page .hero-note { font-size:10px; margin-top:16px; column-gap:6px; }
    .as-page .trust-strip { gap:12px; font-size:12px; padding-block:22px 28px; }
    .as-observations { max-width:500px; width:100%; margin:auto; }
    .as-observations figcaption { padding:17px 18px; gap:8px; font-size:11px; }
    .as-observations .example-tag { font-size:8px; letter-spacing:.8px; }
    .as-event-list { padding:10px; }
    .as-event { grid-template-columns:49px minmax(0,1fr) auto; gap:10px; padding:13px 8px; }
    .as-event-name { font-size:12px; }
    .as-event-name>span { font-size:10px; }
    .as-event-time { font-size:9px; }
    .as-service { font-size:9px; }
    .as-event-detail { margin-inline:18px; padding:16px 14px 14px; }
    .as-event-fields dd,.as-event-fields code { font-size:12px; }
    .as-type-row code { font-size:10px; }
    .as-example-note { font-size:8px; }
    .as-evidence-grid,.as-delivery-grid { grid-template-columns:1fr; gap:31px; }
    .as-evidence-copy>p:not(.eyebrow),.as-delivery-copy>p:not(.eyebrow) { margin-top:20px; max-width:520px; }
    .as-signal-list>div { padding:21px 0; }
    .as-signal-list dd { max-width:440px; }
    .as-page .section-heading>p { max-width:100%; font-size:14px; margin-top:20px; }
    .as-use-grid { grid-template-columns:1fr; }
    .as-use-grid article,.as-use-grid article:first-child,.as-use-grid article:last-child { border:0; border-bottom:1px solid var(--line); padding:28px 0; }
    .as-use-grid article:last-child { padding-bottom:0; border:0; }
    .as-use-grid h3 { font-size:20px; }
    .as-use-grid p { font-size:14px; margin-block:14px 18px; }
    .as-use-icon { margin-bottom:18px; }
    .as-use-detail { font-size:11px; }
    .as-pipeline { padding:22px 22px 0; }
    .as-pipeline figcaption { font-size:11px; }
    .as-pipeline strong { font-size:13px; }
    .as-pipeline-source,.as-pipeline-destination,.as-pipeline-api { padding:16px 14px; gap:13px; }
    .as-pipeline div>div>span { font-size:10px; }
    .as-page .closing-grid { grid-template-columns:1fr; gap:36px; }
    .as-access { border:0; border-top:1px solid #39576b; padding:28px 0 0; }
}
@media(max-width:375px) {
    .as-page .hero h1 { font-size:33px; letter-spacing:-1.6px; }
    .as-page .hero-eyebrow { font-size:8px; gap:7px; letter-spacing:.6px; }
    .as-page .hero-note { font-size:9px; }
    .as-page .hero-note .as-note-divider { margin-inline:0; }
    .as-observations figcaption { font-size:10px; padding-inline:14px; }
    .as-observations .example-tag { font-size:7px; }
    .as-event { grid-template-columns:45px minmax(0,1fr) auto; gap:7px; padding-inline:6px; }
    .as-event-name { font-size:11px; }
    .as-event-name>span { font-size:9px; }
    .as-event-time,.as-service { font-size:8px; }
    .as-event-detail { margin-inline:14px; padding-inline:12px; }
    .as-event-fields dd,.as-event-fields code { font-size:11px; }
    .as-type-row code { font-size:9px; }
    .as-example-note { font-size:7px; }
    .as-pipeline { padding-inline:16px; }
    .as-pipeline figcaption { font-size:10px; }
    .as-pipeline-source,.as-pipeline-destination,.as-pipeline-api { padding-inline:11px; gap:10px; }
    .as-pipeline strong { font-size:12px; }
    .as-pipeline div>div>span { font-size:9px; }
}
