/* Shared styles for keyword landing pages — mirrors the homepage hero/prose/faq. */
.hero{padding:64px 0 30px;text-align:center;position:relative}
.hero .eyebrow{margin-bottom:6px}
.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.07;max-width:880px;margin:18px auto 0}
.hero h1 .hl{color:var(--brand)}
.hero .sub{font-size:18px;color:var(--text-2);max-width:660px;margin:18px auto 30px;line-height:1.6}

.scanbar{display:flex;gap:10px;max-width:640px;margin:0 auto;background:var(--ink-700);border:1px solid var(--line-2);
  border-radius:16px;padding:9px;box-shadow:var(--shadow)}
.scanbar:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft),var(--shadow)}
.scanbar .f{flex:1;display:flex;align-items:center;gap:10px;padding-left:14px}
.scanbar .f svg{width:19px;height:19px;stroke:var(--brand);fill:none;flex:none}
.scanbar .btn svg{stroke:#fff}
.scanbar input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:16.5px;font-family:var(--body)}
.scanbar input::placeholder{color:var(--text-3)}

.trust{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:18px;color:var(--text-2);font-size:13.5px}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:17px;height:17px;color:var(--brand);flex:none}
.trust b{color:var(--text);font-weight:600}

.cve-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.cve-tag{font-family:var(--mono);font-size:12.5px;color:var(--text-2);border:1px solid var(--line-2);border-radius:8px;padding:6px 12px;background:var(--ink-800)}
.cve-tag b{color:var(--crit)}

/* answer-first callout */
.answer{max-width:820px;margin:0 auto 8px;border-left:4px solid var(--brand);background:var(--brand-soft);
  border-radius:0 12px 12px 0;padding:18px 22px}
.answer p{margin:0;color:var(--text);font-size:16px;line-height:1.7}

/* prose */
.prose{max-width:820px;margin:0 auto;text-align:left}
.prose h2{font-size:28px;margin:8px 0 8px} .prose h3{font-size:19px;margin:26px 0 8px;color:var(--text)}
.prose p{color:var(--text-2);margin:10px 0;font-size:15.5px;line-height:1.78}
.prose ul,.prose ol{color:var(--text-2);padding-left:22px;line-height:1.85} .prose b{color:var(--text)}
.prose a{color:var(--brand)}
.prose .lede{font-size:17px;color:var(--text-2)}

/* steps */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}
@media(max-width:820px){.how-grid{grid-template-columns:1fr}}
.step-card{background:var(--ink-800);border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative}
.step-card .num{font-family:var(--display);font-weight:800;font-size:13px;color:var(--brand);background:var(--brand-soft);border:1px solid rgba(255,153,0,.3);width:32px;height:32px;border-radius:9px;display:grid;place-items:center;margin-bottom:14px}
.step-card h3{font-size:17px;margin-bottom:7px}
.step-card p{color:var(--text-2);font-size:14.5px;margin:0;line-height:1.6}

/* related links */
.related{max-width:820px;margin:36px auto 0;border-top:1px solid var(--line);padding-top:22px}
.related h3{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:12px}
.related-links{display:flex;flex-wrap:wrap;gap:10px}
.related-links a{font-size:14px;color:var(--text-2);border:1px solid var(--line-2);border-radius:8px;padding:8px 13px;text-decoration:none;transition:.15s}
.related-links a:hover{border-color:var(--brand);color:var(--brand)}

/* cta */
.cta{background:linear-gradient(135deg,rgba(255,153,0,.16),rgba(255,122,0,.06));border:1px solid rgba(255,153,0,.3);
  border-radius:var(--radius-lg);padding:44px;text-align:center;margin-top:44px}
.cta h2{font-size:30px} .cta p{color:var(--text-2);max-width:520px;margin:12px auto 24px}

/* FAQ */
.faq-list{max-width:820px;margin:30px auto 0;display:grid;gap:12px;text-align:left}
.faq{border:1px solid var(--line);border-radius:12px;background:var(--ink-800);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--display);font-weight:600;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pl{flex:none;width:22px;height:22px;position:relative;transition:.2s}
.faq summary .pl::before,.faq summary .pl::after{content:'';position:absolute;background:var(--brand);border-radius:2px}
.faq summary .pl::before{top:10px;left:3px;right:3px;height:2px}
.faq summary .pl::after{left:10px;top:3px;bottom:3px;width:2px;transition:.2s}
.faq[open] summary .pl::after{transform:scaleY(0)}
.faq .faq-a{padding:0 22px 20px;color:var(--text-2);font-size:15px;line-height:1.7}
.faq .faq-a a{color:var(--brand)}
