/* Route-scoped product layer: Direct, Indirect, Substitute and Reference Competitors Explained */
.serpifai-role-classification-article .ri-article{min-width:0}
.serpifai-role-classification-article .ri-article img{max-width:100%;height:auto}
.serpifai-role-classification-article .serpifai-role-rule{margin:1.35rem 0;padding:1rem 1.1rem;border:1px solid rgba(91,189,255,.34);border-radius:14px;background:linear-gradient(135deg,rgba(20,69,103,.34),rgba(11,28,45,.52));box-shadow:0 12px 36px rgba(0,0,0,.12)}
.serpifai-role-classification-article .serpifai-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
.serpifai-role-classification-article .serpifai-role-card{position:relative;overflow:hidden;padding:1.15rem;border:1px solid rgba(148,190,220,.22);border-radius:16px;background:rgba(6,22,37,.5)}
.serpifai-role-classification-article .serpifai-role-card h3{margin:.35rem 0 .65rem;font-size:1rem;letter-spacing:.04em}
.serpifai-role-classification-article .serpifai-role-card p{margin:.52rem 0}
.serpifai-role-classification-article .serpifai-role-icon{display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;font-size:1.3rem;border:1px solid currentColor}
.serpifai-role-classification-article .serpifai-role-card[data-role="DIRECT"] .serpifai-role-icon,.serpifai-role-classification-article .serpifai-role-card[data-role="DIRECT"] h3{color:#65b9ff}
.serpifai-role-classification-article .serpifai-role-card[data-role="INDIRECT"] .serpifai-role-icon,.serpifai-role-classification-article .serpifai-role-card[data-role="INDIRECT"] h3{color:#64d890}
.serpifai-role-classification-article .serpifai-role-card[data-role="SUBSTITUTE"] .serpifai-role-icon,.serpifai-role-classification-article .serpifai-role-card[data-role="SUBSTITUTE"] h3{color:#ffbd59}
.serpifai-role-classification-article .serpifai-role-card[data-role="REFERENCE"] .serpifai-role-icon,.serpifai-role-classification-article .serpifai-role-card[data-role="REFERENCE"] h3{color:#b88cff}
.serpifai-role-classification-article .serpifai-role-map{margin:1.5rem 0;max-width:100%}
.serpifai-role-classification-article .serpifai-role-map img{display:block;width:100%;border-radius:16px;border:1px solid rgba(103,188,240,.25)}
.serpifai-role-classification-article .serpifai-role-map figcaption{margin-top:.6rem;font-size:.88rem;color:var(--muted,#9db0bf)}
.serpifai-role-classification-article .serpifai-pipeline{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.25rem 0;padding:1rem;border:1px solid rgba(148,190,220,.2);border-radius:14px;background:rgba(7,25,42,.38)}
.serpifai-role-classification-article .serpifai-pipeline span{padding:.45rem .62rem;border-radius:999px;background:rgba(51,125,169,.17);border:1px solid rgba(103,188,240,.2);font-size:.86rem}
.serpifai-role-classification-article .serpifai-scope-grid,.serpifai-role-classification-article .serpifai-mistakes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:1.25rem 0}
.serpifai-role-classification-article .serpifai-scope-grid>div,.serpifai-role-classification-article .serpifai-mistakes>div{padding:1rem;border:1px solid rgba(148,190,220,.18);border-radius:14px;background:rgba(7,25,42,.32)}
.serpifai-role-classification-article .serpifai-scope-grid h3,.serpifai-role-classification-article .serpifai-mistakes h3{margin:0 0 .45rem;font-size:1rem}
.serpifai-role-classification-article .serpifai-rule-list li{margin:.75rem 0;padding-left:.2rem}
.serpifai-role-classification-article .serpifai-role-tool{margin:1.35rem 0;padding:clamp(1rem,2.4vw,1.45rem);border:1px solid rgba(103,188,240,.35);border-radius:18px;background:linear-gradient(160deg,rgba(5,26,45,.78),rgba(8,18,31,.9));box-shadow:0 18px 50px rgba(0,0,0,.2);max-width:100%;overflow:hidden}
.serpifai-role-classification-article .serpifai-role-tool fieldset{border:0;padding:0;margin:0 0 1.25rem;min-width:0}
.serpifai-role-classification-article .serpifai-role-tool legend{font-weight:800;font-size:1rem;margin-bottom:.75rem}
.serpifai-role-classification-article .serpifai-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.serpifai-role-classification-article .serpifai-tool-grid label{display:flex;flex-direction:column;gap:.42rem;font-weight:700;font-size:.9rem;min-width:0}
.serpifai-role-classification-article .serpifai-role-tool input,.serpifai-role-classification-article .serpifai-role-tool select{width:100%;max-width:100%;min-height:44px;padding:.68rem .72rem;border:1px solid rgba(148,190,220,.42);border-radius:10px;background:#071a2a;color:#f3f8fb;font:inherit}
.serpifai-role-classification-article .serpifai-role-tool input:focus-visible,.serpifai-role-classification-article .serpifai-role-tool select:focus-visible,.serpifai-role-classification-article .serpifai-role-tool button:focus-visible{outline:3px solid #8fd5ff;outline-offset:2px}
.serpifai-role-classification-article .serpifai-field-help{grid-column:1/-1;margin:-.45rem 0 .1rem;font-size:.82rem;color:#a9bfce}
.serpifai-role-classification-article .serpifai-tool-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.serpifai-role-classification-article .serpifai-button-secondary{background:transparent;border:1px solid rgba(148,190,220,.42);color:inherit}
.serpifai-role-classification-article .serpifai-role-result{margin-top:1.1rem;padding:1.05rem;border-radius:14px;border:1px solid rgba(103,188,240,.28);background:rgba(2,13,23,.76)}
.serpifai-role-classification-article .serpifai-role-result[data-role="DIRECT"]{border-color:rgba(82,166,255,.6)}
.serpifai-role-classification-article .serpifai-role-result[data-role="INDIRECT"]{border-color:rgba(84,205,129,.6)}
.serpifai-role-classification-article .serpifai-role-result[data-role="SUBSTITUTE"]{border-color:rgba(255,174,64,.6)}
.serpifai-role-classification-article .serpifai-role-result[data-role="REFERENCE / CONTEXT ONLY"]{border-color:rgba(183,131,255,.6)}
.serpifai-role-classification-article .serpifai-result-kicker{margin:0;color:#9fb5c5;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.serpifai-role-classification-article .serpifai-result-role{font-size:clamp(1.35rem,3vw,2rem);font-weight:900;margin:.25rem 0 1rem;overflow-wrap:anywhere}
.serpifai-role-classification-article .serpifai-role-result dl{display:grid;gap:.65rem;margin:0}
.serpifai-role-classification-article .serpifai-role-result dl>div{display:grid;grid-template-columns:minmax(8.5rem,.34fr) 1fr;gap:.65rem;padding-top:.65rem;border-top:1px solid rgba(148,190,220,.15)}
.serpifai-role-classification-article .serpifai-role-result dt{font-weight:800}.serpifai-role-classification-article .serpifai-role-result dd{margin:0;overflow-wrap:anywhere}
.serpifai-role-classification-article .serpifai-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.15rem 0}
.serpifai-role-classification-article .serpifai-download-card{display:flex;gap:.85rem;padding:1rem;border:1px solid rgba(103,188,240,.25);border-radius:14px;background:rgba(7,25,42,.38);text-decoration:none}
.serpifai-role-classification-article .serpifai-download-card>span{font-size:1.6rem}.serpifai-role-classification-article .serpifai-download-card p{margin:.3rem 0}.serpifai-role-classification-article .serpifai-download-card small{color:#a6bccb}
.serpifai-role-classification-article .serpifai-workflow{counter-reset:step;list-style:none;padding:0;margin:1.2rem 0}
.serpifai-role-classification-article .serpifai-workflow li{counter-increment:step;display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;row-gap:.2rem;margin:.75rem 0;padding:.9rem;border-left:2px solid rgba(100,190,240,.45);background:rgba(7,25,42,.22)}
.serpifai-role-classification-article .serpifai-workflow li::before{content:counter(step);grid-row:1/3;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#0c314d;font-weight:900}.serpifai-role-classification-article .serpifai-workflow li span{grid-column:2}
.serpifai-role-classification-article .serpifai-source-list li{margin:.6rem 0}
@media (max-width:820px){.serpifai-role-classification-article .serpifai-role-grid,.serpifai-role-classification-article .serpifai-scope-grid,.serpifai-role-classification-article .serpifai-mistakes,.serpifai-role-classification-article .serpifai-download-grid,.serpifai-role-classification-article .serpifai-tool-grid{grid-template-columns:1fr}.serpifai-role-classification-article .serpifai-role-result dl>div{grid-template-columns:1fr}.serpifai-role-classification-article .serpifai-pipeline b{display:none}}
@media (max-width:520px){.serpifai-role-classification-article .serpifai-role-tool{padding:.9rem}.serpifai-role-classification-article .serpifai-tool-actions .ri-button{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.serpifai-role-classification-article *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.serpifai-role-classification-article .serpifai-role-tool form,.serpifai-role-classification-article .serpifai-tool-actions{display:none!important}.serpifai-role-classification-article .serpifai-role-tool,.serpifai-role-classification-article .serpifai-role-card,.serpifai-role-classification-article .serpifai-download-card{box-shadow:none;background:#fff!important;color:#111!important;border-color:#bbb!important}.serpifai-role-classification-article .serpifai-role-map img{break-inside:avoid}.serpifai-role-classification-article .serpifai-download-card{color:#111!important}}

/* Article 30 restored-image width parity V1.0.0
   The controlling public-source image and markup remain unchanged.
   This only restores the accepted SERPIFAI flagship figure render width:
   max 1120px with viewport-safe gutters, matching the established
   insights-editorial-image-scale / article-figure-placement standard. */
.serpifai-role-classification-article
figure.serpifai-b05-article-visual[data-serpifai-article-route="/insights/direct-indirect-substitute-reference-competitors/"][data-serpifai-all74-figure="1.0.0"] {
  width: min(1120px, calc(100vw - 48px)) !important;
  max-width: none !important;
}

@media (max-width: 700px) {
  .serpifai-role-classification-article
  figure.serpifai-b05-article-visual[data-serpifai-article-route="/insights/direct-indirect-substitute-reference-competitors/"][data-serpifai-all74-figure="1.0.0"] {
    width: calc(100vw - 24px) !important;
  }
}

