/* Reviewed shell geometry, isolated from the frozen Vue stylesheet. */
.vilkritis-native-footer, .vilkritis-native-contact { font-family: Muli, sans-serif; }
.vilkritis-native-contact { line-height: normal; }
.vilkritis-native-footer *, .vilkritis-native-contact * { box-sizing: border-box; line-height: normal; }
.vilkritis-native-footer .centerfootercontainer { padding: 0 30px; max-width: 1280px; width: 100%; margin: 0 auto; }
.vilkritis-native-footer .footer { padding: 80px 0; background: #f6f6f6; }
.vilkritis-native-footer .of4 { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(24px,4vw,56px); width: 100%; margin: 0; }
.vilkritis-native-footer .of4 > div { min-width: 0; margin: 0; }
.vilkritis-native-footer .of4 .title { display: block; appearance: none; border: 0; border-radius: 0; padding: 0; margin: 0 0 20px; background: transparent; color: #1a1818; font-family: Prompt,sans-serif; font-size: 16px; font-weight: 700; letter-spacing: .48px; line-height: 20px; text-transform: uppercase; text-align: left; }
.vilkritis-native-footer .of4 .text { white-space: pre-line; color: #1a1818; font-size: 14px; font-weight: 600; line-height: 24px; }
.vilkritis-native-footer .of4 ul { list-style: none; padding: 0; margin: 0; }
.vilkritis-native-footer .of4 li { margin: 0 0 6px; }
.vilkritis-native-footer .of4 li a { color: #1a1818; text-decoration: none; font-size: 14px; font-weight: 600; line-height: 24px; }
.vilkritis-native-footer .of4 li a:hover { text-decoration: underline; }
.vilkritis-native-footer .imgc { width: min(280px,100%); margin: 40px auto 0; text-align: center; }
.vilkritis-native-footer .imgc:empty { display: none; }
.vilkritis-native-footer .imgc img { max-width: 100%; }
.vilkritis-native-footer .mid { display: flex; margin-top: 40px; justify-content: center; }
.vilkritis-native-footer .copy { padding: 10px 0; color: #8b8b8b; font-size: 13px; font-weight: 400; line-height: 26px; text-align: center; }
.vilkritis-native-footer .copy .centerfootercontainer { padding-right: 20px; padding-left: 20px; }
.vilkritis-native-footer .copy a { text-decoration: none; color: #8b8b8b; }
.vilkritis-native-footer .copy a:hover { text-decoration: underline; }
.vilkritis-native-footer .btnn, .vilkritis-native-contact .btnn { appearance: none; border: 0; height: 50px; padding: 5px 15px; z-index: 1; text-decoration: none; user-select: none; position: relative; cursor: pointer; background: transparent; display: flex; align-items: center; justify-content: center; transition: all .3s; width: 100%; max-width: 240px; min-width: 120px; font-family: Muli,sans-serif; font-size: 12px; font-weight: 900; letter-spacing: 1.6px; line-height: 12px; text-transform: uppercase; border-radius: 100px; overflow: hidden; text-align: center; }
.vilkritis-native-footer .btnn.max { height: 60px; min-width: 150px; max-width: 300px; color: #1a1818; border: 1px solid #f47920; }
.vilkritis-native-footer .btnn .rightico { display: block; margin-left: 15px; }
.vilkritis-native-footer .btnn svg path { transition: all .3s; }
.vilkritis-native-footer .btnn:hover { color: #fff; background: #f47920; }
.vilkritis-native-footer .btnn:hover svg path { fill: #fff; }
.vilkritis-native-contact-float.formabtn { display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 99; position: fixed; right: 20px; top: 50%; margin-top: -27px; width: 54px; height: 54px; border-radius: 50%; background: #f47920; transition: all .3s; }
.vilkritis-native-contact-float.formabtn svg path { fill: #fff; }
.vilkritis-native-contact-float.formabtn:hover { background: #ea7f39; }
/* The header contact link remains available; only the floating duplicate is
   hidden while the home hero is in view, so it cannot cover Pause / Play. */
body:has(.vilkritis-hero[data-hero-visible="true"]) .vilkritis-native-contact-float.formabtn { visibility: hidden; pointer-events: none; }
.vilkritis-native-contact-layer { position: fixed; inset: 0; z-index: 101; pointer-events: none; }
.vilkritis-native-contact-backdrop { position: absolute; inset: 0; pointer-events: auto; touch-action: none; }
.vilkritis-native-contact.formac { position: fixed; right: 0; top: 0; width: 100%; max-width: 680px; height: 100%; background: #fff; z-index: 101; padding: 80px 100px; overflow: auto; overscroll-behavior: contain; pointer-events: auto; animation: vilkritis-contact-enter .3s; }
.vilkritis-native-contact.formac.is-closing { animation: vilkritis-contact-exit .3s forwards; }
.vilkritis-native-contact h3 { margin: 0 0 30px; padding: 0; color: #1a1818; font-family: Prompt,sans-serif; font-size: 42px; font-weight: 300; line-height: 42px; text-transform: uppercase; }
.vilkritis-native-contact .closec { appearance: none; background: transparent; padding: 0; cursor: pointer; border-radius: 50%; position: absolute; right: 20px; top: 20px; display: flex; justify-content: center; align-items: center; width: 56px; height: 56px; border: 1px solid #f36a10; }
.vilkritis-native-contact .form { margin: 0; }
.vilkritis-native-contact .inputrow { margin-bottom: 16px; }
.vilkritis-native-contact .inputrow:last-child { margin-bottom: 0; }
.vilkritis-native-contact .select { position: relative; }
.vilkritis-native-contact .select::after { transform-origin: center bottom; content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; background: #f36a10; transform: scaleY(0); transition: all .3s; }
.vilkritis-native-contact .select.focus::after { transform: scaleY(1); }
.vilkritis-native-contact .select .placeholder { display: block; pointer-events: none; transform: translateY(26px); transition: all .3s; margin: 0; color: #7d858d; font-size: 16px; font-weight: 300; line-height: 16px; transform-origin: left bottom; }
.vilkritis-native-contact .select.notempty .placeholder, .vilkritis-native-contact .select.focus .placeholder { transform: translateY(0) scale(.8); }
.vilkritis-native-contact .select input, .vilkritis-native-contact .select textarea { appearance: none; outline: none; border-radius: 0; border: 0; transition: all .3s; height: 40px; width: 100%; padding: 8px 0; color: #1a1818; font-family: Muli,sans-serif; font-size: 16px; font-weight: 600; line-height: 16px; margin: -5px 0 0; border-bottom: 1px solid #1a1818; display: flex; align-items: center; background: #fff; }
.vilkritis-native-contact .select textarea { min-height: 74px; resize: none; line-height: 18px; }
.vilkritis-native-contact .select.error input, .vilkritis-native-contact .select.error textarea { border-color: #f47920; }
.vilkritis-native-contact .errortxt { overflow: hidden; position: absolute; left: 0; top: 100%; color: #f47920; font-size: 10px; font-weight: 400; line-height: 14px; z-index: 2; }
.vilkritis-native-contact .chcechk { margin: 15px 0 25px; }
.vilkritis-native-contact .chekbox { user-select: none; }
.vilkritis-native-contact .chekbox .in { display: flex; }
.vilkritis-native-contact .chekbox .c { appearance: none; flex-shrink: 0; cursor: pointer; transition: all .3s; width: 20px; height: 20px; border-radius: 4px; border: 1px solid #768797; position: relative; background: #fff; margin: 0 15px 0 0; padding: 0; }
.vilkritis-native-contact .chekbox .c:checked { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2011%208%22%3E%3Cpath%20d%3D%22M3.6%207.9L.1%204.4C0%204.3%200%204%20.1%203.8l.7-.7c.2-.2.5-.2.7%200L4%205.5%209.4.2c.2-.2.6-.2.7-.1l.7.7c.2.2.2.5%200%20.7L4.4%207.9c-.2.1-.6.1-.8%200z%22%2F%3E%3C%2Fsvg%3E"); background-position: center; background-size: 11px 8px; background-repeat: no-repeat; }
.vilkritis-native-contact .chekbox .text { cursor: pointer; color: #000; font-size: 16px; font-weight: 300; line-height: normal; margin: 0; }
.vilkritis-native-contact .chekbox .text a { color: #f36a10; text-decoration: underline; }
.vilkritis-native-contact .chekbox:hover .c { border-color: #979490; }
.vilkritis-native-contact .chekbox.error .c { border-color: #fe1121; }
.vilkritis-native-contact .action { display: flex; align-items: center; justify-content: flex-start; }
.vilkritis-native-contact .action > div:first-child { width: 210px; margin: 0; }
.vilkritis-native-contact .action > .end { width: calc(99.99% - 230px); margin: 0 0 0 20px; color: #000; font-size: 12px; font-weight: 400; line-height: normal; text-align: left; }
.vilkritis-native-contact .btnn.blue { color: #fff; background: #65378e; }
.vilkritis-native-contact .btnn.blue:hover, .vilkritis-native-contact .btnn.blue:focus { background: #00a9b8; }
.vilkritis-native-contact .btnn:disabled { pointer-events: none; }
.vilkritis-native-contact-spinner { display: none; position: absolute; width: 30px; height: 30px; border: 4px solid #fff; border-left-color: transparent; border-radius: 50%; animation: vilkritis-contact-spin 1s linear infinite; }
.vilkritis-native-contact [aria-busy="true"] .btnn .text { visibility: hidden; }
.vilkritis-native-contact [aria-busy="true"] .vilkritis-native-contact-spinner { display: block; }
.vilkritis-native-footer [hidden], .vilkritis-native-contact [hidden] { display: none !important; }
@keyframes vilkritis-contact-enter { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes vilkritis-contact-exit { from { transform: translateX(0); } to { transform: translateX(100%); } }
@keyframes vilkritis-contact-spin { to { transform: rotate(359deg); } }
@media (max-width: 1200px) {
  .vilkritis-native-contact.formac { padding: 40px 30px; max-width: 70%; }
  .vilkritis-native-contact-float.formabtn { display: none; }
}
@media (max-width: 1024px) { .vilkritis-native-footer .of4 { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 36px; } }
@media (max-width: 600px) {
  .vilkritis-native-footer .footer { padding: 40px 0; }
  .vilkritis-native-footer .of4 { grid-template-columns: minmax(0,1fr); gap: 0; }
  .vilkritis-native-footer .of4 > div { padding: 14px 0; border-bottom: 1px solid rgb(26 24 24 / 12%); }
  .vilkritis-native-footer .of4 .title { margin: 0; padding-right: 20px; position: relative; cursor: pointer; width: 100%; }
  .vilkritis-native-footer .of4 .title::after { position: absolute; right: 0; top: 50%; margin-top: -2px; content: ''; width: 0; height: 0; border-style: solid; border-width: 4px 4px 0; border-color: #0083c9 transparent transparent; }
  .vilkritis-native-footer .of4 .active { margin-top: 14px; }
  .vilkritis-native-footer .btnn.max { padding: 10px 15px; }
  .vilkritis-native-contact.formac { width: 100%; max-width: 100%; }
  .vilkritis-native-contact .closec { width: 40px; height: 40px; right: 10px; top: 10px; }
}
@media (max-width: 450px) {
  .vilkritis-native-contact .action { flex-wrap: wrap; }
  .vilkritis-native-contact .action > .end { width: 99.99%; margin: 10px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .vilkritis-native-contact.formac, .vilkritis-native-contact.formac.is-closing { animation: none; }
  .vilkritis-native-footer *, .vilkritis-native-contact * { transition: none; }
}
