/* Shared styles for Autointelli solution pages (/solutions/*). Page-specific visuals live in each page. */
:root { --ink:#0b1437; --navy:#0a1a4a; --navy-2:#12246b; --night:#060d26; --blue:#1f5fff; --blue-d:#1747c9; --cyan:#00c2e0; --sky:#eef3ff; --sky-2:#dfe9ff; --muted:#4b5878;
  --line:rgba(31,95,255,.14); --line-strong:rgba(11,20,55,.16); --ok:#16a34a; --warn:#f59e0b; --bad:#e11d48; --blind:#8b94ad;
  --rainbow:linear-gradient(90deg,#1f5fff,#7c3aed,#c026d3,#f58220,#0e9aa7); --shadow:0 24px 60px rgba(11,20,55,.14);
  --font:"Inter","Segoe UI Variable","Segoe UI",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif; --mono:"SFMono-Regular",ui-monospace,Consolas,monospace; --max:1240px; --ss-h:58px; }
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--sh-h,76px) + var(--ss-h) + 16px); }
body { font-family:var(--font); background:#fff; color:var(--ink); line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; } img,svg { display:block; max-width:100%; } ul,ol { list-style:none; } button { font-family:inherit; }
.icon { width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
:focus-visible { outline:3px solid var(--blue); outline-offset:3px; border-radius:6px; } .dk :focus-visible { outline-color:#ffd86b; }
.skip { position:absolute; left:12px; top:-60px; background:var(--ink); color:#fff; padding:12px 18px; border-radius:8px; z-index:500; font-weight:700; } .skip:focus { top:12px; }
.wrap { width:100%; max-width:var(--max); margin:0 auto; padding:0 24px; } @media (max-width:700px) { .wrap { padding:0 20px; } }
section { padding:96px 0; position:relative; } @media (max-width:700px) { section { padding:64px 0; } }
.bg-sky { background:var(--sky); } .dk { background:var(--night); color:#fff; }
.eyebrow { font-size:.75rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-d); margin-bottom:12px; } .dk .eyebrow { color:#ffd86b; }
h1,h2,h3,h4 { line-height:1.1; letter-spacing:-.025em; text-wrap:balance; } h2 { font-size:clamp(1.9rem,3.8vw,2.9rem); font-weight:800; }
.lead { font-size:1.125rem; color:var(--muted); max-width:720px; margin-top:14px; } .dk .lead { color:#b9c3e2; }
.center { text-align:center; } .center .lead { margin-left:auto; margin-right:auto; } .sec-head { margin-bottom:52px; }
.rb { display:block; height:4px; width:96px; border-radius:4px; background:var(--rainbow); margin:18px 0 0; } .center .rb { margin-left:auto; margin-right:auto; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 26px; border-radius:12px; font-size:.95rem; font-weight:700; border:2px solid transparent; cursor:pointer; transition:transform .18s,box-shadow .18s,background-color .18s,border-color .18s; white-space:nowrap; }
.btn:hover { transform:translateY(-1px); } .btn-blue { background:var(--blue); color:#fff; box-shadow:0 10px 26px rgba(31,95,255,.34); } .btn-blue:hover { background:var(--blue-d); }
.btn-ghost { background:rgba(255,255,255,.08); color:#fff; border-color:rgba(255,255,255,.4); } .btn-ghost:hover { background:rgba(255,255,255,.16); } .btn-line { background:#fff; border-color:var(--line-strong); } .btn-line:hover { border-color:var(--blue); color:var(--blue-d); }
.btn-gold { background:linear-gradient(135deg,#ffd86b,#f5b400); color:#2b1d00; box-shadow:0 10px 26px rgba(245,181,0,.35); } .btn-sm { min-height:40px; padding:0 20px; font-size:.875rem; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
/* in-page sub-nav, pinned under the shared header */
.ss { position:sticky; top:var(--sh-h,76px); z-index:150; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 10px 24px rgba(11,20,55,.06); }
.ss-in { display:flex; align-items:center; gap:22px; height:var(--ss-h); max-width:var(--max); margin:0 auto; padding:0 24px; }
.ss-t { font-weight:850; font-size:.95rem; letter-spacing:-.01em; white-space:nowrap; } .ss-t small { display:block; font-size:.62rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-d); }
.ss-links { display:flex; gap:2px; margin-left:auto; overflow-x:auto; scrollbar-width:none; } .ss-links::-webkit-scrollbar { display:none; }
.ss-links a { font-size:.84rem; font-weight:600; color:var(--muted); padding:9px 12px; border-radius:8px; white-space:nowrap; border-bottom:2px solid transparent; transition:color .15s,background-color .15s; } .ss-links a:hover { color:var(--ink); background:var(--sky); } .ss-links a.on { color:var(--blue-d); border-bottom-color:var(--blue); border-radius:8px 8px 0 0; }
@media (max-width:860px) { .ss-t small { display:none; } .ss-in { gap:12px; padding:0 16px; } .ss-cta { display:none; } }
.crumbs { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; font-size:.8125rem; font-weight:600; color:#b9c3e2; margin-bottom:22px; } .crumbs a:hover { color:#fff; text-decoration:underline; } .crumbs .sep { opacity:.5; }
.reveal { opacity:1; } .js .reveal { opacity:0; transform:translateY(16px); transition:opacity .55s ease-out,transform .55s ease-out; } .js .reveal.in { opacity:1; transform:none; }
/* FAQ */
.faq { max-width:900px; margin:0 auto; display:grid; gap:12px; } .faq details { background:#fff; border:1px solid var(--line-strong); border-radius:16px; transition:border-color .2s,box-shadow .2s; } .faq details[open] { border-color:var(--blue); box-shadow:0 14px 40px rgba(31,95,255,.12); }
.faq summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; min-height:64px; font-weight:750; font-size:1.02rem; } .faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:""; width:12px; height:12px; border-right:2.5px solid var(--blue); border-bottom:2.5px solid var(--blue); transform:rotate(45deg); transition:transform .2s; flex-shrink:0; margin-top:-4px; } .faq details[open] summary::after { transform:rotate(-135deg); margin-top:4px; }
.faq .ans { padding:0 24px 22px; color:var(--muted); } .faq .ans p+p { margin-top:10px; }
/* closing CTA */
.cta { background:linear-gradient(140deg,#0a1a4a 0%,#1747c9 55%,#6d28d9 100%); color:#fff; text-align:center; overflow:hidden; } .cta::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.14) 1px,transparent 0) 0 0/30px 30px; -webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000,transparent 75%); mask-image:radial-gradient(ellipse at 50% 50%,#000,transparent 75%); }
.cta .wrap { position:relative; } .cta h2 { max-width:820px; margin:0 auto; } .cta .lead { color:#dbe6ff; margin:16px auto 30px; } .cta .row { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
/* shared footer */
.sf { background:var(--night); color:#b9c3e2; padding:64px 0 30px; font-family:var(--font); } .sf a { color:inherit; text-decoration:none; } .sf-wrap { max-width:var(--max); margin:0 auto; padding:0 24px; } @media (max-width:700px) { .sf-wrap { padding:0 20px; } }
.sf-grid { display:grid; grid-template-columns:1.5fr repeat(4,1fr); gap:34px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.12); } @media (max-width:1000px) { .sf-grid { grid-template-columns:repeat(2,1fr); } .sf-brand { grid-column:1/-1; } } @media (max-width:520px) { .sf-grid { grid-template-columns:1fr; } }
.sf-logo { display:inline-block; background:#fff; padding:10px 16px; border-radius:14px; } .sf-logo img { height:44px; width:auto; } .sf-brand>p { font-size:.9rem; margin:18px 0; max-width:340px; line-height:1.7; }
.sf-cert { display:flex; flex-wrap:wrap; gap:8px; } .sf-cert span { font-size:.68rem; font-weight:800; padding:4px 10px; border-radius:999px; border:1px solid rgba(255,255,255,.25); color:#e7ecff; }
.sf-addr { font-style:normal; display:grid; gap:8px; margin-top:20px; font-size:.9rem; } .sf-addr a:hover { color:#fff; text-decoration:underline; } .sf-addr p { line-height:1.5; }
.sf h4 { color:#fff; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:14px; } .sf li a { display:inline-block; padding:5px 0; font-size:.88rem; } .sf li a:hover { color:#fff; text-decoration:underline; }
.sf-bottom { padding-top:26px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:.8125rem; color:#97a4cb; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; } .js .reveal { opacity:1; transform:none; } }
