/* Seinto360 · VeriFactu · v87 */
.site-main--verifactu { overflow: clip; background: #fff; }
.vf-page {
  --vf-ink: #08111c;
  --vf-copy: #4d5b6b;
  --vf-line: rgba(8,40,70,.11);
  --vf-blue: var(--si-blue,#0872be);
  --vf-orange: var(--si-orange,#ff9418);
  --vf-green: #22a56f;
  --vf-soft: #f4f3ef;
  color: var(--vf-ink);
  background: #fff;
}
.vf-page *, .vf-page *::before, .vf-page *::after { box-sizing: border-box; }
.vf-page img { max-width: 100%; display: block; }
.vf-section { padding: clamp(72px,7vw,112px) 0; }
.vf-head { max-width: 980px; margin-bottom: clamp(34px,4vw,56px); }
.vf-head--center { margin-inline: auto; text-align: center; }
.vf-head h2,
.vf-copy h2,
.vf-two-cards h2,
.vf-seo h2,
.vf-final h2,
.vf-faq__grid h2 {
  margin: 0 0 20px;
  color: var(--vf-ink);
  font-size: clamp(2.3rem,4.35vw,4.6rem);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.06em;
}
.vf-head p,
.vf-copy p,
.vf-two-cards p,
.vf-seo p,
.vf-final p,
.vf-faq__grid > .vf-copy p {
  margin: 0 0 14px;
  color: var(--vf-copy);
  font-size: clamp(1rem,1.18vw,1.14rem);
  line-height: 1.72;
}
.vf-copy strong, .vf-head strong, .vf-seo strong, .vf-final strong { color: var(--vf-ink); }
.vf-copy { min-width: 0; max-width: 710px; }
.vf-closing, .vf-center-closing { display: block; margin-top: 24px; color: #122234; font-size: 1.03rem; line-height: 1.5; }
.vf-center-closing { text-align: center; }
.vf-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.vf-actions--center { justify-content: center; }
.vf-soft { background: #f5f4f0; }
.vf-dark { background: #071827; color: #fff; }
.vf-dark .vf-copy h2, .vf-dark .vf-copy strong, .vf-dark .vf-closing { color: #fff; }
.vf-dark .vf-copy p { color: #b9c7d5; }
.vf-dark .vf-pills span { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.11); color: #eef5fb; }

/* Hero */
.vf-hero { display: flex; align-items: center; min-height: clamp(720px,88vh,920px); padding: 0 0 clamp(64px,7vw,96px); background: #fff; }
.vf-hero__grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(560px,1.08fr); gap: clamp(40px,5vw,76px); align-items: center; }
.vf-hero__copy { max-width: 700px; }
.vf-hero__copy h1 { max-width: 14ch; margin: 0 0 24px; color: #05070b; font-size: clamp(3rem,5vw,5rem); font-weight: 700; line-height: .96; letter-spacing: -.068em; }
.vf-hero__copy p { max-width: 66ch; margin: 0 0 13px; color: #364252; font-size: clamp(1rem,1.15vw,1.16rem); line-height: 1.72; }
.vf-hero__claim { display: block; margin-top: 24px; padding-top: 20px; border-top: 1px solid #e3e8eb; color: #111923; font-size: 1.05rem; }
.vf-hero__visual { position: relative; min-height: 580px; padding: 24px; border: 1px solid rgba(8,114,190,.13); border-radius: 34px; background: radial-gradient(circle at 0 0,rgba(8,114,190,.11),transparent 35%),radial-gradient(circle at 100% 100%,rgba(255,148,24,.12),transparent 34%),#f8fbfd; box-shadow: 0 28px 78px rgba(13,34,55,.11); }
.vf-invoice { position: absolute; left: 32px; top: 38px; width: min(64%,390px); min-height: 455px; padding: 26px; border: 1px solid #e1e7eb; border-radius: 22px; background: #fff; box-shadow: 0 24px 52px rgba(12,30,48,.12); transform: rotate(-2deg); }
.vf-invoice__head { display: flex; justify-content: space-between; gap: 16px; align-items: start; padding-bottom: 20px; border-bottom: 1px solid #e9edf0; }
.vf-invoice__head small, .vf-invoice__head strong { display: block; }
.vf-invoice__head small { color: var(--vf-blue); font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.vf-invoice__head strong { margin-top: 5px; color: #24384a; font-size: .95rem; }
.vf-invoice__head > span { padding: 7px 10px; border-radius: 999px; background: #e9f7ef; color: #24774f; font-size: .61rem; font-weight: 900; }
.vf-invoice__meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.vf-invoice__meta small, .vf-invoice__meta b { display: block; }
.vf-invoice__meta small { color: #83909c; font-size: .62rem; }
.vf-invoice__meta b { margin-top: 4px; color: #334758; font-size: .72rem; }
.vf-invoice__lines { display: grid; gap: 12px; margin: 28px 0; }
.vf-invoice__lines i { height: 11px; border-radius: 999px; background: #edf1f4; }
.vf-invoice__lines i:nth-child(2) { width: 82%; }
.vf-invoice__lines i:nth-child(3) { width: 93%; }
.vf-invoice__lines i:nth-child(4) { width: 68%; }
.vf-invoice__total { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 15px 0; border-top: 1px solid #e8ecef; border-bottom: 1px solid #e8ecef; }
.vf-invoice__total small { color: #7c8995; font-size: .65rem; }
.vf-invoice__total strong { color: #203448; font-size: 1.1rem; }
.vf-invoice__footer { display: flex; align-items: center; gap: 14px; margin-top: 20px; }
.vf-invoice__footer small, .vf-invoice__footer b { display: block; }
.vf-invoice__footer small { color: #7f8b96; font-size: .6rem; }
.vf-invoice__footer b { margin-top: 4px; color: #2b4051; font-size: .72rem; }
.vf-qr { display: grid; grid-template-columns: repeat(3,8px); grid-auto-rows: 8px; gap: 2px; width: max-content; padding: 7px; border: 1px solid #dce2e7; background: #fff; }
.vf-qr i { background: #0f1c28; }
.vf-qr i:nth-child(2), .vf-qr i:nth-child(6), .vf-qr i:nth-child(8) { background: #fff; }
.vf-process-card { position: absolute; right: 28px; bottom: 36px; width: min(64%,430px); padding: 22px; border: 1px solid rgba(8,114,190,.12); border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 22px 52px rgba(13,34,55,.12); }
.vf-process-card > small { color: #6c7a87; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.vf-process-card__steps { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 14px; }
.vf-process-card__steps span { padding: 9px 10px; border: 1px solid #e2e7eb; border-radius: 10px; color: #2d4152; font-size: .64rem; font-weight: 800; background: #f9fafb; }
.vf-process-card__steps b { color: var(--vf-orange); }
.vf-process-card__status { display: flex; align-items: center; gap: 8px; margin-top: 16px; color: #257750; font-size: .68rem; font-weight: 800; }
.vf-process-card__status i { width: 9px; height: 9px; border-radius: 50%; background: #28a872; box-shadow: 0 0 0 5px rgba(40,168,114,.10); }

/* Benefits */
.vf-benefits { background: var(--vf-soft); }
.vf-benefits__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.vf-benefit { min-height: 270px; padding: 28px; border: 1px solid #e1ded7; border-radius: 22px; background: #f9f8f5; box-shadow: 0 16px 38px rgba(15,35,55,.045); }
.vf-benefit > span, .vf-diff__grid article > span, .vf-two-cards article > span { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 34px; border-radius: 13px; background: linear-gradient(135deg,#e5f3ff,#fff0de); color: #075a98; font-size: 12px; font-weight: 900; }
.vf-benefit h3, .vf-diff__grid h3 { margin: 0 0 11px; color: var(--vf-ink); font-size: clamp(1.3rem,1.8vw,1.75rem); line-height: 1.08; letter-spacing: -.035em; }
.vf-benefit p, .vf-diff__grid p { margin: 0; color: #4e5968; line-height: 1.62; }

/* Common */
.vf-split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(46px,6vw,92px); }
.vf-split--wide { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
.vf-split--reverse .vf-copy { order: 2; }
.vf-split--reverse > :not(.vf-copy) { order: 1; }
.vf-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.vf-pills span { padding: 10px 12px; border: 1px solid #e1e6ea; border-radius: 999px; background: #fafaf8; color: #344657; font-size: .76rem; font-weight: 800; }
.vf-pills--light span { background: #f8fafb; }

/* Principles */
.vf-principles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.vf-principles article { min-height: 130px; padding: 20px; border: 1px solid #e0e6ea; border-radius: 18px; background: linear-gradient(135deg,#f8fbfd,#fff); }
.vf-principles span, .vf-principles strong { display: block; }
.vf-principles span { color: #9aa5af; font-size: .66rem; font-weight: 900; }
.vf-principles strong { margin-top: 28px; color: #24384a; font-size: 1.05rem; }

/* Dates */
.vf-dates { background: #071827; color: #fff; }
.vf-dates .vf-head h2 { color: #fff; }
.vf-dates .vf-head p { color: #b9c7d5; }
.vf-dates__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; max-width: 1000px; margin: 0 auto; }
.vf-dates__grid article { min-height: 300px; padding: 32px; border: 1px solid rgba(255,255,255,.09); border-radius: 28px; background: radial-gradient(circle at 100% 0,rgba(8,114,190,.18),transparent 38%),rgba(255,255,255,.04); }
.vf-dates__grid small, .vf-dates__grid strong, .vf-dates__grid b { display: block; }
.vf-dates__grid small { color: #aebdcc; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.vf-dates__grid strong { margin-top: 34px; color: #fff; font-size: clamp(3rem,6vw,5rem); line-height: .9; letter-spacing: -.06em; }
.vf-dates__grid b { margin-top: 8px; color: var(--vf-orange); font-size: 1.25rem; letter-spacing: .12em; }
.vf-dates__grid p { margin: 28px 0 0; color: #c5d0da; line-height: 1.65; }
.vf-dates .vf-center-closing { color: #fff; }

/* Flow board */
.vf-flow-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.vf-flow-board div { position: relative; min-height: 150px; padding: 22px; border: 1px solid #e0e6ea; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(15,35,55,.05); }
.vf-flow-board span, .vf-flow-board strong { display: block; }
.vf-flow-board span { color: #9ca6af; font-size: .68rem; font-weight: 900; }
.vf-flow-board strong { margin-top: 46px; color: #253a4d; font-size: .98rem; }
.vf-flow-board b { position: absolute; right: -10px; top: 50%; transform: translateY(-50%); color: var(--vf-orange); z-index: 2; }
.vf-flow-board div:nth-child(3) b { display: none; }

/* Checklist */
.vf-checklist { overflow: hidden; border: 1px solid #dde4e9; border-radius: 28px; background: #fff; box-shadow: 0 22px 58px rgba(15,35,55,.07); }
.vf-checklist__head { display: flex; justify-content: space-between; gap: 16px; padding: 20px 22px; border-bottom: 1px solid #e7ebee; background: #fafbfc; }
.vf-checklist__head span { color: #273a4c; font-weight: 850; }
.vf-checklist__head strong { color: #26774f; font-size: .75rem; }
.vf-check { display: flex; align-items: center; gap: 12px; padding: 16px 22px; border-top: 1px solid #edf0f2; }
.vf-check:first-of-type { border-top: 0; }
.vf-check i { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; background: #e9f7ef; color: #24774f; font-style: normal; font-weight: 900; }
.vf-check span { color: #415260; font-size: .83rem; }

/* Chain */
.vf-chain { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 16px; align-items: center; }
.vf-chain article { min-height: 210px; padding: 28px; border: 1px solid #e0e6ea; border-radius: 24px; background: #fff; box-shadow: 0 18px 42px rgba(15,35,55,.055); }
.vf-chain small, .vf-chain strong, .vf-chain span { display: block; }
.vf-chain small { color: #87939f; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.vf-chain strong { margin-top: 35px; color: #24384a; font-size: 1.55rem; }
.vf-chain span { margin-top: 24px; padding-top: 14px; border-top: 1px solid #e9edf0; color: #617180; font-size: .78rem; }
.vf-chain > b { color: var(--vf-orange); font-size: 1.3rem; }

/* Hash */
.vf-hash { padding: 32px; border: 1px solid rgba(255,255,255,.09); border-radius: 28px; background: radial-gradient(circle at 100% 0,rgba(8,114,190,.18),transparent 35%),rgba(255,255,255,.04); }
.vf-hash > small { color: #8fa3b7; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.vf-hash > strong { display: block; margin-top: 18px; color: #fff; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: clamp(1.4rem,2.5vw,2.1rem); line-height: 1.35; letter-spacing: .04em; word-break: break-word; }
.vf-hash > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.10); }
.vf-hash > div span { padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.07); color: #dbe6f0; font-size: .7rem; font-weight: 800; }
.vf-hash > div b { color: var(--vf-orange); }

/* QR invoice */
.vf-qr-invoice { display: grid; place-items: center; min-height: 520px; padding: 28px; border: 1px solid rgba(8,114,190,.12); border-radius: 30px; background: linear-gradient(145deg,#eff8ff,#fff8ee); }
.vf-qr-invoice__paper { width: min(100%,390px); min-height: 430px; padding: 30px; border: 1px solid #dde4e8; border-radius: 18px; background: #fff; box-shadow: 0 26px 56px rgba(15,35,55,.12); transform: rotate(2deg); }
.vf-qr-invoice__paper > small { color: var(--vf-blue); font-weight: 900; letter-spacing: .12em; }
.vf-qr-invoice__paper > strong { display: block; margin-top: 7px; color: #24384a; font-size: 1.05rem; }
.vf-paper-lines { display: grid; gap: 12px; margin: 42px 0; }
.vf-paper-lines i { height: 10px; border-radius: 999px; background: #edf1f4; }
.vf-paper-lines i:nth-child(2) { width: 86%; }
.vf-paper-lines i:nth-child(3) { width: 94%; }
.vf-paper-lines i:nth-child(4) { width: 70%; }
.vf-paper-bottom { display: flex; align-items: center; gap: 18px; padding-top: 22px; border-top: 1px solid #e7ebee; }
.vf-qr--large { grid-template-columns: repeat(3,14px); grid-auto-rows: 14px; gap: 3px; padding: 9px; }
.vf-paper-bottom b, .vf-paper-bottom small { display: block; }
.vf-paper-bottom b { color: #263b4d; }
.vf-paper-bottom small { margin-top: 5px; color: #7c8995; font-size: .7rem; }

/* XML */
.vf-xml { padding: 28px; border: 1px solid #dde4e8; border-radius: 28px; background: #fff; box-shadow: 0 20px 52px rgba(15,35,55,.07); }
.vf-xml__code { padding: 22px; border-radius: 18px; background: #071827; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; }
.vf-xml__code small, .vf-xml__code span { display: block; line-height: 1.8; }
.vf-xml__code small { color: #89bceb; }
.vf-xml__code span { padding-left: 18px; color: #d9e7f4; }
.vf-xml__status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }
.vf-xml__status span { padding: 10px 12px; border: 1px solid #e0e6ea; border-radius: 11px; color: #425463; font-size: .72rem; font-weight: 800; }
.vf-xml__status .is-ok { background: #e9f7ef; color: #24774f; border-color: #d7eddf; }
.vf-xml__status b { color: var(--vf-orange); }

/* AEAT */
.vf-aeat { display: grid; grid-template-columns: 1fr minmax(110px,.6fr) 1fr; gap: 12px; align-items: center; min-height: 360px; padding: 30px; border: 1px solid rgba(8,114,190,.12); border-radius: 30px; background: linear-gradient(145deg,#eff8ff,#fff9f1); }
.vf-aeat__source, .vf-aeat__target { display: grid; place-items: center; min-height: 150px; padding: 20px; border-radius: 22px; background: #fff; border: 1px solid #dfe6ea; color: #23394c; font-size: 1.2rem; font-weight: 900; text-align: center; box-shadow: 0 18px 36px rgba(15,35,55,.07); }
.vf-aeat__source small, .vf-aeat__target small { display: block; margin-top: 8px; color: #7d8a96; font-size: .68rem; font-weight: 700; }
.vf-aeat__target { background: linear-gradient(135deg,#075f9f,#0872be); color: #fff; border-color: transparent; }
.vf-aeat__target small { color: #d7e8f6; }
.vf-aeat__line { position: relative; height: 4px; border-radius: 999px; background: linear-gradient(90deg,var(--vf-blue),var(--vf-orange)); }
.vf-aeat__line i { position: absolute; left: 30%; top: 50%; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid var(--vf-blue); transform: translateY(-50%); }
.vf-aeat__line b { position: absolute; right: -3px; top: 50%; transform: translateY(-53%); color: var(--vf-orange); font-size: 1.4rem; }

/* Status */
.vf-status-table { overflow: hidden; border: 1px solid rgba(255,255,255,.10); border-radius: 24px; background: rgba(255,255,255,.04); }
.vf-status-table__head, .vf-status-table > div:not(.vf-status-table__head) { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; align-items: center; padding: 16px 20px; }
.vf-status-table__head { background: rgba(255,255,255,.06); color: #8fa4b7; font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.vf-status-table > div:not(.vf-status-table__head) { border-top: 1px solid rgba(255,255,255,.08); }
.vf-status-table b { color: #fff; font-size: .82rem; }
.vf-status-table em { justify-self: start; padding: 7px 9px; border-radius: 999px; font-size: .64rem; font-style: normal; font-weight: 850; }
.vf-status-table em.is-ok { background: rgba(50,183,124,.14); color: #8ee0b3; }
.vf-status-table em.is-warn { background: rgba(255,165,48,.14); color: #ffc47a; }
.vf-status-table strong { color: #cbd7e2; font-size: .74rem; }

/* Two cards */
.vf-two-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.vf-two-cards article { padding: clamp(30px,4vw,46px); border: 1px solid #e0e5e9; border-radius: 28px; background: #fff; box-shadow: 0 18px 48px rgba(15,35,55,.055); }
.vf-two-cards article:nth-child(2) { background: linear-gradient(145deg,#f8fbfd,#fff8ef); }
.vf-two-cards h2 { font-size: clamp(2rem,3.3vw,3.4rem); }
.vf-two-cards strong { display: block; margin-top: 22px; color: #16283a; line-height: 1.5; }

/* linear flow */
.vf-linear-flow { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px; }
.vf-linear-flow span { min-width: 150px; padding: 18px 20px; border: 1px solid #dee5e9; border-radius: 18px; background: #fff; color: #263a4c; text-align: center; font-weight: 850; box-shadow: 0 14px 30px rgba(15,35,55,.05); }
.vf-linear-flow b { color: var(--vf-orange); }
.vf-linear-flow--dark span { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.10); color: #fff; box-shadow: none; }

/* Orbit */
.vf-orbit { position: relative; min-height: 480px; border: 1px solid rgba(8,114,190,.12); border-radius: 32px; background: radial-gradient(circle at center,rgba(8,114,190,.12),transparent 36%),#f8fbfd; overflow: hidden; }
.vf-orbit::before { content: ''; position: absolute; inset: 76px 110px; border: 2px dashed rgba(8,114,190,.14); border-radius: 50%; }
.vf-orbit__center { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 180px; min-height: 110px; padding: 18px; border-radius: 24px; background: linear-gradient(135deg,var(--vf-blue),#075a98); color: #fff; font-weight: 900; box-shadow: 0 22px 42px rgba(8,86,151,.24); }
.vf-orbit__center small { display: block; margin-top: 5px; color: rgba(255,255,255,.75); }
.vf-orbit__chip { position: absolute; min-width: 118px; padding: 13px 15px; border: 1px solid #e0e6ea; border-radius: 15px; background: #fff; color: #26394a; text-align: center; font-size: .74rem; font-weight: 850; box-shadow: 0 14px 30px rgba(15,35,55,.07); }
.vf-orbit__chip--1 { top: 40px; left: 50%; transform: translateX(-50%); }
.vf-orbit__chip--2 { top: 110px; left: 40px; }
.vf-orbit__chip--3 { top: 110px; right: 40px; }
.vf-orbit__chip--4 { bottom: 110px; left: 40px; }
.vf-orbit__chip--5 { bottom: 110px; right: 40px; }
.vf-orbit__chip--6 { bottom: 40px; left: 50%; transform: translateX(-50%); }

/* Regimes */
.vf-regimes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.vf-regimes article { min-height: 190px; padding: 28px; border: 1px solid #e0e5e9; border-radius: 24px; background: #fff; box-shadow: 0 16px 38px rgba(15,35,55,.05); }
.vf-regimes strong, .vf-regimes span { display: block; }
.vf-regimes strong { color: #213648; font-size: 1.45rem; }
.vf-regimes span { margin-top: 42px; color: #607080; line-height: 1.55; }
.vf-regimes article:nth-child(2) { background: #f6f9fb; }
.vf-regimes article:nth-child(3) { background: #fff8ee; }

/* Lock */
.vf-lock { display: grid; place-items: center; min-height: 420px; padding: 34px; border: 1px solid #e0e6ea; border-radius: 30px; background: #fff; box-shadow: 0 20px 52px rgba(15,35,55,.07); text-align: center; }
.vf-lock__icon { display: grid; place-items: center; width: 82px; height: 82px; border-radius: 26px; background: linear-gradient(135deg,#e5f3ff,#eaf8ef); color: #167c54; font-size: 2rem; font-weight: 900; }
.vf-lock strong { margin-top: 22px; color: #203648; font-size: 1.55rem; }
.vf-lock > span { margin-top: 8px; color: #6c7a87; }
.vf-lock__track { display: flex; gap: 12px; margin-top: 36px; }
.vf-lock__track i { width: 54px; height: 8px; border-radius: 999px; background: linear-gradient(90deg,var(--vf-blue),#47a6e9); }

/* State */
.vf-state { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; }
.vf-state article { min-height: 210px; padding: 26px; border: 1px solid #e0e6ea; border-radius: 24px; background: #fff; }
.vf-state article.is-locked { background: linear-gradient(145deg,#eef8ff,#fff8ef); border-color: rgba(8,114,190,.17); }
.vf-state small, .vf-state strong, .vf-state span { display: block; }
.vf-state small { color: #87939f; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.vf-state strong { margin-top: 44px; color: #25394b; font-size: 1.25rem; }
.vf-state span { margin-top: 10px; color: #687784; }
.vf-state > b { color: var(--vf-orange); }

/* Document */
.vf-document { display: grid; place-items: center; min-height: 450px; }
.vf-document__paper { width: min(100%,390px); min-height: 400px; padding: 30px; border-radius: 18px; background: #fff; color: #223648; box-shadow: 0 26px 56px rgba(0,0,0,.22); transform: rotate(2deg); }
.vf-document__paper > small { color: var(--vf-blue); font-weight: 900; letter-spacing: .12em; }
.vf-document__paper h3 { margin: 18px 0 8px; font-size: 1.65rem; line-height: 1.05; letter-spacing: -.04em; }
.vf-document__paper p { margin: 0; color: #6f7d89; font-size: .78rem; }
.vf-document__lines { display: grid; gap: 12px; margin-top: 46px; }
.vf-document__lines i { height: 10px; border-radius: 999px; background: #edf1f3; }
.vf-document__lines i:nth-child(2), .vf-document__lines i:nth-child(5) { width: 80%; }
.vf-document__paper footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 48px; padding-top: 18px; border-top: 1px solid #e7ebee; }
.vf-document__paper footer span { color: #87939f; font-size: .68rem; }
.vf-document__paper footer b { color: #26774f; font-size: .68rem; }

/* Automation */
.vf-automation { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr auto 1fr; gap: 8px; align-items: center; }
.vf-automation article { min-height: 160px; padding: 20px; border: 1px solid #e0e6ea; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(15,35,55,.05); }
.vf-automation span, .vf-automation strong { display: block; }
.vf-automation span { color: #9aa5af; font-size: .65rem; font-weight: 900; }
.vf-automation strong { margin-top: 48px; color: #25394b; font-size: .88rem; line-height: 1.3; }
.vf-automation > b { color: var(--vf-orange); }

/* Differentials */
.vf-diff { background: #f4f3ef; }
.vf-diff__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.vf-diff__grid article { min-height: 250px; padding: 26px; border: 1px solid #e1ded7; border-radius: 20px; background: #fff; box-shadow: 0 14px 34px rgba(15,35,55,.04); }
.vf-diff__grid article > span { width: 42px; height: 42px; margin-bottom: 30px; border-radius: 12px; }
.vf-diff__grid article:nth-child(even) > span { background: #fff0de; color: #a45e08; }

/* SEO */
.vf-seo { padding: clamp(40px,5vw,66px); border: 1px solid rgba(8,114,190,.12); border-radius: 32px; background: radial-gradient(circle at 0 0,rgba(8,114,190,.10),transparent 34%),radial-gradient(circle at 100% 100%,rgba(255,148,24,.10),transparent 34%),#f8fbfd; }
.vf-seo h2 { max-width: 900px; }
.vf-seo p { max-width: 1000px; }

/* FAQ */
.vf-faq__grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: clamp(46px,6vw,90px); align-items: start; }
.vf-faq__list { display: grid; gap: 10px; }
.vf-faq details { border-bottom: 1px solid #e1e6e9; }
.vf-faq summary { position: relative; padding: 20px 36px 20px 0; color: #233648; cursor: pointer; list-style: none; font-size: 1.02rem; font-weight: 800; }
.vf-faq summary::-webkit-details-marker { display: none; }
.vf-faq summary::after { content: '+'; position: absolute; right: 0; top: 18px; color: var(--vf-blue); font-size: 1.4rem; }
.vf-faq details[open] summary::after { content: '–'; }
.vf-faq details p { margin: 0; padding: 0 30px 20px 0; color: #596977; line-height: 1.7; }

/* Final */
.vf-final { padding-top: clamp(50px,5vw,76px); }
.vf-final__surface { padding: clamp(48px,6vw,78px); border: 1px solid rgba(8,114,190,.12); border-radius: 34px; background: radial-gradient(circle at 0 0,rgba(8,114,190,.11),transparent 34%),radial-gradient(circle at 100% 100%,rgba(255,148,24,.12),transparent 34%),#f8fbfd; text-align: center; }
.vf-final__surface h2 { max-width: 1000px; margin-inline: auto; }
.vf-final__surface p { max-width: 860px; margin-inline: auto; }
.vf-final__flow { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; margin-top: 28px; }
.vf-final__flow span { padding: 11px 14px; border: 1px solid #dfe6ea; border-radius: 12px; background: #fff; color: #2d4051; font-size: .76rem; font-weight: 850; }
.vf-final__flow b { color: var(--vf-orange); }

/* reveal */
[data-vf-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
[data-vf-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1180px) {
  .vf-hero__grid, .vf-split, .vf-faq__grid { grid-template-columns: 1fr; }
  .vf-hero { padding-top: 0; }
  .vf-hero__copy { max-width: 820px; }
  .vf-hero__visual { max-width: 900px; width: 100%; }
  .vf-split--reverse .vf-copy, .vf-split--reverse > :not(.vf-copy) { order: initial; }
  .vf-diff__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vf-automation { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .vf-automation > b { display: none; }
  .vf-regimes { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 860px) {
  .vf-section { padding: 64px 0; }
  .vf-benefits__grid, .vf-two-cards, .vf-dates__grid, .vf-diff__grid { grid-template-columns: 1fr; }
  .vf-chain { grid-template-columns: 1fr; }
  .vf-chain > b { transform: rotate(90deg); justify-self: center; }
  .vf-flow-board { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vf-flow-board div:nth-child(3) b { display: block; }
  .vf-flow-board div:nth-child(even) b { display: none; }
  .vf-principles { grid-template-columns: 1fr 1fr; }
  .vf-regimes { grid-template-columns: 1fr; }
  .vf-orbit { min-height: 600px; }
  .vf-orbit::before { inset: 92px 55px; }
  .vf-automation { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .vf-state { grid-template-columns: 1fr; }
  .vf-state > b { transform: rotate(90deg); justify-self: center; }
}
@media (max-width: 640px) {
  .vf-hero { min-height: auto; padding-bottom: 58px; }
  .vf-hero__grid { gap: 34px; }
  .vf-hero__copy h1 { font-size: clamp(2.65rem,12vw,4rem); }
  .vf-actions { display: grid; }
  .vf-actions .si-button { width: 100%; }
  .vf-hero__visual { min-height: 690px; padding: 16px; border-radius: 24px; }
  .vf-invoice { position: relative; left: auto; top: auto; width: 100%; min-height: 430px; transform: none; }
  .vf-process-card { position: relative; right: auto; bottom: auto; width: 100%; margin-top: 14px; }
  .vf-principles { grid-template-columns: 1fr; }
  .vf-flow-board { grid-template-columns: 1fr; }
  .vf-flow-board b, .vf-flow-board div:nth-child(3) b { display: none; }
  .vf-aeat { grid-template-columns: 1fr; }
  .vf-aeat__line { height: 90px; width: 4px; justify-self: center; background: linear-gradient(180deg,var(--vf-blue),var(--vf-orange)); }
  .vf-aeat__line i { left: 50%; top: 30%; transform: translate(-50%,-50%); }
  .vf-aeat__line b { right: auto; left: 50%; top: auto; bottom: -3px; transform: translateX(-50%) rotate(90deg); }
  .vf-status-table__head, .vf-status-table > div:not(.vf-status-table__head) { grid-template-columns: 1fr; }
  .vf-linear-flow { display: grid; grid-template-columns: 1fr; }
  .vf-linear-flow b { transform: rotate(90deg); justify-self: center; }
  .vf-orbit { display: grid; gap: 10px; min-height: 0; padding: 18px; }
  .vf-orbit::before { display: none; }
  .vf-orbit__center, .vf-orbit__chip { position: static; width: 100%; min-width: 0; transform: none; }
  .vf-automation { grid-template-columns: 1fr; }
  .vf-seo, .vf-final__surface { padding: 28px 20px; border-radius: 24px; }
  .vf-final__flow { display: grid; grid-template-columns: 1fr; }
  .vf-final__flow b { transform: rotate(90deg); }
}
