/* Aegis case. Scoped styles preserve the shared site and other cases. */
.aegis-page { background:#f7f7f4; }
.ag-case { --ag-ink:#202321; --ag-muted:#676b65; --ag-gold:#eac072; color:var(--ag-ink); padding:18px 0 85px; }
.ag-case *, .ag-case *::before, .ag-case *::after { box-sizing:border-box; }
.ag-case .breadcrumb { flex-wrap:wrap; row-gap:8px; margin-bottom:26px; }
.ag-case .breadcrumb__link--current { color:#856023; }
.ag-case a { color:inherit; }
.ag-case p { font-size:17px; line-height:1.65; margin:0 0 20px; }
.ag-case h2 { font-size:clamp(34px,3.6vw,51px); line-height:1.1; letter-spacing:-.045em; font-weight:600; margin:0 0 24px; }
.ag-case h3 { font-size:23px; line-height:1.25; letter-spacing:-.025em; font-weight:600; margin:0 0 15px; }
.ag-case em { color:#8b672d; font-style:normal; }
.ag-case .ag-eyebrow { font-size:11px; line-height:1.5; font-weight:600; text-transform:uppercase; letter-spacing:.13em; margin:0 0 26px; }
.ag-skip { position:fixed; top:-100px; left:20px; padding:16px; z-index:9999; background:white; color:#202321; }
.ag-skip:focus { top:16px; }
.ag-case :is(a,button):focus-visible { outline:3px solid #b48b45; outline-offset:5px; }
.ag-hero { position:relative; display:grid; grid-template-columns:1.1fr 1fr; background:#08090a; border-radius:28px; overflow:hidden; color:#f8f8f2; }
.ag-hero-copy { padding:54px 0 46px 48px; position:relative; z-index:1; }
.ag-brand { display:flex; align-items:center; gap:12px; color:#eac072; }
.ag-brand span { width:7px; height:7px; border-radius:50%; background:#eac072; box-shadow:0 0 0 5px #eac07215; }
.ag-tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:37px; }
.ag-tags span { font-size:11px; border:1px solid #39342a; border-radius:99px; padding:7px 12px; color:#bbb8af; }
.ag-case .project-title { font-size:clamp(43px,4.8vw,66px); line-height:1.035; letter-spacing:-.055em; font-weight:600; margin:0 0 25px; color:#f7f6ef; }
.ag-hero em { color:var(--ag-gold); }
.ag-case .ag-lead { max-width:490px; font-size:17px; line-height:1.7; color:#b9bab5; margin:0 0 28px; }
.ag-button { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; padding:20px 25px; background:#eac072; color:#211c13!important; border:0; border-radius:99px; font-family:inherit; font-weight:500; font-size:14px; line-height:1.4; text-decoration:none; cursor:pointer; }
.ag-button span { font-size:22px; line-height:1; }
.ag-case .ag-proof-link { display:block; width:fit-content; color:#b8b6af; font-size:11px; line-height:1.6; text-decoration:none; margin-top:22px; }
.ag-proof-link span { margin-left:8px; color:var(--ag-gold); }
.ag-hero-art { position:relative; overflow:hidden; align-self:stretch; min-height:580px; }
.ag-hero-art img { position:absolute; width:auto; height:115%; max-width:none; right:-15px; top:-7.5%; clip-path:inset(0 0 0 51%); mask-image:linear-gradient(90deg,transparent 51%,#000 57%); }
.ag-hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#08090a 0%,transparent 15%); pointer-events:none; }
.ag-hero-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:20px; padding:20px 0; margin:0 48px; border-top:1px solid #ffffff20; font-size:11px; line-height:1.5; color:#9a9a91; }
.ag-metrics { display:grid; grid-template-columns:repeat(4,1fr); padding:37px 0 40px; border-bottom:1px solid #dcded6; }
.ag-metrics>div { padding:0 28px; }
.ag-metrics>div:first-child { padding-left:0; }
.ag-metrics>div+div { border-left:1px solid #dcded6; }
.ag-metrics strong { display:block; font-size:64px; font-weight:500; letter-spacing:-.055em; line-height:1.1; margin-bottom:13px; }
.ag-metrics small { font-size:18px; letter-spacing:-.02em; }
.ag-metrics p { font-size:13px; line-height:1.5; color:var(--ag-muted); margin:0; }
.ag-section { margin:95px 0; scroll-margin-top:30px; }
.ag-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:65px; margin-bottom:36px; }
.ag-section-head h2 { margin-bottom:0; }
.ag-section-head>p { max-width:410px; color:var(--ag-muted); margin:0; }
.ag-challenges { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.ag-challenges article { border-top:1px solid #dcded6; padding-top:22px; }
.ag-challenges article>span { display:block; font-size:12px; color:#86632f; margin-bottom:28px; }
.ag-challenges p { font-size:16px; color:var(--ag-muted); margin:0; }
.ag-route-demo { border-radius:24px; padding:35px 40px; border:1px solid #ddd7c8; background:#f0ede4; }
.ag-demo-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:25px; }
.ag-demo-heading .ag-eyebrow { margin:0; }
.ag-demo-label { font-size:11px; color:#726650; }
.ag-mode-buttons { display:flex; gap:6px; padding:5px; border:1px solid #d8d1c0; border-radius:99px; width:fit-content; margin-bottom:25px; }
.ag-mode-buttons button { background:transparent; color:#655e50; border:0; padding:12px 19px; font:inherit; font-size:13px; line-height:1.4; border-radius:99px; cursor:pointer; }
.ag-mode-buttons button[aria-pressed=true] { background:#242720; color:#f7f5eb; }
.ag-route-lines { padding:0 0 14px; }
.ag-route-row { display:grid; grid-template-columns:44px 190px 1fr 156px; gap:20px; align-items:center; padding:18px 0; }
.ag-service-icon { width:44px; height:44px; display:grid; place-items:center; border:1px solid #d7d0be; border-radius:13px; color:#8c6832; font-size:21px; }
.ag-route-row strong { display:block; font-size:15px; font-weight:500; margin-bottom:5px; }
.ag-route-row small { font-size:12px; color:#6d695f; }
.ag-route-line { height:1px; background:#c9c7bc; }
.ag-route-row:has(.is-vpn) .ag-route-line { background:#c29b54; }
.ag-route-destination { font-size:13px; text-align:center; border:1px solid #c4c9bc; border-radius:99px; padding:12px 16px; color:#525e45; background:#e5eadd; }
.ag-route-destination.is-vpn { background:#f4dfb6; border-color:#d7b87f; color:#6b4a19; }
.ag-case .ag-demo-note { margin:0; font-size:13px; line-height:1.6; color:#736a58; border-top:1px solid #d9d3c5; padding-top:20px; }
.ag-route-details { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin:32px 0 0; }
.ag-route-details h3 { font-size:18px; }
.ag-route-details p { font-size:15px; color:var(--ag-muted); margin:0; }
.ag-art { margin:32px 0 0; }
.ag-art>a { display:block; border-radius:24px; overflow:hidden; background:#090909; }
.ag-art img { width:100%; height:auto; display:block; }
.ag-art figcaption { display:flex; justify-content:space-between; gap:12px; margin:13px 2px 0; font-size:12px; line-height:1.5; color:#717569; }
.ag-feature-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; padding:24px 0; border-top:1px solid #dcded6; border-bottom:1px solid #dcded6; }
.ag-feature-strip span { font-size:13px; line-height:1.5; color:var(--ag-muted); }
.ag-feature-strip b { display:block; font-size:16px; font-weight:500; color:var(--ag-ink); margin-bottom:5px; }
.ag-journey { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); }
.ag-journey li { border-top:1px solid #c9b48b; padding:24px 16px 0 0; }
.ag-journey b { display:block; font-size:12px; font-weight:500; color:#8b672d; margin-bottom:24px; }
.ag-journey strong { display:block; font-size:19px; font-weight:500; margin-bottom:10px; }
.ag-journey span { font-size:13px; color:var(--ag-muted); }
.ag-engineering { background:#111610; color:#f3f1e8; border-radius:28px; padding:48px; }
.ag-engineering .ag-eyebrow { color:#d8bd80; }
.ag-engineering em { color:#eac072; }
.ag-engineering-head { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; }
.ag-open-badge { min-width:84px; text-align:center; border:1px solid #ad975c77; border-radius:50%; width:94px; height:94px; display:flex; flex-direction:column; justify-content:center; color:#e0cb96; font-size:10px; line-height:1.6; transform:rotate(8deg); }
.ag-open-badge strong { font-size:23px; font-weight:500; }
.ag-case .ag-engineering-lead { color:#b9c0b3; max-width:790px; font-size:18px; margin-bottom:38px; }
.ag-engineering-lead strong { font-weight:500; color:#ede5d2; }
.ag-stack { display:grid; grid-template-columns:1fr auto 1.3fr auto 1fr; gap:16px; align-items:center; margin-bottom:40px; }
.ag-stack>div { padding:23px 20px; border:1px solid #ffffff24; border-radius:16px; min-height:165px; }
.ag-stack>div>span { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:#a2ad9b; }
.ag-stack strong { display:block; font-size:24px; font-weight:500; margin:15px 0 12px; letter-spacing:-.03em; }
.ag-stack p { font-size:13px; line-height:1.5; margin:0; color:#a2ad9b; }
.ag-stack>div.ag-stack-own { background:#eac072; color:#241e13; border-color:#eac072; }
.ag-stack .ag-stack-own :is(p,span) { color:#66502c; }
.ag-stack-arrow { color:#d8bd80; }
.ag-recognition { border-top:1px solid #ffffff24; border-bottom:1px solid #ffffff24; padding:30px 0; display:flex; gap:30px; }
.ag-recognition-mark { color:#eac072; font-size:48px; }
.ag-recognition h3 { font-size:26px; }
.ag-recognition p { font-size:16px; color:#b9c0b3; max-width:760px; }
.ag-recognition a { font-size:13px; color:#edca83; text-underline-offset:5px; }
.ag-source-links { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:28px; }
.ag-source-links a { text-decoration:none; }
.ag-source-links span { display:block; font-size:11px; color:#a2ad9b; margin-bottom:12px; }
.ag-source-links strong { font-size:15px; font-weight:500; }
.ag-integration-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ag-integration-grid article { border:1px solid #dcded6; border-radius:18px; padding:28px; }
.ag-small-index { display:block; color:#8b672d; font-size:10px; letter-spacing:.12em; margin-bottom:23px; }
.ag-integration-grid p { font-size:16px; color:var(--ag-muted); margin:0; }
.ag-results { padding:45px; background:#ebe5d7; border-radius:28px; }
.ag-result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:36px; }
.ag-result-grid article { border-top:1px solid #cfc3ab; padding-top:25px; }
.ag-result-grid b { display:block; font-size:10px; font-weight:500; letter-spacing:.08em; color:#806338; margin-bottom:22px; }
.ag-result-grid h3 { font-size:22px; }
.ag-result-grid p { font-size:15px; color:#716757; margin:0; }
.ag-cta { margin-top:95px; border-top:1px solid #dcded6; padding-top:45px; display:grid; grid-template-columns:1.7fr 1fr; gap:60px; align-items:center; }
.ag-cta p:last-child { margin:0; color:var(--ag-muted); max-width:650px; }
.ag-cta-actions { display:flex; flex-direction:column; gap:25px; text-align:center; }
.ag-cta-actions>a { font-size:13px; text-decoration:none; }
@media(hover:hover) { .ag-button:hover { background:#f4d294; } .ag-proof-link:hover,.ag-source-links a:hover,.ag-recognition a:hover { color:#ffe0a5; } .ag-art>a:hover { outline:2px solid #bb995e; outline-offset:4px; } .ag-cta-actions>a:hover { color:#8b672d; } }
@media(max-width:1100px) {
 .ag-hero-copy { padding:42px 0 35px 32px; } .ag-hero-bottom { margin:0 32px; } .ag-hero-art img { right:-35px; } .ag-section-head { gap:35px; } .ag-section-head>p { max-width:350px; } .ag-metrics>div { padding:0 20px; } .ag-engineering { padding:35px; } .ag-stack { gap:10px; } .ag-stack>div { padding:20px 15px; } .ag-stack strong { font-size:22px; }
}
@media(max-width:800px) {
 .ag-hero { grid-template-columns:1fr; } .ag-hero-copy { padding:35px 30px 0; } .ag-case .project-title { font-size:clamp(42px,7vw,62px); } .ag-case .ag-lead { max-width:600px; } .ag-hero-art { min-height:0; height:440px; } .ag-hero-art img { right:calc(50% - 185px); height:115%; top:-7.5%; } .ag-hero-art::after { background:linear-gradient(180deg,#08090a,transparent 15%),linear-gradient(90deg,#08090a 0%,#08090a 8%,transparent 40%); } .ag-hero-bottom { margin:0 30px; }
 .ag-metrics { grid-template-columns:1fr 1fr; gap:30px 0; } .ag-metrics>div:nth-child(3) { padding-left:0; border-left:0; } .ag-metrics strong { font-size:54px; } .ag-section { margin:70px 0; } .ag-section-head { flex-direction:column; align-items:flex-start; gap:22px; } .ag-section-head>p { max-width:640px; } .ag-challenges { gap:20px; } .ag-challenges h3 { font-size:21px; } .ag-challenges p { font-size:14px; } .ag-route-demo { padding:28px; } .ag-route-row { grid-template-columns:40px 165px 1fr 140px; gap:12px; } .ag-route-details { gap:20px; } .ag-journey strong { font-size:17px; }
 .ag-stack { grid-template-columns:1fr; gap:12px; } .ag-stack>div { min-height:0; padding:22px; } .ag-stack-arrow { transform:rotate(90deg); justify-self:center; } .ag-stack strong { font-size:28px; } .ag-result-grid { grid-template-columns:1fr; } .ag-results { padding:35px; } .ag-cta { grid-template-columns:1fr; gap:30px; margin-top:65px; } .ag-cta-actions { max-width:360px; width:100%; }
}
@media(max-width:560px) {
 .ag-case { padding-top:8px; padding-bottom:45px; } .ag-case>.container { padding:0 16px; } .ag-case .breadcrumb { font-size:10px; margin-bottom:20px; } .ag-case h2 { font-size:34px; } .ag-case p { font-size:16px; } .ag-hero { border-radius:22px; } .ag-hero-copy { padding:30px 23px 0; } .ag-case .project-title { font-size:clamp(33px,8.7vw,46px); } .ag-case .ag-lead { font-size:15px; line-height:1.7; } .ag-tags { margin-bottom:28px; } .ag-case .ag-eyebrow { font-size:10px; } .ag-button { padding:18px 21px; font-size:12px; gap:15px; } .ag-hero-art { height:360px; margin-top:15px; } .ag-hero-art img { right:calc(50% - 150px); height:115%; top:-7.5%; } .ag-hero-art::after { background:linear-gradient(180deg,#08090a,transparent 12%); } .ag-hero-bottom { flex-direction:column; gap:6px; margin:0 23px; font-size:10px; } .ag-case .ag-proof-link { font-size:10px; } .ag-metrics { padding:30px 0; } .ag-metrics strong { font-size:47px; } .ag-metrics small { font-size:15px; } .ag-metrics p { font-size:11px; } .ag-metrics>div { padding:0 13px; }
 .ag-section { margin:60px 0; } .ag-challenges { grid-template-columns:1fr; gap:25px; } .ag-challenges article>span { margin-bottom:15px; } .ag-challenges p { font-size:16px; } .ag-section-head { margin-bottom:28px; } .ag-route-demo { padding:23px 18px; border-radius:18px; } .ag-demo-heading { flex-direction:column; align-items:flex-start; gap:5px; } .ag-mode-buttons { width:100%; flex-direction:column; border-radius:18px; } .ag-mode-buttons button { font-size:12px; padding:12px 9px; } .ag-route-row { grid-template-columns:28px 1fr auto; gap:10px; padding:16px 0; } .ag-service-icon { width:28px; height:32px; font-size:16px; border-radius:8px; } .ag-route-row strong { font-size:12px; } .ag-route-row small { font-size:9px; } .ag-route-line { display:none; } .ag-route-destination { font-size:10px; padding:9px 8px; } .ag-case .ag-demo-note { font-size:12px; } .ag-route-details { grid-template-columns:1fr; gap:24px; } .ag-route-details h3 { margin-bottom:8px; } .ag-route-details p { font-size:15px; } .ag-art>a { border-radius:15px; } .ag-art figcaption { font-size:11px; } .ag-feature-strip { grid-template-columns:1fr 1fr; gap:22px; } .ag-journey { grid-template-columns:1fr 1fr; gap:25px 0; } .ag-journey b { margin-bottom:15px; } .ag-journey strong { font-size:17px; } .ag-journey span { font-size:12px; }
 .ag-engineering { padding:28px 22px; border-radius:22px; } .ag-engineering-head { flex-direction:column-reverse; gap:24px; } .ag-open-badge { width:72px; height:72px; min-width:0; } .ag-engineering h2 { font-size:30px; } .ag-case .ag-engineering-lead { font-size:16px; } .ag-recognition { gap:12px; } .ag-recognition-mark { font-size:29px; } .ag-recognition h3 { font-size:23px; } .ag-recognition p { font-size:15px; } .ag-recognition a { font-size:12px; } .ag-source-links { grid-template-columns:1fr; gap:25px; } .ag-source-links strong { font-size:14px; } .ag-integration-grid { grid-template-columns:1fr; gap:16px; } .ag-integration-grid article { padding:24px; } .ag-integration-grid h3 { font-size:22px; } .ag-results { padding:30px 23px; border-radius:22px; } .ag-results h2 { font-size:30px; } .ag-result-grid p { font-size:15px; } .ag-cta { padding-top:35px; } .ag-cta h2 { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) { .ag-case *, .ag-case *::before, .ag-case *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
