@font-face{font-family:"Google Sans Flex";src:url(/wp-content/mu-plugins/infospy-editorial31/google-sans-flex-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
body.infospy-typography-preview{--editorial-ink:#212226;--editorial-copy:#121317;--editorial-note-bg:#fff4e5;--editorial-note-ink:#663c00;font-family:"Google Sans Flex",sans-serif;font-size:16px;line-height:1.6;color:var(--editorial-copy)}
body.infospy-typography-preview :where(h1,h2,h3,h4,h5,h6,p,li,td,th,label,input,select,textarea,button){font-family:"Google Sans Flex",sans-serif}
body.infospy-typography-preview #navigation a:not(.fa),body.infospy-typography-preview .menu a:not(.fa){font-family:"Google Sans Flex",sans-serif}
body.infospy-typography-preview .single-title{font-family:"Google Sans Flex",sans-serif;font-size:clamp(34px,3.8vw,56px);font-weight:500;line-height:1.2;letter-spacing:-.02em;text-transform:none;color:var(--editorial-ink)}
body.infospy-typography-preview .thecontent,body.infospy-typography-preview .thecontent .infospy-program-description,body.infospy-typography-preview .thecontent p,body.infospy-typography-preview .thecontent li{font-family:"Google Sans Flex",sans-serif;font-size:16px;line-height:1.6;color:var(--editorial-copy)}
body.infospy-typography-preview .thecontent h2,body.infospy-typography-preview .thecontent .infospy-program-heading{font-family:"Google Sans Flex",sans-serif;font-size:28px;line-height:1.25;letter-spacing:-.02em;font-weight:500;text-transform:none;color:var(--editorial-ink)}
body.infospy-typography-preview .thecontent h3{font-size:22px;line-height:1.3;font-weight:500;letter-spacing:-.02em;color:var(--editorial-ink)}
body.infospy-typography-preview .thecontent strong{font-weight:600}
body.infospy-typography-preview .thecontent :is(p,li)>span:not(.fa):not(.infospy-program-icon){font-family:"Google Sans Flex",sans-serif!important;font-size:inherit!important;line-height:inherit!important;color:inherit!important}
body.infospy-typography-preview .thecontent img{max-width:100%;height:auto}
body.infospy-typography-preview .thecontent iframe{max-width:100%}
body.infospy-typography-preview .thecontent a{overflow-wrap:anywhere}
body.infospy-typography-preview .editorial-note,body.infospy-typography-preview .thecontent .editorial-practice,body.infospy-typography-preview .thecontent .infospy-program-license{box-sizing:border-box;background:var(--editorial-note-bg);color:var(--editorial-note-ink);padding:16px;border:0;border-radius:16px;font-size:16px;line-height:24px;margin:28px 0}
body.infospy-typography-preview .editorial-header-note{width:calc(100% - 40px);max-width:742px;margin:0 auto 36px}
body.infospy-typography-preview .editorial-note :is(p,li,a,strong),body.infospy-typography-preview .thecontent .editorial-practice :is(p,li,a,h2,strong),body.infospy-typography-preview .thecontent .infospy-program-license :is(p,li,a,h2,strong){color:var(--editorial-note-ink);font-size:16px;line-height:24px}
body.infospy-typography-preview .editorial-note a{text-decoration:underline;text-underline-offset:3px}
body.infospy-typography-preview .thecontent .editorial-practice h2{margin:0 0 10px;font-weight:600;letter-spacing:0}
body.infospy-typography-preview .thecontent .infospy-program-license .infospy-program-note{margin-bottom:0;background:transparent}
body.infospy-typography-preview .thecontent .editorial-flow{margin:32px 0;border:1px solid #e4e7e9;border-radius:16px;padding:16px;background:#fafbfc}
body.infospy-typography-preview .thecontent .editorial-flow summary{cursor:pointer;font-weight:500;color:#34383e;font-size:15px;line-height:1.6}
body.infospy-typography-preview .thecontent .editorial-flow ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:20px 0 12px;gap:16px}
body.infospy-typography-preview .thecontent .editorial-flow li{position:relative;box-sizing:border-box;border:1px solid #e0e4e8;border-radius:12px;padding:18px 10px;margin:0;background:#fff;text-align:center;font-size:14px;line-height:1.5}
body.infospy-typography-preview .thecontent .editorial-flow li+li:before{content:"→";position:absolute;left:-15px;top:calc(50% - 12px);color:#8a929b}
body.infospy-typography-preview .thecontent .editorial-flow>p{font-size:12px;line-height:1.6;color:#6a6d72;margin:0}
body.infospy-typography-preview .thecontent .editorial-flow[open] li{animation:editorial-step30 .45s ease-out both}
body.infospy-typography-preview .thecontent .editorial-flow[open] li:nth-child(2){animation-delay:.08s}body.infospy-typography-preview .thecontent .editorial-flow[open] li:nth-child(3){animation-delay:.16s}
@keyframes editorial-step30{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:500px){body.infospy-typography-preview .thecontent .editorial-flow ol{grid-template-columns:1fr}body.infospy-typography-preview .thecontent .editorial-flow li+li:before{content:"↓";left:calc(50% - 5px);top:-20px}}
@media(prefers-reduced-motion:reduce){body.infospy-typography-preview .thecontent .editorial-flow[open] li{animation:none}}

body.infospy-typography-preview .thecontent .infospy-program-description :is(p,li){font-size:16px;line-height:1.6;color:#121317}
body.infospy-typography-preview .thecontent .infospy-program-description .infospy-program-heading{font-size:28px;line-height:1.25;letter-spacing:-.02em;font-weight:500;color:#212226}
body.infospy-typography-preview .thecontent .infospy-program-description .infospy-program-license{background:#fff4e5;color:#663c00;border:0;border-radius:16px;padding:16px;margin:28px 0}
body.infospy-typography-preview .thecontent .infospy-program-description .infospy-program-license :is(p,li,a,strong,.infospy-program-heading){font-size:16px;line-height:24px;color:#663c00}
body.infospy-typography-preview .thecontent .infospy-program-description .infospy-program-license .infospy-program-heading{margin-top:0;font-weight:600;letter-spacing:0}

/* Legacy theme rules use specific font selectors; unify text without touching icon fonts. */
body.infospy-typography-preview :is(h1,h2,h3,h4,h5,h6,p,li,td,th,label,input,select,textarea,button),body.infospy-typography-preview a:not(.fa):not([class*="icon"]){font-family:"Google Sans Flex",sans-serif!important}

/* Program notes keep the neutral palette; amber belongs to important editorial alerts. */
body.infospy-typography-preview .thecontent .infospy-program-description .infospy-program-license,
body.infospy-typography-preview .thecontent .infospy-program-description .infospy-program-note{background:#f6f7f8;color:#535d67;border-color:#e4e7ea}
body.infospy-typography-preview .thecontent .infospy-program-description .infospy-program-license :is(p,li,a,strong,.infospy-program-heading){color:#535d67}
body.infospy-typography-preview .editorial-process-image{max-width:620px;margin:32px auto}
body.infospy-typography-preview .editorial-process-image img{display:block;width:100%;height:auto;border-radius:20px}

body.infospy-typography-preview .thecontent .editorial-practice,body.infospy-typography-preview .thecontent .editorial-practice :is(p,li,a,h2,strong){background:#f6f7f8;color:#535d67}

/* Native browser guides: no JavaScript dependency, keyboard accessible. */
body.infospy-typography-preview .editorial-browser-reset{margin:20px 0;padding:20px 24px;border:1px solid #e4e7ea;border-radius:18px;background:#fafbfc}
body.infospy-typography-preview .editorial-browser-reset summary{cursor:pointer;font-weight:600;line-height:1.5;padding:4px 0}
body.infospy-typography-preview .editorial-browser-reset summary:focus-visible{outline:2px solid #535d67;outline-offset:5px;border-radius:4px}
body.infospy-typography-preview .editorial-browser-reset ol{display:block;list-style:decimal;padding-left:24px;margin:20px 0 0}
body.infospy-typography-preview .editorial-browser-reset li{margin-bottom:12px}
body.infospy-typography-preview .editorial-archive-intro{max-width:740px;font-size:18px;line-height:1.6;margin:24px 0 48px;color:#535d67}
body.infospy-typography-preview .thecontent figure img{display:block;max-width:100%;height:auto;margin:auto}
body.infospy-typography-preview .thecontent figcaption{font-size:13px;line-height:1.5;color:#686d74;margin-top:10px}
body.infospy-typography-preview .thecontent code{overflow-wrap:anywhere;white-space:normal}

/* Threat resources share the editorial system and retain their existing configuration. */
body.infospy-typography-preview #features .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
body.infospy-typography-preview #features .grid-box{float:none;width:auto;margin:0;min-width:0}
body.infospy-typography-preview #features .grid-box-inner{box-sizing:border-box;height:100%;margin:0;padding:32px;border:1px solid #e7e9ed;border-radius:24px;background:#f7f8fa;text-align:left;transition:transform .2s ease,border-color .2s ease}
body.infospy-typography-preview #features .grid-box-inner:hover{transform:translateY(-2px);border-color:#cbd1d8}
body.infospy-typography-preview #features .feature-title{font-size:22px;line-height:1.3;letter-spacing:-.02em;font-weight:500;color:#212226;text-align:left;margin:0 0 16px}
body.infospy-typography-preview #features .feature-description{font-size:16px;line-height:1.65;color:#535d67}
body.infospy-typography-preview #features .feature-description a{display:block;width:fit-content;margin-top:20px;font-size:14px;font-weight:500;color:#343b43;text-decoration:none;border-bottom:1px solid #b8c0ca}
body.infospy-typography-preview #features .feature-description a:focus-visible{outline:2px solid #535d67;outline-offset:5px}
body.infospy-typography-preview #features .feature-icon{display:block;width:44px;height:44px;float:none;margin:0 0 24px;color:transparent;font-size:0;background-repeat:no-repeat;background-position:center;background-size:contain}
body.infospy-typography-preview #features .feature-icon:before{display:none}
@media(max-width:1000px){body.infospy-typography-preview #features .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.infospy-typography-preview #features .grid{grid-template-columns:minmax(0,1fr);gap:16px}body.infospy-typography-preview #features .grid-box-inner{padding:28px}}
@media(prefers-reduced-motion:reduce){body.infospy-typography-preview #features .grid-box-inner{transition:none}body.infospy-typography-preview #features .grid-box-inner:hover{transform:none}}
body.infospy-typography-preview #features .feature-icon.fa-shield{background-image:url(/wp-content/mu-plugins/infospy-editorial31/media34/home-shield.svg)}
body.infospy-typography-preview #features .feature-icon.fa-bug{background-image:url(/wp-content/mu-plugins/infospy-editorial31/media34/home-bug.svg)}
body.infospy-typography-preview #features .feature-icon.fa-puzzle-piece{background-image:url(/wp-content/mu-plugins/infospy-editorial31/media34/home-puzzle-piece.svg)}
body.infospy-typography-preview #features .feature-icon.fa-laptop{background-image:url(/wp-content/mu-plugins/infospy-editorial31/media34/home-laptop.svg)}
body.infospy-typography-preview #features .feature-icon.fa-bullhorn{background-image:url(/wp-content/mu-plugins/infospy-editorial31/media34/home-bullhorn.svg)}
body.infospy-typography-preview #features .feature-icon.fa-search-plus{background-image:url(/wp-content/mu-plugins/infospy-editorial31/media34/home-search-plus.svg)}

body.infospy-typography-preview #features .grid{clear:both;box-sizing:border-box;width:calc(100% - 40px);margin:0 20px}
body.infospy-typography-preview #features .grid-box{padding:0;clear:none}
body.infospy-typography-preview #features .grid-box-inner{float:none;width:100%}
body.infospy-typography-preview #features .feature-description{padding-left:0}
