/* ── FAQs & More page ── */
.hero-lite{padding-bottom:72px}
.hero-lite .sub{max-width:640px}

/* problems grid */
.prob-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:44px}
.pf{appearance:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:999px;padding:9px 18px;transition:all .25s}
.pf:hover{color:#fff;border-color:rgba(20,141,141,.6)}
.pf.on{color:#08272b;background:var(--teal);border-color:var(--teal);box-shadow:0 6px 20px rgba(20,141,141,.4)}
.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.prob{--mx:50%;--my:50%;position:relative;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:16px;padding:28px 26px;display:flex;flex-direction:column;gap:10px;transition:border-color .3s,transform .3s,box-shadow .3s,opacity .35s,filter .35s}
.prob::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .35s;pointer-events:none;background:radial-gradient(340px circle at var(--mx) var(--my),rgba(20,141,141,.18),transparent 65%)}
.prob::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),rgba(193,225,167,.7));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.prob:hover{border-color:rgba(20,141,141,.55);transform:translateY(-5px);box-shadow:0 24px 50px rgba(0,0,0,.35)}
.prob:hover::before{opacity:1}
.prob:hover::after{transform:scaleX(1)}
.prob:nth-child(3n+2)::after{background:linear-gradient(90deg,var(--ochre),rgba(239,188,117,.5))}
.prob:nth-child(3n)::after{background:linear-gradient(90deg,var(--sage),rgba(193,225,167,.5))}
.prob.dim{opacity:.18;filter:saturate(.4);transform:none;pointer-events:none}
.prob-k{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--teal);display:inline-flex;align-items:center;gap:7px}
.prob-k::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.prob:nth-child(3n+2) .prob-k{color:var(--ochre)}
.prob:nth-child(3n) .prob-k{color:var(--sage)}
.prob h3{color:#fff;font-size:17px;font-weight:800;letter-spacing:-.015em;line-height:1.35}
.prob p{font-size:13.5px;color:var(--text-muted);line-height:1.65;position:relative}
@media (max-width:960px){.prob-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.prob-grid{grid-template-columns:1fr;margin-top:36px}}

/* what's included */
.inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
.inc{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:26px 24px 28px;background:#fff;border:1px solid rgba(18,48,63,.12);border-radius:14px;transition:transform .3s,box-shadow .3s,border-color .3s}
.inc::after{content:'';position:absolute;right:-6px;bottom:-26px;font:800 84px/1 Manrope,sans-serif;letter-spacing:-.04em;color:rgba(20,141,141,.07);content:attr(data-n)}
.inc:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(18,48,63,.14);border-color:rgba(20,141,141,.45)}
.inc:hover::after{color:rgba(20,141,141,.14)}
.inc i{font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:1.5px;color:var(--teal);background:rgba(20,141,141,.1);border-radius:999px;padding:4px 10px;width:max-content}
.inc b{font-size:16px;font-weight:800;letter-spacing:-.015em;color:var(--ink);line-height:1.35;position:relative}
.inc span{font-size:13px;color:var(--ink-muted);line-height:1.6;font-weight:600;position:relative}
@media (max-width:960px){.inc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.inc-grid{grid-template-columns:1fr;margin-top:36px}}

/* faqs */
.faq-list{max-width:780px;margin-top:52px}
.faq{border:1px solid var(--border);border-radius:14px;padding:2px 24px;margin-bottom:14px;background:rgba(255,255,255,.02);transition:border-color .3s,background .3s}
.faq:hover{border-color:rgba(20,141,141,.5)}
.faq[open]{background:rgba(20,141,141,.07);border-color:rgba(20,141,141,.5)}
.faq p{animation:faqIn .35s cubic-bezier(.2,.7,.2,1)}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;color:#fff;font-size:17px;font-weight:800;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;color:var(--teal);font-size:18px;font-weight:600;transition:transform .3s,background .3s}
.faq[open] summary::after{transform:rotate(45deg);background:rgba(20,141,141,.15)}
.faq p{font-size:14.5px;color:var(--text-muted);line-height:1.7;padding:0 48px 20px 0;max-width:660px}
.faq-wrap .midcta{margin-top:64px}

/* tech stack band */
.stack-band{background:linear-gradient(140deg,rgba(20,141,141,.28),rgba(20,141,141,.08)),var(--navy-deep,#0E2C40);border-top:1px solid rgba(20,141,141,.45);border-bottom:1px solid rgba(20,141,141,.45);padding:72px 0}
.stack-band-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.stack-band h2{margin-top:14px}
.stack-band .lede{margin-top:14px}
.stack-band .btn{flex-shrink:0}

/* active nav link */
.nav-links a.active{color:#fff}

/* tech stack page bottom cta */
.fit-warn{display:block;margin-top:10px;font-size:11.5px;font-weight:700;color:#a2661a;background:rgba(239,188,117,.14);border:1px solid rgba(239,188,117,.55);border-radius:8px;padding:8px 12px;line-height:1.5}
.stack-cta{padding:28px 0 72px;background:none}
.stack-cta .midcta{margin-top:0;background:none;border:none;padding:0}
.stack-cta .midcta::before{display:none}

/* ── Tech stack fit page ── */
.stack-map{display:flex;flex-direction:column;gap:14px;margin-top:52px;max-width:860px;position:relative}
.layer{border-radius:14px;padding:24px 28px;border:1px solid var(--border);position:relative}
.layer::after{content:'';position:absolute;left:50%;bottom:-15px;width:2px;height:16px;background:linear-gradient(180deg,var(--teal),rgba(20,141,141,.3))}
.layer:last-child::after{display:none}
.layer-tag{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);margin-bottom:8px}
.layer p{font-size:14px;color:var(--text-muted);line-height:1.65;max-width:640px}
.layer.who{background:rgba(255,255,255,.03)}
.layer.lmp{background:linear-gradient(140deg,rgba(20,141,141,.22),rgba(20,141,141,.08));border-color:rgba(20,141,141,.55);box-shadow:0 18px 50px rgba(20,141,141,.15)}
.layer.lmp .layer-tag{color:var(--teal)}
.layer.lmp p{color:#e8f2f2}
.layer.ops{background:rgba(255,255,255,.02)}
.layer-chips{display:flex;flex-wrap:wrap;gap:10px}
.layer-chips span{font-size:12.5px;font-weight:700;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:7px 14px}

.lede-dark{font-size:17px;color:var(--ink-muted);font-weight:600;line-height:1.7;max-width:620px;margin-top:18px}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:52px;align-items:start}
.fit{background:#fff;border:1px solid rgba(18,48,63,.14);border-radius:14px;padding:24px 26px;transition:border-color .3s,box-shadow .3s}
.fit summary{cursor:pointer;list-style:none;display:flex;flex-direction:column;gap:10px}
.fit summary::-webkit-details-marker{display:none}
.fit:hover{border-color:rgba(20,141,141,.5);box-shadow:0 14px 36px rgba(18,48,63,.1)}
.fit-open{display:inline-flex;align-items:center;gap:7px;width:max-content;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.6px;color:var(--teal);margin-top:4px}
.fit-open::after{content:'+';width:20px;height:20px;border-radius:50%;border:1px solid rgba(20,141,141,.4);display:grid;place-items:center;font-size:13px;transition:transform .3s}
.fit[open]{border-color:rgba(20,141,141,.55);box-shadow:0 18px 44px rgba(18,48,63,.12)}
.fit[open] .fit-open::after{transform:rotate(45deg)}
.fit-more{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;padding-top:16px;border-top:1px dashed rgba(18,48,63,.18);animation:faqIn .35s cubic-bezier(.2,.7,.2,1)}
.fit-col{background:rgba(18,48,63,.035);border-radius:10px;padding:14px 16px}
.fit-col.lmp{background:rgba(20,141,141,.08)}
.fit-col b{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;color:var(--ink-muted);margin-bottom:8px}
.fit-col.lmp b{color:var(--teal)}
.fit-col ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.fit-col li{font-size:12.5px;font-weight:600;color:var(--ink-muted);line-height:1.5;padding-left:14px;position:relative}
.fit-col li::before{content:'';position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:rgba(18,48,63,.3)}
.fit-col.lmp li::before{background:var(--teal)}
@media (max-width:640px){.fit-more{grid-template-columns:1fr}}
.fit-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.fit-head b{font-size:16.5px;font-weight:800;letter-spacing:-.015em;color:var(--ink)}
.fit p{font-size:13.5px;color:var(--ink-muted);line-height:1.65;font-weight:600}
.tag{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:1.6px;border-radius:999px;padding:6px 12px;white-space:nowrap}
.tag.integrates{background:rgba(20,141,141,.12);color:var(--teal);border:1px solid rgba(20,141,141,.35)}
.tag.overlaps{background:rgba(239,188,117,.16);color:#a2661a;border:1px solid rgba(239,188,117,.6)}
.tag.both{background:rgba(18,48,63,.06);color:var(--ink);border:1px solid rgba(18,48,63,.22)}
.fit-note{font-style:italic;font-size:14px;color:var(--ink-muted);font-weight:600;margin-top:36px;max-width:640px}
.fit-note-top{margin-top:22px;max-width:680px;font-size:17px;font-weight:800;letter-spacing:-.01em;line-height:1.6;color:var(--ink);border-left:3px solid var(--teal);padding:14px 20px;background:rgba(20,141,141,.07);border-radius:0 10px 10px 0}
@media (max-width:820px){.fit-grid{grid-template-columns:1fr;margin-top:36px}}
