/* GENERATED — do not hand-edit. Page CSS scoped under .fo-scope from
 * tools/acf-gen/src/content/services/ai-security.php ($head_css). Regenerate: npm run assets:fo */
.fo-scope .page-hero { cursor: crosshair; }
.fo-scope .hero-sq { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none; will-change: transform;
    box-shadow: 0 0 10px 0 rgba(0,0,0,.12); animation: hero-sq-pop .22s ease-out; }
@keyframes hero-sq-pop { from { opacity: 0; } to { opacity: 1; } }
.fo-scope .hero-hint { position: absolute; z-index: 3; right: clamp(20px, 5vw, 64px); bottom: clamp(20px, 4vh, 40px);
    display: flex; align-items: center; gap: 9px; font-family: var(--type-family-mono); font-size: 12px;
    letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-dim); transition: color .25s ease; }
.fo-scope .hero-hint__sq { width: 10px; height: 10px; flex-shrink: 0; border: 1.5px solid var(--accent-lead); background: transparent;
    animation: hero-hint-pulse 2.6s ease-in-out infinite; }
@keyframes hero-hint-pulse { 0%, 100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.4); opacity: 1; } }
.fo-scope .page-hero:hover .hero-hint { color: var(--color-text-muted); }
@media (prefers-reduced-motion: reduce) {
.fo-scope .hero-hint__sq { animation: none; }
}
@media (max-width: 640px) {
.fo-scope .hero-hint { display: none; }
}
.fo-scope .card { transition: transform .2s ease, filter .3s ease, background-color .2s ease; }
.fo-scope .card:hover { filter: drop-shadow(0 8px 26px rgba(124,126,238,.26)); --edge: var(--accent-lead); }
.fo-scope .mcard:hover { filter: none; transform: none; --edge: var(--color-accent-6); }
.fo-scope .grid-3 .card { transition: none; }
.fo-scope .grid-3 .card:hover { filter: none; transform: none; --edge: var(--color-border-subtle); }
@media (prefers-reduced-motion: reduce) {
.fo-scope .card { transition: none; }
}
.fo-scope .xsplit__scroll,
.fo-scope .xsplit__stick { position: static; height: auto; }
.fo-scope .xsplit__stage { margin-inline: min(9.2vw, var(--content-inset)); }
.fo-scope .xsplit__row { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; margin-top: var(--space-8); }
.fo-scope .xsplit__head { margin: 0; width: max-content; max-width: 100%; font-family: var(--type-family-display); font-weight: 400;
    text-transform: uppercase; font-size: clamp(1.45rem, 2.2vw, 2.2rem); line-height: 1.08; letter-spacing: -.01em;
    color: var(--color-text-strong); text-align: center; will-change: transform; }
.fo-scope .xsplit__head--l { justify-self: start; }
.fo-scope .xsplit__head--r { justify-self: end; }
.fo-scope .xsplit__copy { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(35ch, 43vw);
    text-align: center; margin: 0; color: var(--color-text-muted); font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.6;
    transition: opacity .4s ease; }
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
.fo-scope .xsplit { padding-block: var(--space-16); }
.fo-scope .xsplit__scroll { position: relative; height: auto; }
.fo-scope .xsplit__stick { position: static; height: auto; display: grid; align-content: center; }
.fo-scope .xsplit__eyebrow { margin-bottom: var(--space-8); }
}
@media (max-width: 1024px) {
.fo-scope .xsplit__row { grid-template-columns: 1fr; text-align: center; gap: var(--space-4); }
.fo-scope .xsplit__head,
.fo-scope .xsplit__head--r { justify-self: center; }
.fo-scope .xsplit__copy { position: static; transform: none; width: auto; margin: var(--space-6) auto 0; }
}
.fo-scope #ai-compare .compare__col--accent { transition: background-color .45s ease, box-shadow .45s ease; }
.fo-scope #ai-compare .compare__col--accent h3 { transition: color .45s ease; }
.fo-scope #ai-compare.is-lit .compare__col--accent {
    background: color-mix(in srgb, var(--accent-lead) 9%, var(--color-surface-2));
    box-shadow: inset 0 0 0 1.5px var(--color-border-accent), 0 0 60px -6px color-mix(in srgb, var(--accent-lead) 55%, transparent); }
.fo-scope #ai-compare.is-lit .compare__col--accent h3 { color: var(--color-text-accent); }
@media (prefers-reduced-motion: reduce) {
.fo-scope #ai-compare .compare__col--accent,
.fo-scope #ai-compare .compare__col--accent h3 { transition: none; }
}
.fo-scope #whatwetest-scroll { scroll-margin-top: 90px; }
.fo-scope .method-h__scroll { margin-top: var(--space-12); overflow: visible;
    padding: var(--space-2) var(--content-inset) var(--space-6); }
.fo-scope .method-h__track { display: flex; flex-wrap: wrap; gap: var(--space-6); }
.fo-scope .mcard { flex: 0 0 calc((100% - 3 * var(--space-6)) / 4);
    justify-content: flex-start; transition: opacity .35s ease, transform .3s ease, filter .3s ease;
    --fill: var(--color-surface-1); --edge: var(--color-accent-6); --stroke: 1px; }
.fo-scope .mcard__top,
.fo-scope .mcard__foot { opacity: 1; }
.fo-scope .mcard__num { font-family: var(--type-family-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--color-accent-6); }
.fo-scope .mcard__top h3 { margin: var(--space-4) 0 0; }
.fo-scope .mcard__foot { margin-top: var(--space-6); }
.fo-scope .mcard__foot p { margin: 0; color: var(--color-text-strong); line-height: 1.55; }
@media (prefers-reduced-motion: reduce) {
.fo-scope .mcard { transition: none; }
}
@media (min-width: 768px) and (max-width: 1024px) {
.fo-scope .mcard { flex: 0 0 calc((100% - var(--space-6)) / 2); }
}
@media (max-width: 767px) {
.fo-scope .method-h__scroll { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
      scroll-behavior: smooth; scroll-padding-inline: var(--content-inset);
      scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.fo-scope .method-h__scroll::-webkit-scrollbar { display: none; }
.fo-scope .method-h__track { flex-wrap: nowrap; width: max-content; }
.fo-scope .mcard { flex: 0 0 78vw; scroll-snap-align: start; }
}
.fo-scope .method-h__nav { display: none; gap: var(--space-3); margin-top: var(--space-6);
    padding-inline: var(--content-inset); }
.fo-scope .method-h__arrow { display: inline-flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; border-radius: 999px; background: none; padding: 0;
    border: 1px solid var(--color-border-subtle); color: var(--color-text-strong);
    cursor: pointer; transition: border-color .2s ease, color .2s ease, opacity .2s ease; }
.fo-scope .method-h__arrow:hover:not(:disabled) { border-color: var(--color-border-accent); color: var(--color-text-accent); }
.fo-scope .method-h__arrow:disabled { opacity: .3; cursor: default; }
.fo-scope .method-h__arrow svg { width: 17px; height: 17px; display: block; }
@media (max-width: 767px) {
.fo-scope .method-h__nav { display: flex; justify-content: center; padding-inline: var(--gutter); }
}
@media (prefers-reduced-motion: reduce) {
.fo-scope .method-h__scroll { scroll-behavior: auto; }
}
.fo-scope .fw-grid--6 { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 900px) {
.fo-scope .fw-grid--6 { grid-template-columns: repeat(3, 1fr); }
}
.fo-scope .frame-glow { position: relative; isolation: isolate; }
.fo-scope .frame-glow::before { content: ""; position: absolute; inset: -5px; z-index: -1; pointer-events: none;
    background: var(--grad-brand); filter: blur(32px); opacity: .3; }
.fo-scope .tier-split { display: block; }
.fo-scope .aiuc-deck__num { font-family: var(--type-family-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-dim); }
.fo-scope .aiuc-num { font-family: var(--type-family-mono); font-weight: 600; font-variant-numeric: tabular-nums;
    font-size: clamp(2.4rem, 4.4vw, 3.4rem); line-height: 1; letter-spacing: -.02em; color: var(--color-text-strong); display: block; margin: var(--space-3) 0 var(--space-4); }
.fo-scope .stackcard p { margin: 0; color: var(--color-text-muted); max-width: 46ch; }
.fo-scope .stackdeck { display: flex; flex-direction: column; gap: var(--space-6); margin-top: var(--space-12); }
.fo-scope .tier-pin__scroll,
.fo-scope .tier-pin__stick { position: static; height: auto; }
@media (min-width: 900px) {
.fo-scope .tier-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 6vw, 96px); align-items: start; }
.fo-scope .tier-split__head { position: sticky; top: 116px; }
.fo-scope .tier-split__head .lead-head { max-width: 20ch; }
}
.fo-scope .cta-blade { overflow: hidden; padding-top: clamp(64px, 9vh, 120px); padding-bottom: clamp(130px, 20vh, 240px); }
.fo-scope .cta-blade::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 50%; z-index: 0; pointer-events: none;
    background:
      radial-gradient(72% 100% at 14% 118%, rgba(255,117,0,.5), transparent 60%),
      radial-gradient(64% 100% at 50% 122%, rgba(255,189,239,.42), transparent 58%),
      radial-gradient(78% 100% at 88% 118%, rgba(62,255,238,.45), transparent 62%);
    filter: blur(34px); }
.fo-scope .cta-blade > .wrap { position: relative; z-index: 1; }