/* FlipPraxis Update 21: one hover and focus language in the logo colours.
   Navy #152749 / #0C1830 carries structure, gold #EBC05D / #C99A36 marks the thing you are pointing at.
   Hover never moves layout: no lifts, no zooms. Colour, a gold rule and a firmer border show what is active. */

:root{--ease:cubic-bezier(.2,.7,.2,1);--hover-ring:0 0 0 1px var(--gold-d)}

/* ---------- Buttons ---------- */
.btn{transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease)}
.btn-gold:hover,.btn-gold:focus-visible{background:var(--gold-d);color:var(--navy-d)}
.btn-navy:hover,.btn-navy:focus-visible{background:var(--navy-d);color:#fff;box-shadow:inset 0 -3px 0 var(--gold)}
.btn-line:hover,.btn-line:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff}
.on-dark .btn-line:hover,.on-dark .btn-line:focus-visible,.lp-hero .btn-line:hover,.lp-hero .btn-line:focus-visible,.hero .btn-line:hover,.hero .btn-line:focus-visible,.ready .btn-line:hover,.ready .btn-line:focus-visible{background:rgba(235,192,93,.1);border-color:var(--gold);color:var(--gold)}
.btn:active{box-shadow:inset 0 2px 0 rgba(12,24,48,.18)}
.btn-primary{transition:background-color .16s var(--ease),box-shadow .16s var(--ease)}
.btn-primary:hover,.btn-primary:focus-visible{background:var(--navy-d);box-shadow:inset 0 -3px 0 var(--gold)}

/* ---------- Text links ---------- */
.text-link{transition:text-decoration-color .16s var(--ease),text-decoration-thickness .16s var(--ease),color .16s var(--ease)}
.text-link:hover,.text-link:focus-visible{color:var(--navy-d);text-decoration-color:var(--gold-d);text-decoration-thickness:3px}
.body a,.lead a,.art-body a,.qa-grid a,.sup-grid p a,.ins-related a,.refs a,.legal a,.hero-sub a{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold-d);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:text-decoration-thickness .16s var(--ease),color .16s var(--ease)}
.body a:hover,.lead a:hover,.art-body a:hover,.qa-grid a:hover,.sup-grid p a:hover,.ins-related a:hover,.refs a:hover,.legal a:hover{color:var(--navy-d);text-decoration-thickness:3px}
.on-dark .body a,.on-dark .lead a,.hero-sub a,.lp-hero .lead a{color:#fff;text-decoration-color:var(--gold)}
.hero-sub a:hover,.on-dark .body a:hover,.on-dark .lead a:hover,.lp-hero .lead a:hover{color:var(--gold);text-decoration-thickness:3px}
.crumb a{transition:color .16s var(--ease)}
.crumb a:hover,.crumb a:focus-visible{color:var(--gold);text-decoration-color:var(--gold)}

/* ---------- Main menu ---------- */
.nav-dd-btn,.nav-a{transition:color .16s var(--ease),box-shadow .16s var(--ease),background-color .16s var(--ease)}
.nav-dd-btn:hover,.nav-dd.open>.nav-dd-btn,.nav-a:hover{background:transparent;color:var(--navy-d);box-shadow:inset 0 -3px 0 var(--gold)}
.nav-panel a{position:relative;display:flex;gap:14px;align-items:center;padding:11px 14px;transition:background-color .16s var(--ease)}
.nav-panel a::before,.nav-panel b::after{display:none!important}
.nav-panel a:hover,.nav-panel a:focus-visible{background:var(--gold-tint);box-shadow:inset 3px 0 0 var(--gold-d)}
.nav-panel a:hover b,.nav-panel a:focus-visible b{color:var(--navy)}
.nav-panel .nmk{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:34px;border:1.5px solid var(--rule);border-radius:6px;font-family:var(--font-head);font-weight:600;font-size:15px;color:var(--navy);background:#fff;transition:background-color .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease)}
.nav-panel .nmk-apex{font-size:11.5px;letter-spacing:.04em}
.nav-panel a:hover .nmk,.nav-panel a:focus-visible .nmk{background:var(--navy-d);border-color:var(--navy-d);color:var(--gold)}
.nav-signin{transition:border-color .16s var(--ease),color .16s var(--ease),background-color .16s var(--ease)}
.nav-signin:hover,.nav-signin:focus-visible{border-color:var(--gold-d);background:var(--gold-tint);color:var(--navy-d)}
.mob-menu a{transition:color .16s var(--ease),border-color .16s var(--ease)}
@media (max-width:1100px){.nav-panel .nmk{display:none}}

/* ---------- Cards and list items: border and gold rule, no lift ---------- */
.sx-card,.sol-cards a,.rel-links a,.lp-faq-item,.ail-who-opt,.sx-links a,.sx-path a,.cat-tab,.chip{transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background-color .16s var(--ease),color .16s var(--ease)}
.sx-card:hover,.sx-card:focus-visible,.sol-cards a:hover,.sol-cards a:focus-visible,.rel-links a:hover,.rel-links a:focus-visible{transform:none;border-color:var(--gold-d);box-shadow:inset 0 3px 0 var(--gold),0 16px 30px -22px rgba(12,24,48,.5)}
.sx-card:hover .sx-card-img img{transform:none}
.rel-links a:hover small{color:var(--navy)}
.lp-faq-item:hover{border-color:var(--gold-d)}
.lp-faq-item[open]{border-color:var(--navy);box-shadow:inset 3px 0 0 var(--gold)}
.lp-faq-item summary:hover{color:var(--navy-d)}


.art-item h3 a,.art-item h3 button{transition:color .16s var(--ease)}
.art-item:hover h3 a,.art-item:hover h3 button{color:var(--navy);text-decoration:underline;text-decoration-color:var(--gold-d);text-decoration-thickness:2px;text-underline-offset:4px}
.cat-tab:hover,.cat-tab:focus-visible{border-color:var(--gold-d);color:var(--navy-d);background:var(--gold-tint)}
.ail-who-opt:hover{border-color:var(--gold-d);background:var(--gold-tint)}
.chip:hover{border-color:var(--gold-d);background:var(--gold-tint);color:var(--navy-d)}
.sx-links a:hover,.sx-links a:focus-visible,.sx-path a:hover{border-color:var(--gold-d);background:var(--gold-tint)}
.solution-links a{transition:color .16s var(--ease),border-color .16s var(--ease)}
.solution-links a:hover{color:var(--navy-d);border-bottom-color:var(--gold-d)}

/* ---------- Footer ---------- */
.fc a,.ft-legal a,.ft-legal button{transition:color .16s var(--ease)}
.fc a:hover,.fc a:focus-visible,.ft-legal a:hover{color:var(--gold)}

/* ---------- Where icons were removed: typographic structure instead ---------- */
.out-grid h3::before{content:"";display:block;width:32px;height:3px;border-radius:2px;background:var(--gold-d);margin-bottom:16px}
.out-grid .out-rank h3::before{background:var(--gold)}
.tech-grid div{display:block}
.tech-grid h3{padding-top:12px;border-top:2px solid var(--rule);margin-bottom:4px}
.ev-types li::before{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:var(--gold-d)}
.ut-grp li{display:block}
.ut-grp li strong{padding-left:14px;box-shadow:inset 3px 0 0 var(--gold-d)}
.ut-grp h3,.section-head{gap:0}
.chip{gap:0}

/* ---------- Diagram images (Solutions hero): shown whole, never cropped ---------- */
.fig-diagram{background:#F4F6FA;aspect-ratio:4/3}
.fig-diagram img{object-fit:contain!important;object-position:50% 50%!important}

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