/* AML/CTF hero visual — customer lifecycle. Design canvas 640x610; 1em = 10 design px. */
.hv{--p:#13ec80;--g:#047857;--g7:#065f46;--gs:#ecfdf5;--gl:#a7f3d0;--ink:#0f172a;--body:#475569;--mut:#64748b;--line:#e2e8f0;--amb:#b45309;--ambs:#fffbeb;--ambl:#fcd34d;
position:relative;width:100%;container-type:inline-size;font-family:'Manrope',sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
.hv-stage{position:relative;width:100%;aspect-ratio:640/610;font-size:10px;font-size:calc(100cqw / 64)}
.hv-stage>*{position:absolute}
.hv-bg{inset:0;background-image:radial-gradient(rgba(4,120,87,.16) 1px,transparent 1.4px);background-size:1.6em 1.6em;-webkit-mask-image:radial-gradient(ellipse 60% 52% at 54% 44%,#000 20%,transparent 72%);mask-image:radial-gradient(ellipse 60% 52% at 54% 44%,#000 20%,transparent 72%);opacity:.7}
.hv-svg{inset:0;width:100%;height:100%;overflow:visible}
.hv .ms{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:'liga';font-feature-settings:'liga';font-variation-settings:'FILL' 0,'wght' 500,'GRAD' 0,'opsz' 24}
.hv-glass{background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(255,255,255,.72));-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);border:1px solid rgba(255,255,255,.95);box-shadow:0 0 0 1px rgba(15,23,42,.06),0 1.8em 3.6em -1.6em rgba(15,23,42,.22),inset 0 1px 0 #fff}

/* lifecycle pill */
.hv-month{left:23em;top:6.4em;width:18em;display:flex;justify-content:center}
.hv-month span{display:flex;align-items:center;gap:.7em;padding:.6em 1.2em;border-radius:10em;font-size:1.05em;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--g7);background:rgba(236,253,245,.9);border:1px solid var(--gl)}
.hv-month i{width:.7em;height:.7em;border-radius:50%;background:var(--p);box-shadow:0 0 0 0 rgba(19,236,128,.6);animation:hv-pulse 1.8s infinite}
.hv-month b{font-variant-numeric:tabular-nums;font-weight:800}

/* central identity */
.hv-id{left:23em;top:11.4em;width:18em;height:27.2em;border-radius:1.8em;padding:1.6em 1.6em 1.4em;display:flex;flex-direction:column;z-index:2}
.hv-id-top{display:flex;justify-content:space-between;align-items:center}
.hv-id-top small{font-size:1em;font-weight:800;letter-spacing:.12em;color:var(--mut)}
.hv-chip{display:inline-flex;align-items:center;gap:.3em;padding:.35em .8em;border-radius:10em;font-size:1em;font-weight:800;background:var(--gs);color:var(--g7);border:1px solid var(--gl);white-space:nowrap;transition:background .4s,color .4s,border-color .4s}
.hv-chip .ms{font-size:1.25em}
.hv-chip.is-amber{background:var(--ambs);color:var(--amb);border-color:var(--ambl)}
.hv-av{position:relative;width:7.2em;height:7.2em;margin:1.8em auto 1.2em;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#fff,#e9f8f0);border:1px solid var(--gl);box-shadow:0 0 0 .6em rgba(19,236,128,.10),0 0 2.4em rgba(19,236,128,.25)}
.hv-av .ms{font-size:3.8em;color:var(--g);font-variation-settings:'FILL' 1,'wght' 500,'GRAD' 0,'opsz' 48}
.hv-av img{position:absolute;inset:.3em;width:calc(100% - .6em);height:calc(100% - .6em);border-radius:50%;object-fit:cover;object-position:50% 42%;display:block}
.hv-av--photo{background:#fff;overflow:visible}
.hv-av em{position:absolute;right:-.2em;bottom:.1em;width:2.2em;height:2.2em;border-radius:50%;background:var(--p);display:grid;place-items:center;border:.2em solid #fff}
.hv-av em .ms{font-size:1.4em;color:var(--ink);font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 0,'opsz' 20}
.hv-id h4{text-align:center;font-size:1.7em;line-height:1.15;font-weight:800;letter-spacing:-.01em;margin:0}
.hv-id p{text-align:center;font-size:1.15em;color:var(--mut);font-weight:600;margin:.3em 0 0}
.hv-id dl{margin:auto 0 0;border-top:1px solid var(--line);padding-top:1em;display:grid;gap:.7em}
.hv-id dl div{display:flex;justify-content:space-between;font-size:1.15em}
.hv-id dt{color:var(--mut);font-weight:600}
.hv-id dd{margin:0;font-weight:800;display:flex;align-items:center;gap:.4em}
.hv-id dd i{width:.6em;height:.6em;border-radius:50%;background:var(--p)}

/* lifecycle stages */
.hv-st{width:15.6em;height:6em;border-radius:1.4em;display:flex;align-items:center;gap:1em;padding:0 1.2em;z-index:3;transition:box-shadow .5s,border-color .5s,transform .5s}
.hv-st-ic{flex:none;width:3.6em;height:3.6em;border-radius:1em;display:grid;place-items:center;background:var(--gs);color:var(--g);border:1px solid var(--gl);transition:background .4s,color .4s}
.hv-st-ic .ms{font-size:2em}
.hv-st b{display:block;font-size:1.15em;font-weight:800;letter-spacing:.14em;color:var(--ink)}
.hv-st span{display:block;font-size:1.05em;font-weight:600;color:var(--mut);line-height:1.3;margin-top:.15em}
.hv-st-ok{position:absolute;top:-.8em;right:-.8em;width:2.2em;height:2.2em;border-radius:50%;background:var(--p);border:.2em solid #fff;display:grid;place-items:center;opacity:0;transform:scale(.6);transition:opacity .35s,transform .35s cubic-bezier(.3,1.6,.5,1)}
.hv-st-ok .ms{font-size:1.3em;color:var(--ink);font-variation-settings:'FILL' 0,'wght' 700,'GRAD' 0,'opsz' 20}
.hv-st.is-done .hv-st-ok{opacity:1;transform:none}
.hv-st.is-active{border-color:rgba(19,236,128,.9);box-shadow:0 0 0 1px rgba(19,236,128,.55),0 0 2.6em rgba(19,236,128,.38),0 1.8em 3.6em -1.6em rgba(15,23,42,.22),inset 0 1px 0 #fff;transform:translateY(-.3em)}
.hv-st.is-active .hv-st-ic{background:var(--p);color:var(--ink);border-color:var(--p)}
.hv-st--1{left:3em;top:37.6em}
.hv-st--2{left:24.2em;top:43.4em}
.hv-st--3{left:45.4em;top:37.6em}

/* evidence cards */
.hv-ev{width:16.8em;border-radius:1.4em;padding:1.2em 1.3em;z-index:3;opacity:0;transform:translateY(.8em) scale(.97);transition:opacity .6s,transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s}
.hv-ev.is-on{opacity:1;transform:none}
.hv-ev.is-new{border-color:rgba(19,236,128,.9);box-shadow:0 0 0 1px rgba(19,236,128,.5),0 0 2.4em rgba(19,236,128,.3),0 1.8em 3.6em -1.6em rgba(15,23,42,.22)}
.hv-ev.is-warn{border-color:var(--ambl);box-shadow:0 0 0 1px rgba(252,211,77,.8),0 0 2.4em rgba(251,191,36,.25),0 1.8em 3.6em -1.6em rgba(15,23,42,.22)}
.hv-ev-h{display:flex;align-items:center;gap:.8em}
.hv-ev-ic{flex:none;width:2.8em;height:2.8em;border-radius:.8em;display:grid;place-items:center;background:var(--gs);color:var(--g);transition:background .4s,color .4s}
.hv-ev-ic .ms{font-size:1.6em}
.hv-ev.is-warn .hv-ev-ic{background:var(--ambs);color:var(--amb)}
.hv-ev h5{flex:1;font-size:1.25em;font-weight:800;margin:0;line-height:1.2}
.hv-ev p{font-size:1.1em;color:var(--body);font-weight:600;line-height:1.4;margin:.7em 0 0;min-height:2.8em;text-wrap:pretty}
.hv-ev .hv-chip{margin-top:.8em}
.hv-ev-f{display:flex;align-items:center;justify-content:space-between;gap:.6em;margin-top:.8em}
.hv-ev-f small{white-space:nowrap;font-size:1em;font-weight:700;color:var(--mut);font-variant-numeric:tabular-nums}
.hv-ev-f .hv-chip{margin:0}
.hv-ev--a{left:1.4em;top:4em}
.hv-ev--c{left:1.4em;top:20.6em}
.hv-ev--b{left:45.8em;top:4em}
.hv-ev--d{left:45.8em;top:20.6em}
.hv-ev--e{left:15em;top:52em;width:34em;padding:1.1em 1.4em}
.hv-ev--e p{min-height:0;margin:0;font-size:1.05em;color:var(--mut)}
.hv-ev--e .hv-ev-h>div:not(.hv-ev-ic){flex:1}
.hv-ev--e .hv-ev-n{font-size:1.9em;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.02em}
.hv-ev--e .hv-ev-n small{font-size:.55em;font-weight:700;color:var(--mut);letter-spacing:0;margin-left:.3em}
.hv-ticks{display:grid;grid-template-columns:repeat(30,1fr);gap:.3em;margin-top:1em}
.hv-ticks i{height:.6em;border-radius:.2em;background:#eef2f7;transition:background .4s}
.hv-ticks i.on{background:var(--p)}
.hv-ticks i.w{background:#fbbf24}

@keyframes hv-pulse{0%{box-shadow:0 0 0 0 rgba(19,236,128,.6)}70%{box-shadow:0 0 0 .7em rgba(19,236,128,0)}100%{box-shadow:0 0 0 0 rgba(19,236,128,0)}}

/* svg */
.hv-wire{fill:none;stroke:rgba(100,116,139,.28);stroke-width:1.4;stroke-dasharray:3 4;transition:stroke .5s}
.hv-wire.is-on{stroke:rgba(4,120,87,.55);stroke-dasharray:none}
.hv-ring{fill:none;stroke:rgba(19,236,128,.38);stroke-width:2.2}
.hv-trail{fill:none;stroke:#13ec80;stroke-linecap:round}

@media (prefers-reduced-motion:reduce){.hv *{transition:none!important;animation:none!important}}

/* Image / SVG hero (hero_media = image | svg) */
.sol-hero-media{position:relative;width:100%}
.sol-hero-media__img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center}

/* Hero layout: plain CSS so it doesn't depend on Tailwind arbitrary classes being compiled */
.sol-hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
.sol-hero-vis{min-width:0;width:100%;max-width:640px;margin:0 auto}
@media (min-width:1024px){.sol-hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.sol-hero-vis{margin-right:-24px}}
.hv .hv-bang{font-family:'Manrope',sans-serif;font-weight:900;font-size:1.1em;width:1em;text-align:center}
