@import './firewall.css';
:root{--primary:#c00000;--primary-hover:#e00000;--accent:#ed4444;--background:#0f131a;--ally-active:#c0000026;--ally-logo-surface:#ffffff;--ally-backdrop:#000000b3;--ally-shadow:0 24px 80px #00000066}
.allies-container{width:min(1392px,calc(100% - 64px));margin:auto}.ally-intro{padding:144px 0 42px;border-bottom:1px solid var(--line)}.ally-intro .eyebrow{margin-bottom:18px}.ally-intro h1{font-size:56px;margin-bottom:18px}.ally-intro .lead{max-width:850px;margin-bottom:0}.matrix-section{padding:32px 0 64px}.matrix-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.matrix-top h2{font-size:22px;margin:0}.matrix-top p{font-size:12px;color:var(--muted);margin:0}.brand-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.filter-chip{border:1px solid var(--input-line);border-radius:6px;background:transparent;color:var(--muted);padding:7px 13px;font-size:12px;cursor:pointer;min-height:36px}.filter-chip:hover,.filter-chip[aria-pressed=true]{color:var(--foreground);background:var(--ally-active);border-color:var(--primary)}.matrix-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:6px}.defense-matrix{display:grid;grid-template-columns:150px repeat(6,minmax(145px,1fr));min-width:1020px}.matrix-corner,.function-heading,.asset-heading,.matrix-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.matrix-corner{display:flex;align-items:center;padding:18px;font-size:11px;color:var(--muted);text-transform:uppercase;background:var(--surface-alt)}.function-heading{padding:18px 8px;text-align:center;background:var(--surface-alt);font-family:'Space Grotesk';font-size:15px}.function-heading svg{display:block;margin:0 auto 10px;width:22px;height:22px;color:var(--accent)}.asset-heading{display:flex;align-items:center;gap:10px;padding:18px 14px;background:var(--surface-alt);font-size:13px;font-weight:500;position:sticky;left:0;z-index:2}.asset-heading svg{width:20px;height:20px;color:var(--muted);flex-shrink:0}.matrix-cell{padding:12px 8px;min-height:112px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:7px;transition:opacity .18s,background .18s;position:relative}.matrix-cell.is-muted{opacity:.25}.matrix-cell.is-highlighted{background:var(--ally-active);box-shadow:inset 0 0 0 1px var(--primary)}.logo-button{width:80px;height:42px;display:inline-flex;align-items:center;justify-content:center;position:relative;padding:7px;border:1px solid var(--line);background:var(--surface);border-radius:4px;cursor:pointer;transition:transform .18s,background .18s;flex-shrink:0}.logo-button img{width:70px;max-height:28px;object-fit:contain;filter:grayscale(1) brightness(0) invert(.85)}.logo-button:hover,.logo-button:focus-visible{background:var(--ally-logo-surface);transform:translateY(-2px);z-index:4}.logo-button:hover img,.logo-button:focus-visible img{filter:none}.logo-button:after{content:attr(data-name);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);color:var(--foreground);background:var(--background);border:1px solid var(--line);padding:4px 9px;border-radius:4px;font-size:11px;white-space:nowrap;opacity:0;pointer-events:none}.logo-button:hover:after,.logo-button:focus-visible:after{opacity:1}.infrastructure{display:flex;align-items:center;gap:28px;padding:22px 20px;border:1px solid var(--line);border-top:0;background:var(--surface-alt);border-radius:0 0 6px 6px}.infrastructure h3{font-size:14px;margin:0}.infrastructure-logos{display:flex;gap:10px;flex-wrap:wrap}.infrastructure .logo-button{width:100px}.mobile-functions,.mobile-matrix{display:none}.ally-modal{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:36px;border:1px solid var(--input-line);border-radius:8px;background:var(--background);color:var(--foreground);box-shadow:var(--ally-shadow)}.ally-modal::backdrop{background:var(--ally-backdrop);backdrop-filter:blur(4px)}.modal-close{position:absolute;right:14px;top:14px;background:var(--surface);color:var(--foreground);border:1px solid var(--line);border-radius:4px;width:32px;height:32px;font-size:22px;cursor:pointer}.modal-logo{background:var(--ally-logo-surface);width:180px;height:80px;border-radius:4px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;padding:14px}.modal-logo img{max-height:52px;object-fit:contain}.ally-modal h2{font-size:28px;margin-bottom:12px}.ally-modal p{color:var(--muted);font-size:14px}.coverage-group{margin:20px 0}.coverage-group h3{font-size:12px;color:var(--muted);margin-bottom:10px}.coverage-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.coverage-list li{font-size:12px;border-left:2px solid var(--primary);padding:3px 10px;background:var(--surface)}.ally-modal .button{margin-top:10px}.allies-footer{padding-bottom:32px}
@media(min-width:768px) and (max-width:1150px){.allies-container{width:calc(100% - 40px)}}
@media(max-width:767px){.allies-container{width:calc(100% - 32px)}.ally-intro{padding:120px 0 30px}.ally-intro h1{font-size:36px;line-height:1.15}.matrix-section{padding:28px 0 42px}.matrix-top{align-items:flex-start;flex-direction:column;gap:5px}.matrix-top h2{font-size:20px}.brand-filters{gap:6px;margin-bottom:20px}.filter-chip{font-size:11px;padding:6px 10px}.matrix-scroll{display:none}.mobile-functions{display:flex;overflow:auto;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:8px}.function-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;padding:10px 12px;cursor:pointer;white-space:nowrap}.function-tab[aria-selected=true]{border-color:var(--primary);color:var(--foreground)}.mobile-matrix{display:block}.mobile-row{display:grid;grid-template-columns:108px 1fr;border-bottom:1px solid var(--line)}.mobile-row .asset-heading{padding:16px 8px;font-size:12px;position:static}.mobile-row .matrix-cell{min-height:88px;border-right:0;border-bottom:0;padding:12px 6px}.infrastructure{margin-top:18px;border-top:1px solid var(--line);padding:18px 14px;gap:15px;flex-wrap:wrap}.infrastructure h3{font-size:13px}.ally-modal{padding:32px 24px}.closing h2{max-width:480px;margin:0 auto 24px}.allies-footer{padding-bottom:32px}}
@media(max-width:767px){.mobile-row{grid-template-columns:108px minmax(0,1fr)}.mobile-row .asset-heading{flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;min-width:0;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.matrix-cell,.logo-button{transition:none}}