/* AccessGuard extends the shared FraudGuard product-page design. */
.ag-page .hero-grid { grid-template-columns:1.1fr 1fr; gap:64px; padding-block:76px 62px; }
.ag-page .hero h1 { font-size:clamp(43px,4.3vw,61px); }
.ag-product-mark { width:28px; height:28px; color:var(--accent); flex-shrink:0; }
.ag-page .hero-lede { max-width:485px; }
.ag-page .hero-note { font-size:11px; }
.ag-page .hero-note>span { padding-inline:6px; color:#75919f; }
.ag-page .trust-strip { justify-content:flex-start; gap:72px; }
.ag-access-story { min-width:0; background:#102c40; border:1px solid #395568; border-radius:12px; box-shadow:0 30px 80px #03152144; overflow:hidden; }
.ag-access-story figcaption { display:flex; align-items:center; gap:9px; padding:18px 22px; font-size:12px; font-weight:600; color:#c9dbe4; border-bottom:1px solid #395568; }
.ag-access-story .example-tag { font-size:9px; }
.ag-scenarios { display:flex; gap:6px; border:1px solid #355365; background:#0b2436; border-radius:6px; padding:4px; margin:20px 23px 0; }
.ag-scenarios>button { flex:1; background:transparent; border:1px solid transparent; border-radius:4px; color:#a9c2d0; padding:9px 8px; min-height:39px; font-size:11px; font-weight:500; transition:color .15s,background .15s; }
.ag-scenarios>button:disabled { opacity:1; cursor:default; }
.ag-scenarios>button:not(:disabled):hover { color:#e8fff4; }
.ag-scenarios>button[aria-pressed="true"] { color:#b5f5d9; background:#19403f; border-color:#5b9d8040; }
.ag-scenarios>button[data-scenario="outside"][aria-pressed="true"] { color:#f4c4ad; background:#432f2c; border-color:#c0846d50; }
.ag-scenarios>button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.ag-story-body { padding:24px 23px 22px; }
.ag-request { display:flex; align-items:center; gap:12px; }
.ag-source-icon { width:34px; height:34px; color:#a5c6d5; flex-shrink:0; }
.ag-source-label { display:block; color:#9bb7c7; font-size:10px; }
.ag-request code { display:block; color:#e5eff6; font-size:13px; margin-top:3px; }
.ag-credential-tag { margin-left:auto; padding:3px 7px; color:#b9cdda; font-size:9px; white-space:nowrap; border:1px solid #405d6e; border-radius:3px; }
.ag-api-request { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:20px; border-block:1px solid #294b5d; padding:11px 0; font-size:10px; color:#94afbf; }
.ag-api-request code { font-size:10px; color:#c6dce7; overflow-wrap:anywhere; text-align:right; }
.ag-bridge { display:flex; justify-content:center; align-items:center; gap:10px; color:#a1bbca; font-size:10px; padding:15px 0; }
.ag-bridge>span { color:#76a7a7; font-size:20px; line-height:1; }
.ag-policy { background:#0b2536; border:1px solid #466677; border-radius:6px; padding:16px; }
.ag-policy-heading { display:flex; align-items:center; gap:9px; color:#dcebf2; padding-bottom:13px; border-bottom:1px solid #2e4b5c; }
.ag-policy-heading>svg { width:23px; height:23px; color:var(--accent); flex-shrink:0; }
.ag-policy-heading strong { font-size:13px; font-weight:600; }
.ag-policy-heading>span { font-size:9px; letter-spacing:.7px; margin-left:auto; color:#9db9c5; }
.ag-approved-range,.ag-source-match { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:10px; padding-top:12px; color:#93afbf; }
.ag-approved-range code { color:#cbe2ed; font-size:11px; }
.ag-source-match strong { font-size:10px; font-weight:500; color:#d5e6ef; text-align:right; }
.ag-outcome { display:flex; align-items:center; gap:13px; min-height:80px; border:1px solid #549c8566; border-radius:5px; background:#123b3e; padding:15px; margin-top:17px; }
.ag-outcome-symbol { display:grid; place-items:center; width:24px; height:24px; flex-shrink:0; border:1px solid #88d1b760; border-radius:50%; color:var(--accent); font-size:13px; line-height:1; }
.ag-outcome strong { display:block; font-size:12px; color:#dbf8eb; font-weight:600; }
.ag-outcome p { font-size:10px; line-height:1.7; color:#a4cac2; margin-top:4px; }
.ag-outcome[data-result="outside"] { background:#3b2a2b; border-color:#c0846d66; }
.ag-outcome[data-result="outside"] .ag-outcome-symbol { color:#f6c1a6; border-color:#c78d7060; }
.ag-outcome[data-result="outside"] strong { color:#f6d3c0; }
.ag-outcome[data-result="outside"] p { color:#d4b6aa; }
.ag-example-note { font-size:9px; color:#98b3c4; text-align:center; padding:12px 14px; border-top:1px solid #294557; }
.ag-benefits-section { background:var(--paper); border-bottom:1px solid var(--line); }
.ag-benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #b7cdd5; }
.ag-benefits-grid article { display:flex; flex-direction:column; padding:30px 32px 0; border-left:1px solid var(--line); }
.ag-benefits-grid article:first-child { padding-left:0; border:0; }
.ag-benefits-grid article:last-child { padding-right:0; }
.ag-use-icon { width:32px; height:32px; display:block; color:#2f7471; margin-bottom:21px; }
.ag-benefits-grid h3 { font-size:19px; }
.ag-benefits-grid p { font-size:14px; line-height:1.85; color:var(--muted); margin-block:14px 21px; }
.ag-use-detail { display:block; font-size:10px; font-weight:600; color:#416b75; margin-top:auto; }
.ag-workflow { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ag-workflow li { display:flex; flex-direction:column; padding-right:42px; }
.ag-workflow p { max-width:310px; }
.ag-workflow .step-detail { margin-top:auto; padding-top:21px; }
.ag-ownership { display:flex; align-items:center; gap:19px; margin-top:42px; padding:21px 25px; border:1px solid #d1e3de; border-radius:6px; background:#f1f7f4; }
.ag-ownership>svg { width:26px; height:26px; color:#387365; flex-shrink:0; }
.ag-ownership p { font-size:12px; line-height:1.85; color:var(--muted); }
.ag-ownership strong { color:#244c4c; font-weight:600; margin-right:5px; }
.ag-rollout-section { background:#eef4f4; }
.ag-rollout-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:90px; align-items:center; }
.ag-rollout-copy>p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.85; max-width:480px; margin-top:23px; }
.ag-rollout-copy>p.ag-rollout-note { font-size:13px; border-left:2px solid #94c7bd; padding-left:15px; margin-top:19px; }
.ag-rollout-copy .resource-links { gap:4px 24px; }
.ag-fit-panel { background:#fff; border:1px solid #cbdadb; border-radius:8px; padding:24px 28px 0; }
.ag-fit-eyebrow { font-size:10px; letter-spacing:1.1px; text-transform:uppercase; font-weight:600; color:#53767f; padding-bottom:2px; }
.ag-fit-item { display:flex; gap:18px; padding:22px 0; border-bottom:1px solid var(--line); }
.ag-fit-item>span { color:#65858e; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; line-height:23px; }
.ag-fit-item h3 { font-size:18px; line-height:1.4; }
.ag-fit-item p { color:var(--muted); font-size:13px; line-height:1.8; margin-top:8px; }
.ag-fit-foot { font-size:10px; line-height:1.8; color:#587381; padding-block:18px; }
.ag-faq-section { background:#fff; }
.ag-page .faq-list p a { text-decoration:underline; text-underline-offset:3px; color:var(--blue); }
.ag-page .closing-grid { grid-template-columns:1.4fr 1fr; gap:95px; }
.ag-access { border-left:1px solid #39576b; padding:10px 0 10px 43px; }
.ag-access h3 { font-size:23px; font-weight:600; margin-top:10px; line-height:1.4; }
.ag-access p { font-size:13px; color:#b7cddc; line-height:1.85; margin-top:17px; max-width:310px; }
.ag-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; }
.ag-access a:hover { text-decoration:underline; text-underline-offset:4px; }
.ag-access-note { display:block; color:#a8c1d0; font-size:10px; line-height:1.8; margin-top:10px; }
@media(min-width:1440px) { .ag-page .hero-grid { padding-block:85px 72px; } }
@media(max-width:1100px) {
    .ag-page .hero-grid { gap:40px; }
    .ag-page .trust-strip { gap:40px; }
    .ag-access-story figcaption { font-size:11px; padding-inline:20px; }
    .ag-scenarios { margin-inline:20px; }
    .ag-story-body { padding-inline:20px; }
    .ag-benefits-grid article { padding-inline:25px; }
    .ag-rollout-grid { gap:55px; }
    .ag-page .closing-grid { gap:60px; }
}
@media(max-width:900px) {
    .ag-page .hero-grid { grid-template-columns:1fr 1fr; gap:28px; padding-block:54px 42px; }
    .ag-page .hero h1 { font-size:42px; letter-spacing:-1.9px; }
    .ag-page .hero-eyebrow { font-size:9px; letter-spacing:.7px; gap:8px; }
    .ag-page .hero-note { font-size:10px; }
    .ag-page .hero-note>span { padding-inline:3px; }
    .ag-page .trust-strip { font-size:10px; gap:28px; }
    .ag-access-story figcaption { font-size:10px; padding:16px; gap:7px; }
    .ag-access-story .example-tag { font-size:7px; letter-spacing:.6px; }
    .ag-scenarios { margin:17px 16px 0; gap:3px; }
    .ag-scenarios>button { font-size:10px; padding-inline:6px; min-height:38px; }
    .ag-story-body { padding:21px 16px 18px; }
    .ag-request { gap:9px; }
    .ag-source-icon { width:29px; height:29px; }
    .ag-request code { font-size:11px; }
    .ag-source-label { font-size:9px; }
    .ag-credential-tag { font-size:8px; padding-inline:5px; }
    .ag-api-request { font-size:9px; gap:9px; }
    .ag-api-request code { font-size:9px; }
    .ag-bridge { font-size:9px; gap:8px; }
    .ag-policy { padding:14px 12px; }
    .ag-policy-heading strong { font-size:12px; }
    .ag-policy-heading>svg { width:21px; }
    .ag-approved-range,.ag-source-match { font-size:9px; gap:10px; }
    .ag-approved-range code { font-size:10px; }
    .ag-source-match strong { font-size:9px; }
    .ag-outcome { padding:13px 11px; gap:10px; min-height:84px; }
    .ag-outcome strong { font-size:11px; }
    .ag-outcome p { font-size:9px; }
    .ag-outcome-symbol { width:22px; height:22px; }
    .ag-example-note { font-size:8px; padding-inline:10px; }
    .ag-page .section-heading>p { font-size:12px; }
    .ag-benefits-grid article { padding-inline:20px; }
    .ag-benefits-grid h3 { font-size:18px; }
    .ag-benefits-grid p { font-size:13px; }
    .ag-workflow { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .ag-workflow li { padding-right:24px; }
    .ag-workflow p { font-size:13px; max-width:100%; }
    .ag-workflow-section .section-heading>.inline-link { font-size:12px; max-width:210px; }
    .ag-rollout-grid { gap:40px; }
    .ag-rollout-copy>p:not(.eyebrow) { font-size:14px; }
    .ag-rollout-copy .resource-links { gap:3px 18px; }
    .ag-rollout-copy .inline-link { font-size:12px; }
    .ag-fit-panel { padding-inline:20px; }
    .ag-fit-item { gap:13px; }
    .ag-fit-item h3 { font-size:17px; }
    .ag-fit-item p { font-size:12px; }
    .ag-page .closing-grid { gap:40px; }
    .ag-access { padding-left:30px; }
    .ag-access h3 { font-size:21px; }
}
@media(max-width:700px) {
    .ag-page .hero-grid { grid-template-columns:1fr; padding-block:42px 32px; gap:35px; }
    .ag-page .hero h1 { font-size:clamp(37px,9vw,59px); letter-spacing:-1.9px; }
    .ag-page .hero-eyebrow { font-size:10px; letter-spacing:.8px; gap:9px; margin-bottom:24px; }
    .ag-page .hero-lede { margin-top:22px; max-width:520px; }
    .ag-page .hero-note { font-size:10px; margin-top:16px; }
    .ag-page .trust-strip { gap:12px; font-size:12px; padding-block:22px 28px; }
    .ag-access-story { max-width:500px; width:100%; margin:auto; }
    .ag-access-story figcaption { font-size:11px; padding:17px 18px; gap:8px; }
    .ag-access-story .example-tag { font-size:8px; }
    .ag-scenarios { margin:18px 18px 0; gap:4px; }
    .ag-scenarios>button { font-size:11px; min-height:39px; }
    .ag-story-body { padding:23px 18px 20px; }
    .ag-source-icon { width:32px; height:32px; }
    .ag-source-label { font-size:10px; }
    .ag-request code { font-size:12px; }
    .ag-credential-tag { font-size:8px; }
    .ag-api-request { font-size:10px; }
    .ag-api-request code { font-size:10px; }
    .ag-bridge { font-size:10px; }
    .ag-policy { padding:15px 13px; }
    .ag-policy-heading strong { font-size:13px; }
    .ag-approved-range,.ag-source-match { font-size:10px; }
    .ag-approved-range code { font-size:11px; }
    .ag-source-match strong { font-size:10px; }
    .ag-outcome { gap:10px; min-height:85px; padding:14px 12px; }
    .ag-outcome strong { font-size:12px; }
    .ag-outcome p { font-size:10px; }
    .ag-example-note { font-size:8px; }
    .ag-page .section-heading>p { font-size:14px; margin-top:20px; }
    .ag-benefits-grid { grid-template-columns:1fr; }
    .ag-benefits-grid article,.ag-benefits-grid article:first-child,.ag-benefits-grid article:last-child { border:0; border-bottom:1px solid var(--line); padding:28px 0; }
    .ag-benefits-grid article:last-child { padding-bottom:0; border:0; }
    .ag-benefits-grid h3 { font-size:20px; }
    .ag-benefits-grid p { font-size:14px; margin-block:14px 18px; }
    .ag-use-icon { margin-bottom:18px; }
    .ag-use-detail { font-size:11px; }
    .ag-workflow { grid-template-columns:1fr; }
    .ag-workflow p { font-size:14px; }
    .ag-workflow-section .section-heading>.inline-link { max-width:100%; margin-top:19px; }
    .ag-ownership { align-items:flex-start; padding:21px; gap:15px; margin-top:31px; }
    .ag-ownership strong { display:block; margin:0 0 4px; }
    .ag-rollout-grid { grid-template-columns:1fr; gap:31px; }
    .ag-rollout-copy>p:not(.eyebrow) { margin-top:20px; max-width:520px; }
    .ag-fit-panel { padding-inline:23px; }
    .ag-fit-item { gap:17px; }
    .ag-fit-item h3 { font-size:18px; }
    .ag-fit-item p { font-size:13px; }
    .ag-page .closing-grid { grid-template-columns:1fr; gap:36px; }
    .ag-access { border:0; border-top:1px solid #39576b; padding:28px 0 0; }
    .ag-access h3 { font-size:23px; }
}
@media(max-width:375px) {
    .ag-page .hero h1 { font-size:33px; letter-spacing:-1.6px; }
    .ag-page .hero-eyebrow { font-size:9px; gap:8px; letter-spacing:.5px; }
    .ag-page .hero-note { font-size:9px; }
    .ag-access-story figcaption { font-size:10px; padding-inline:14px; gap:6px; }
    .ag-access-story .example-tag { font-size:7px; }
    .ag-scenarios { margin-inline:14px; }
    .ag-scenarios>button { font-size:10px; }
    .ag-story-body { padding-inline:14px; }
    .ag-request { gap:8px; }
    .ag-source-icon { width:27px; }
    .ag-request code { font-size:11px; }
    .ag-credential-tag { font-size:7px; }
    .ag-api-request,.ag-api-request code { font-size:9px; }
    .ag-bridge { font-size:9px; }
    .ag-policy-heading strong { font-size:12px; }
    .ag-approved-range,.ag-source-match,.ag-source-match strong { font-size:9px; }
    .ag-approved-range code { font-size:10px; }
    .ag-outcome { padding-inline:10px; }
    .ag-outcome strong { font-size:11px; }
    .ag-outcome p { font-size:9px; }
    .ag-example-note { font-size:7px; }
}
@media(prefers-reduced-motion:reduce) { .ag-scenarios>button { transition:none; } }
