/* VIREVA retail identity: clear product discovery, warm surfaces, consistent type. */
@font-face {
  font-family: Manrope;
  src: url('assets/fonts/manrope-variable.ttf') format('truetype');
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}
:root {
  --ink: #192d3c;
  --navy: #192f43;
  --blue: #315eb4;
  --muted: #52616b;
  --line: #dde2e4;
  --warm: #f6f5f1;
}
body {font-family: Manrope, 'Segoe UI', sans-serif; color: var(--ink); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased;}
button,input,select,textarea {font-family: inherit;}
.container {max-width: 1240px;}
h1,h2,h3 {font-weight: 600; text-wrap: balance;}
h2 {font-size: clamp(35px,3.7vw,50px); letter-spacing: -1.7px; line-height: 1.16;}
p {color: var(--muted);}
.eyebrow {font-size: 11px; line-height: 1.5; letter-spacing: 1.4px; font-weight: 700;}
.site-header {height: 88px; background: #fff; border-bottom: 1px solid #edf0f1;}
.site-header nav {font-size: 13px; gap: 32px; font-weight: 650;}
.brand img {width: 162px;}
.button {min-height: 50px; padding: 14px 22px; font-size: 14px; font-weight: 650; border-radius: 4px; gap: 28px; background: var(--blue); border-color: var(--blue);}
.button:hover {background: #234a95; border-color: #234a95;}
.button-small {min-height: 44px; padding: 11px 18px; font-size: 13px;}
.text-link {font-size: 14px; font-weight: 650; gap: 24px;}
a:focus-visible,button:focus-visible,summary:focus-visible {outline: 3px solid #4975c5; outline-offset: 5px;}
.hero-enterprise {padding-top: 20px; padding-bottom: 36px; background: var(--warm);}
.hero-enterprise .hero-grid {width: min(calc(100% - 40px),1400px); min-height: 566px; padding: 58px max(44px,calc((1400px - 1240px)/2)) 95px; border-radius: 8px;}
.hero-enterprise .hero-copy {max-width: 690px;}
.hero-enterprise h1 {font-size: clamp(45px,4.15vw,62px); font-weight: 650; line-height: 1.14; letter-spacing: -2.4px; margin-bottom: 22px;}
.hero-enterprise h1>span {color: #bdceea;}
.hero-enterprise .eyebrow {font-size: 10px; color: #d7e2f1; letter-spacing: 1.45px; margin-bottom: 25px;}
.hero-enterprise .hero-intro {font-size: 20px; line-height: 1.6; margin-bottom: 14px; font-weight: 450;}
.hero-enterprise .hero-body {font-size: 14px; color: #e0e4e8; line-height: 1.75; max-width: 470px;}
.hero-enterprise .hero-visual:after {background: linear-gradient(90deg,rgba(18,34,46,.96),rgba(18,34,46,.85) 35%,rgba(18,34,46,.30) 73%,rgba(18,34,46,.07));}
.hero-enterprise .hero-actions {gap: 28px; margin-top: 26px;}
.hero-enterprise .hero-actions .button {background: #fff; border-color: #fff; color: #234a95; font-size: 14px; padding: 14px 22px;}
.hero-enterprise .hero-actions .button:hover {background: #e9eff9; border-color: #e9eff9;}
.hero-enterprise .hero-actions .text-link {font-size: 13px; border-color: #a5b0ba;}
.hero-enterprise .hero-visual figcaption {font-size: 9px; bottom: 62px; color: #edf0f3;}
.solution-cards {position: relative; z-index: 3; margin-top: -45px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; scroll-margin-top: 20px;}
.solution-card {display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #fff; border: 1px solid #dce1e3; border-radius: 7px; box-shadow: 0 6px 18px #20334609; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; text-decoration: none;}
.solution-card:hover {transform: translateY(-5px); border-color: #93acd9; box-shadow: 0 12px 30px #20334616;}
.solution-card:focus-visible {outline-offset: 5px; border-color: var(--blue);}
.card-image {display: block; height: 147px; overflow: hidden; background: #f6f7f7;}
.card-image img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease;}
.card-image-labels {background: #f8f9f9; padding: 16px 26px;}
.card-image-labels img {object-fit: contain; mix-blend-mode: multiply;}
.solution-card:hover .card-image img {transform: scale(1.035);}
.card-copy {display: flex; flex: 1; flex-direction: column; padding: 21px 25px 24px;}
.card-category {display: block; font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: #647176; font-weight: 650; margin-bottom: 8px;}
.card-copy>strong {font-size: clamp(18px,1.6vw,22px); line-height: 1.35; letter-spacing: -.65px; font-weight: 700; color: var(--ink);}
.card-description {font-size: 12px; color: var(--muted); margin: 9px 0 20px; line-height: 1.6;}
.card-action {display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding: 11px 15px; min-height: 44px; border-radius: 3px; background: #eef2f9; color: #28519b; font-size: 12px; font-weight: 700; transition: background .2s ease,color .2s ease;}
.card-action>span {font-family: Arial,sans-serif; font-size: 20px; line-height: 1;}
.solution-card:hover .card-action,.solution-card:focus-visible .card-action {background: var(--blue); color: #fff;}
.identity-strip {background: #fff; border-top: 0; border-bottom: 1px solid var(--line);}
.identity-strip>.container {padding-block: 22px;}
.identity-strip p {font-size: 12px; line-height: 1.7; color: #52616b;}
.identity-strip a {font-size: 12px; font-weight: 650;}
.section {padding-block: 90px;}
.section-heading {margin-bottom: 46px; align-items: flex-end;}
.section-heading>p {font-size: 15px; line-height: 1.85; max-width: 380px;}
.solution-panel {display: grid; grid-template-columns: 1fr 1fr; gap: 0; overflow: hidden; background: #f7f8f8; border-radius: 6px; margin-bottom: 30px; scroll-margin-top: 20px; border: 1px solid #e5e8e9;}
.solution-panel:nth-of-type(2) {background: #f6f3ed;}
.solution-panel:nth-of-type(2) .solution-image {order: 2; padding: 0; background: #172d46;}
.solution-panel:nth-of-type(2) .solution-image img {height: 100%; object-fit: cover; object-position: 50% 62%;}
.solution-image {min-height: 455px; height: auto; background: #f1f3f4;}
.solution-image img {width: 100%; height: 100%; object-fit: cover;}
.solution-image.label-range {background: #f2f4f5; padding: 26px; display: flex; align-items: center;}
.solution-image.label-range img {height: auto; object-fit: contain; mix-blend-mode: multiply;}
.image-note {font-size: 10px; background: rgba(255,255,255,.94); color: #52616b; padding: 7px 10px; border-radius: 3px;}
.solution-copy {padding: 45px 48px; align-self: center;}
.solution-copy .eyebrow {font-size: 10px; letter-spacing: 1px; color: #35558a; margin-bottom: 20px;}
.solution-copy h3 {font-size: 36px; line-height: 1.18; letter-spacing: -1.25px; font-weight: 600; margin-bottom: 22px;}
.solution-copy>p:not(.eyebrow) {font-size: 14px; line-height: 1.85;}
.check-list {font-size: 12px; line-height: 1.7; margin-block: 23px 27px;}
.check-list li {margin-bottom: 9px;}
.button.button-outline {color: #2a5198; background: #fff; border: 1px solid #bac9df; min-height: 46px; font-size: 12px; padding: 12px 17px;}
.button.button-outline:hover {color: #fff; background: var(--blue); border-color: var(--blue);}
.technical-note {font-size: 11px; line-height: 1.75; margin-top: 20px;}
.connection-section {margin-top: 58px; padding-top: 35px;}
.connection-heading h3 {font-size: 28px; font-weight: 600; letter-spacing: -.8px;}
.connection-heading p {font-size: 14px;}
.connection-flow {gap: 40px; margin-block: 35px 26px;}
.connection-flow li>span {font-size: 10px; letter-spacing: .7px;}
.connection-flow strong {font-size: 21px; font-weight: 600;}
.connection-flow p {font-size: 13px;}
.connection-section>.text-link {font-size: 13px;}
.connection-note {font-size: 11px;}
.demo-section {background: #eef2f5; padding-block: 86px;}
.demo-copy h2 {font-size: 43px; letter-spacing: -1.6px;}
.demo-copy>p:not(.eyebrow) {font-size: 15px; line-height: 1.85;}
.demo-copy .demo-note {font-size: 11px!important;}
.demo-step {font-size: 13px;}
.demo-step small {font-size: 9px;}
.demo-playback,.demo-playback button {font-size: 10px;}
.esl-screen {font-family: Arial,sans-serif;}
.application-list h3 {font-size: 24px; font-weight: 600; letter-spacing: -.7px;}
.application-list p {font-size: 14px; line-height: 1.8;}
.application-list article {padding-block: 26px;}
.application-figure figcaption {font-size: 10px;}
.about-section {background: #1c3347; padding-block: 85px 75px;}
.about-section h2 {font-size: 48px; line-height: 1.15;}
.about-copy .large-copy {font-size: 23px; font-weight: 500; line-height: 1.6;}
.about-copy>p {font-size: 14px; line-height: 1.9; color: #d4dee6;}
.process h3 {font-size: 20px; font-weight: 600;}
.process p {font-size: 13px; line-height: 1.8; color: #cad6df;}
.process article>span {font-size: 10px;}
.faq-list summary {font-size: 15px; font-weight: 650; padding-block: 25px;}
.faq-list details p {font-size: 14px; line-height: 1.9;}
.enquiry-section {background: var(--warm); padding-block: 90px;}
.enquiry-intro h2 {font-size: 47px;}
.enquiry-intro>p:not(.eyebrow) {font-size: 15px; line-height: 1.9; max-width: 380px;}
.enquiry-form {border: 1px solid #e0e3e3; border-radius: 6px; box-shadow: 0 8px 35px #20334607; padding: 36px;}
.enquiry-form h3 {font-size: 25px; font-weight: 600; letter-spacing: -.75px;}
.form-intro {font-size: 11px;}
.field label {font-size: 12px; font-weight: 650;}
.field label small {font-size: 11px;}
.field input,.field textarea,.field select {font-size: 14px; min-height: 47px; border-color: #cdd5da; border-radius: 3px;}
.form-privacy,.enquiry-result>p {font-size: 11px; line-height: 1.8;}
.footer-main>p {font-size: 15px;}
.footer-main>a:last-child {font-size: 21px; font-weight: 600;}
.footer-bottom {font-size: 10px; line-height: 1.7;}
@media(max-width:1100px) {
  .hero-enterprise .hero-grid {padding-inline: 40px; min-height: 535px;}
  .hero-enterprise h1 {font-size: 52px;}
  .hero-enterprise .hero-intro {font-size: 19px;}
  .solution-cards {gap: 16px;}
  .card-copy {padding: 20px;}
  .card-copy>strong {font-size: 19px;}
  .card-description {min-height: 39px;}
  .solution-copy {padding: 35px;}
  .solution-copy h3 {font-size: 31px;}
  .solution-image {min-height: 465px;}
  .demo-copy h2 {font-size: 36px;}
}
@media(max-width:850px) {
  .site-header nav {gap: 19px; font-size: 11px;}
  .site-header nav .button {font-size: 11px; gap: 14px;}
  .brand img {width: 135px;}
  .hero-enterprise h1 {font-size: 48px;}
  .hero-enterprise .hero-copy {max-width: 560px;}
  .hero-enterprise .hero-visual:after {background: linear-gradient(90deg,rgba(18,34,46,.95),rgba(18,34,46,.72) 65%,rgba(18,34,46,.25));}
  .card-copy {padding: 17px;}
  .card-category {font-size: 8px;}
  .card-copy>strong {font-size: 18px; min-height: 49px;}
  .card-description {font-size: 11px; min-height: 53px;}
  .card-action {font-size: 10px; padding-inline: 10px;}
  .card-image {height: 116px;}
  .card-image-labels {padding-inline: 12px;}
  .section-heading>p {font-size: 14px; max-width: 280px;}
  .solution-copy {padding: 30px;}
  .solution-copy h3 {font-size: 29px;}
  .solution-copy>p:not(.eyebrow) {font-size: 13px;}
  .check-list {font-size: 11px;}
  .solution-image {min-height: 475px;}
  .enquiry-grid {grid-template-columns: 1fr;}
}
@media(max-width:650px) {
  html {scroll-padding-top: 88px;}
  .container {width: calc(100% - 40px);}
  .site-header {height: 72px;}
  .site-header nav {font-size: 14px; gap: 8px;}
  .site-header nav .button {font-size: 13px;}
  .brand img {width: 136px;}
  .hero-enterprise {padding-top: 10px; padding-bottom: 28px;}
  .hero-enterprise .hero-grid {width: calc(100% - 20px); min-height: 560px; padding: 39px 24px 82px; border-radius: 6px;}
  .hero-enterprise h1 {font-size: clamp(33px,8.7vw,48px); line-height: 1.18; letter-spacing: -1.3px; margin-bottom: 22px;}
  .hero-enterprise .eyebrow {font-size: 8px; letter-spacing: .7px; margin-bottom: 23px;}
  .hero-enterprise .hero-intro {font-size: 17px; line-height: 1.65;}
  .hero-enterprise .hero-body {font-size: 13px;}
  .hero-enterprise .hero-actions {flex-direction: column; align-items: flex-start; gap: 20px; margin-top: 24px;}
  .hero-enterprise .hero-actions .button {font-size: 13px; padding: 13px 18px;}
  .hero-enterprise .hero-actions .text-link {font-size: 12px;}
  .hero-enterprise .hero-visual figcaption {left: 24px; right: 18px; bottom: 38px; font-size: 8px;}
  .solution-cards {grid-template-columns: 1fr; gap: 14px; margin-top: -21px; scroll-margin-top: 16px;}
  .solution-card {display: grid; grid-template-columns: 103px minmax(0,1fr); align-items: stretch;}
  .card-image {height: 100%; min-height: 172px;}
  .card-image-labels {padding: 8px;}
  .card-image-labels img {object-fit: contain;}
  .card-copy {padding: 15px 14px;}
  .card-category {font-size: 8px; margin-bottom: 5px; letter-spacing: .6px;}
  .card-copy>strong {font-size: 17px; line-height: 1.3; letter-spacing: -.45px; min-height: 0;}
  .card-description {font-size: 11px; line-height: 1.5; min-height: 0; margin: 7px 0 12px;}
  .card-action {font-size: 10px; min-height: 39px; padding: 8px 10px;}
  .identity-strip>.container {display: block; padding-block: 20px;}
  .identity-strip p {font-size: 11px;}
  .identity-strip a {display: inline-flex; margin-top: 10px; font-size: 11px;}
  .section {padding-block: 64px;}
  h2 {font-size: 35px; line-height: 1.2; letter-spacing: -1.3px;}
  .section-heading {margin-bottom: 30px;}
  .section-heading>p {font-size: 14px; line-height: 1.85; max-width: none; margin-top: 19px;}
  .eyebrow {font-size: 10px; letter-spacing: 1px;}
  .solution-panel {grid-template-columns: 1fr; margin-bottom: 23px; scroll-margin-top: 16px;}
  .solution-panel:nth-of-type(2) .solution-image {order: 0;}
  .solution-image {height: 225px; min-height: 225px;}
  .solution-image.label-range {padding: 18px;}
  .solution-image.label-range img {height: 100%;}
  .solution-copy {padding: 28px 25px 31px;}
  .solution-copy h3 {font-size: 30px; letter-spacing: -1px; margin-bottom: 19px;}
  .solution-copy .eyebrow {font-size: 9px; margin-bottom: 18px;}
  .solution-copy>p:not(.eyebrow) {font-size: 14px;}
  .check-list {font-size: 12px;}
  .technical-note {font-size: 10px;}
  .connection-heading h3 {font-size: 27px;}
  .connection-heading p {font-size: 13px;}
  .connection-flow {gap: 26px 22px;}
  .connection-flow strong {font-size: 18px;}
  .connection-flow p {font-size: 12px;}
  .connection-flow li>span {font-size: 8px; letter-spacing: .5px;}
  .connection-note {font-size: 10px;}
  .demo-section {padding-block: 60px 30px;}
  .demo-copy h2 {font-size: 33px;}
  .demo-copy>p:not(.eyebrow) {font-size: 14px;}
  .demo-copy .demo-note {font-size: 10px!important;}
  .application-list h3 {font-size: 22px;}
  .application-list p {font-size: 14px;}
  .about-section {padding-block: 62px 50px;}
  .about-section h2 {font-size: 36px;}
  .about-copy .large-copy {font-size: 21px;}
  .about-copy>p {font-size: 14px;}
  .process h3 {font-size: 21px;}
  .process p {font-size: 13px;}
  .faq-list summary {font-size: 14px;}
  .faq-list details p {font-size: 13px;}
  .enquiry-section {padding-block: 62px;}
  .enquiry-intro h2 {font-size: 36px;}
  .enquiry-intro>p:not(.eyebrow) {font-size: 14px;}
  .enquiry-form {padding: 25px 21px;}
  .enquiry-form h3 {font-size: 23px;}
  .field input,.field select,.field textarea {font-size: 16px;}
  .form-privacy {font-size: 10px;}
  .footer-main>p {font-size: 12px;}
  .footer-bottom {font-size: 9px;}
}
@media(max-width:360px) {
  .solution-card {grid-template-columns: 82px minmax(0,1fr);}
  .card-copy {padding-inline: 12px;}
  .card-copy>strong {font-size: 16px;}
  .hero-enterprise .hero-grid {padding-inline: 21px;}
  .hero-enterprise h1 {font-size: 32px;}
}
@media(prefers-reduced-motion:reduce) {
  .solution-card,.card-image img,.card-action {transition: none;}
  .solution-card:hover,.solution-card:hover .card-image img {transform: none;}
}
