/* Free tools + solutions pages. Loaded after style.css. */
.crumbs{font-size:13px;color:var(--dim);margin:0 0 14px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--text)}
.page-hero{padding:56px 0 36px;position:relative;overflow:hidden}
.page-hero:before{content:"";position:absolute;right:-220px;top:-240px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(34,211,238,.2),rgba(34,211,238,0) 65%);pointer-events:none}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(32px,5.4vw,54px);line-height:1.08;letter-spacing:-.025em;margin:14px 0 16px;max-width:880px}
.page-hero .lead{font-size:clamp(16px,2vw,19px);color:var(--muted);max-width:720px;margin:0}
.page-hero .hero-cta{margin-top:24px}
section.tight{padding:40px 0 64px}

/* article layout */
.art{display:grid;gap:32px}
@media(min-width:980px){.art{grid-template-columns:minmax(0,1fr) 320px;gap:48px}}
.prose{max-width:740px;font-size:17px;line-height:1.7;color:#cbd5e1;min-width:0}
.prose h2{color:var(--text);font-size:clamp(23px,3vw,29px);line-height:1.2;letter-spacing:-.015em;margin:40px 0 12px}
.prose h2:first-child{margin-top:0}
.prose h3{color:var(--text);font-size:19px;margin:26px 0 8px}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px}
.prose li{margin:6px 0}
.prose strong{color:var(--text)}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:#67e8f9}
.aside{display:flex;flex-direction:column;gap:16px}
@media(min-width:980px){.aside{position:sticky;top:88px;align-self:start}}
.aside .card{padding:20px}
.aside h3{margin:0 0 6px;font-size:16px}
.aside p{margin:0;color:var(--muted);font-size:14px}
.price-box{background:linear-gradient(160deg,rgba(34,211,238,.16),rgba(17,26,46,1) 60%);border-color:rgba(34,211,238,.35)}
.price-box .amt{font-size:34px;font-weight:800;color:var(--text);letter-spacing:-.02em;margin:4px 0 10px}
.price-box small{color:var(--muted);font-size:13px;font-weight:600}
.price-box .btn{width:100%;margin-top:14px}
.link-card{display:flex;gap:12px;align-items:flex-start}
.link-card .ico{flex:none;width:36px;height:36px;border-radius:10px;background:rgba(34,211,238,.12);color:var(--accent);display:grid;place-items:center}
.link-card .k{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.link-card b{display:block;font-size:15px;margin-top:2px}
.related{display:grid;gap:12px}
@media(min-width:720px){.related{grid-template-columns:repeat(3,1fr)}}
.related a{display:block}
.related h3{margin:0 0 6px;font-size:16px}
.related p{margin:0;color:var(--muted);font-size:14px}
.cta-band{border:1px solid rgba(34,211,238,.35);background:linear-gradient(120deg,rgba(34,211,238,.14),rgba(17,26,46,1) 70%);border-radius:var(--radius);padding:28px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.cta-band h2{margin:0 0 6px;font-size:clamp(21px,3vw,26px)}
.cta-band p{margin:0;color:var(--muted);max-width:620px}

/* listing cards (tools / solutions index) */
.list-card{display:flex;flex-direction:column;gap:8px;height:100%}
.list-card .tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.list-card h3{margin:0;font-size:18px;line-height:1.3}
.list-card p{margin:0;color:var(--muted);font-size:15px}
.list-card .go{margin-top:auto;padding-top:8px;font-weight:700;font-size:14px;color:var(--accent)}
.free{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--accent-ink);background:var(--accent);border-radius:6px;padding:2px 7px;margin-left:6px;vertical-align:2px}

/* tool UI */
.tool{display:grid;gap:20px}
@media(min-width:980px){.tool{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:28px;align-items:start}}
.tool > *{min-width:0}
.tool .card{padding:22px}
.tool h2{font-size:20px;margin:0 0 14px}
.hint{font-size:13px;color:var(--dim);margin:-2px 0 0}
.out-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
pre.code{background:#070d1a;border:1px solid var(--line);border-radius:12px;padding:14px 16px;max-height:340px;overflow:auto;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#cbd5e1;white-space:pre;margin:0}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tabs button{font:600 14px Inter,sans-serif;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer}
.tabs button[aria-selected=true]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}
.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stat{background:#0b1324;border:1px solid var(--line);border-radius:12px;padding:14px}
.stat small{display:block;color:var(--dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.stat b{display:block;font-size:clamp(22px,3.4vw,30px);letter-spacing:-.02em;margin-top:4px;color:var(--text)}
.stat.hl{border-color:rgba(34,211,238,.45);background:rgba(34,211,238,.08)}
.stat.hl b{color:var(--accent)}
.note{font-size:14px;color:var(--muted);margin:14px 0 0}
.check{list-style:none;padding:0;margin:0}
.check li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;color:#cbd5e1}
.check li:last-child{border-bottom:0}
.check input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:#22d3ee;padding:0}
.check label{cursor:pointer}
.check small{display:block;color:var(--dim);font-size:13px}
.gauges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
@media(min-width:640px){.gauges{grid-template-columns:repeat(4,minmax(0,1fr))}}
.gauge{text-align:center;background:#0b1324;border:1px solid var(--line);border-radius:12px;padding:14px 8px}
.gauge .ring{width:72px;height:72px;border-radius:50%;margin:0 auto 8px;display:grid;place-items:center;font-weight:800;font-size:20px;background:conic-gradient(var(--c) calc(var(--v)*1%),#1e2a44 0)}
.gauge .ring span{width:58px;height:58px;border-radius:50%;background:#0b1324;display:grid;place-items:center}
.gauge small{color:var(--muted);font-size:13px}
.opps{list-style:none;padding:0;margin:0}
.opps li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.opps li:last-child{border-bottom:0}
.opps b{color:var(--text)}
.opps span{display:block;color:var(--dim);font-size:13px}
.status{font-size:14px;color:var(--muted);margin:10px 0 0}
.status.err{color:#fca5a5}
.openers{list-style:none;padding:0;margin:0;counter-reset:o}
.openers li{background:#0b1324;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:10px;position:relative}
.openers .subj{font-size:13px;color:var(--accent);font-weight:700;margin-bottom:6px;padding-right:64px}
.openers p{margin:0;color:#cbd5e1;font-size:15px}
.openers .cp{position:absolute;top:10px;right:10px;height:30px;padding:0 10px;font-size:12px}
.capture{margin-top:20px;border-top:1px dashed var(--line);padding-top:18px}
.capture h3{margin:0 0 4px;font-size:17px}
.capture > p{margin:0 0 12px;color:var(--muted);font-size:14px}
.capture .row{gap:10px}
.capture .field{margin-bottom:10px}
.capture .ok{display:none;color:var(--accent);font-weight:600;margin:6px 0 0}
.empty{color:var(--dim);font-size:15px;text-align:center;padding:30px 10px;border:1px dashed var(--line);border-radius:12px}

/* chatbot preview widget (tool page) */
.cbp{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;color:#0f172a;display:flex;flex-direction:column;height:440px}
.cbp-h{background:var(--cbc,#0f766e);color:#fff;padding:12px 16px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:10px}
.cbp-h i{width:9px;height:9px;border-radius:50%;background:#4ade80;display:inline-block}
.cbp-m{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:#f8fafc}
.cbp-m .m{max-width:85%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap}
.cbp-m .bot{background:#fff;border:1px solid #e2e8f0;align-self:flex-start;border-bottom-left-radius:4px}
.cbp-m .me{background:var(--cbc,#0f766e);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.cbp-q{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px 0;background:#f8fafc}
.cbp-q button{font:600 12px Inter,sans-serif;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:999px;padding:6px 10px;cursor:pointer}
.cbp form{display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8f0;background:#fff}
.cbp input{background:#fff;color:#0f172a;border-color:#cbd5e1;padding:10px 12px}
.cbp form button{flex:none;border:0;border-radius:10px;background:var(--cbc,#0f766e);color:#fff;font:700 14px Inter,sans-serif;padding:0 16px;cursor:pointer}
.faq-rows .faq-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#0b1324}
.faq-rows .faq-row .field{margin:0}
.faq-rows textarea{min-height:64px}
.faq-row .rm{align-self:start;height:36px;width:36px;padding:0;border-radius:10px}
.faq-row .qa{display:flex;flex-direction:column;gap:8px}
