/*
Theme Name: Finprime
Description: Finprime redesign foundation. Overlay for the existing finprime theme.
Version: 2026093005
*/

*,
*:before,
*:after {
	box-sizing: border-box;
}
*, *:focus, *:focus-visible {
  outline: none !important;
}
* {
  -webkit-tap-highlight-color: transparent;
}
.finprime-site { --fp-ink: #0c264c; --fp-gold: #b4825d; --fp-canvas: #e6edf6; --fp-content: 1240px; margin: 0; background: #fff; color: var(--fp-ink); font-family: Saira, Arial, sans-serif; font-size: 16px; line-height: 1.5; }



.finprime-site *, .finprime-site *::before, .finprime-site *::after { box-sizing: border-box; }
.finprime-site :where(h1,h2,h3,p,figure) { margin: 0; }
.finprime-site :where(h1,h2,h3){ font-family: Lora, Arial, sans-serif; }
/* Headings (Lora variable, wght 400-700). Page stylesheets must NOT set font-weight / line-height on h1-h3, so these apply everywhere. */
.finprime-site :where(h1,h2,h3) { font-weight: 460; }
.finprime-site :where(h1) { font-size: 56px; line-height: .95;  padding-bottom: 10px; transform: scaleX(.95); transform-origin: left center; }
.finprime-site :where(h2,h3) { line-height: 1.04; letter-spacing: -.016em; }
.finprime-site :where(a) { color: inherit; text-decoration: none; }
.finprime-site :where(button,input,select,textarea) { font: inherit; }
.finprime-site :where(button,summary) { cursor: pointer; }
.finprime-site :where(button,a,summary,input,select,textarea,[tabindex]):focus-visible { outline: 3px solid #b4825d; outline-offset: 5px; }
.finprime-site .inner { width: min(var(--fp-content), calc(100% - 80px)); margin-inline: auto; }
.finprime-site .finprime-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 16px; border: 1px solid var(--fp-gold); border-radius: 2px; background: var(--fp-gold); color: #fff; font-size: 18px; font-weight: 600; line-height: 1; transition: background-color .2s, border-color .2s; }
.finprime-site .finprime-button img { flex-shrink: 0; transition: transform .25s ease, opacity .2s; }
.finprime-site .button-arrow { position: relative; display: inline-flex; flex-shrink: 0; }
.finprime-site .button-arrow .hover-arrow { position: absolute; inset: 0; opacity: 0; }
.finprime-site .button-gold { color: var(--fp-gold); background: linear-gradient(250deg,rgba(180,130,93,.1),transparent); }
.finprime-site .button-outline { border-color: rgba(255,255,255,.4); background: transparent; }
.finprime-site .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.finprime-site .finprime-skip { position: fixed; z-index: 100; left: 20px; top: -80px; background: #fff; padding: 12px 20px; }
.finprime-site .finprime-skip:focus { top: 12px; }
@media (hover: hover) and (pointer: fine) {
 .finprime-site .finprime-button:hover img { transform: rotate(45deg); }
 .finprime-site .button-gold:hover .button-arrow > img:first-child { opacity: 0; }
 .finprime-site .button-gold:hover .hover-arrow { opacity: 1; }
 .finprime-site .finprime-button:hover { background: #9c6a45; border-color: #9c6a45; color: #fff; }
}
@media (max-width: 768px) {
 .finprime-site { font-size: 14px; }
 .finprime-site .inner { width: calc(100% - 40px); }
 .finprime-site .finprime-button { font-size: 16px; min-height: 48px; padding: 14px 16px; }
}
@media (prefers-reduced-motion: reduce) {
 .finprime-site .finprime-button, .finprime-site .finprime-button img { transition: none; }
}
[data-animate] { opacity: 0; --animate-duration: .8s; }
[data-animate].animate__animated,
[data-animate].is-animated { opacity: 1; }
/* 移动端(≤768px)不启用动画 */
@media (max-width: 768px), (prefers-reduced-motion: reduce) {
 [data-animate] { opacity: 1; }
 [data-animate].animate__animated { animation: none !important; }
}


