/* Loaded only by the Slovak review page. All content is usable without JavaScript. */
@font-face { font-family: Anton; src: url("./Anton-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow Semi Condensed"; src: url("./BarlowSemiCondensed-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow Semi Condensed"; src: url("./BarlowSemiCondensed-SemiBold.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Barlow Semi Condensed"; src: url("./BarlowSemiCondensed-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
:root { --header-height: 89px; --heading-font: Anton, Impact, sans-serif; font-family: "Barlow Semi Condensed", "Segoe UI", sans-serif; }
body { font-size: 1.125rem; }
h1, h2, h3, .overview-title, .stats dt, .hero-lead, .button, .service-link, .text-link, .secondary-link, .email-link, .about-heading > p, .process-title { font-family: var(--heading-font); font-weight: 400; font-synthesis: none; overflow-wrap: anywhere; }
h2, .overview-content h2, .about-heading h2, .contact-section h2 { font-size: 3.5rem; line-height: 1.2; }
.services-grid-four .service h3, .experience-item h3 { font-size: 2rem; line-height: 1.3; }
.hero-lead { font-size: 2rem; line-height: 1.4; }
.hero-text { font-size: 1.25rem; }
.hero-actions .button { font-size: 1.25rem; }
.button-small, .service-link, .text-link, .secondary-link { font-size: 1.125rem; }
.primary-nav { font-size: 1.0625rem; }
.service-description, .service ul, .service-result p, .experience-item ul { font-size: 1.125rem; }
.about-story > p, .about-story .about-intro { font-size: 1.25rem; line-height: 1.6; color: var(--ink); }
.about-story > p strong { font-weight: 400; }
.about-heading > p { font-size: 1.625rem; }
.stats dt { font-size: 2.625rem; }
.brand, .footer-brand { font-family: "Segoe UI", Arial, sans-serif; }
.eyebrow, .small-label, .language-switch { font-family: inherit; }
.eyebrow, .small-label { font-size: 1rem; }
.brand { line-height: 1; }
.brand > span { transform: translateY(-.15em); }
.hero .hero-copy {
  min-height: calc(100svh - var(--header-height) - 24px);
  padding-block: 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero h1 { max-width: 1168px; color: #111; font-size: 7rem; line-height: 1.16; overflow-wrap: anywhere; }
.hero-line { overflow: hidden; padding-bottom: .13em; }
.hero-line + .hero-line { font-size: 1em; margin-top: 0; }
h1 .hero-line-content { display: inline-block; }
.hero-line-accent { color: inherit; }
.hero-actions { margin-top: 32px; }
.primary-nav { flex-wrap: wrap; }
.stats { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); }

#roadmap, .overview-link[href="#roadmap"] { --service-tint: #e8f1f8; --service-accent: #316a88; }
#workflow, .overview-link[href="#workflow"] { --service-tint: #e7f1e9; --service-accent: #407558; }
#delivery, .overview-link[href="#delivery"] { --service-tint: #fcf2be; --service-accent: #806519; }
#adoption, .overview-link[href="#adoption"] { --service-tint: #f7e9e8; --service-accent: #9b5159; }

.service-overview { background: var(--ink); color: white; }
.overview-stage { min-height: 100svh; padding-block: 64px; display: flex; align-items: center; position: relative; }
.overview-stage > .container { width: 100%; }
.overview-content h2 { margin-bottom: 44px; }
.service-overview ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 12px; }
.service-overview li { min-width: 0; display: flex; }
.overview-link {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 28px;
  width: 100%;
  min-height: min(62svh, 38rem);
  padding: 32px 24px;
  border-top: 4px solid var(--service-tint);
  background: #222c26;
  transition: background .4s, color .4s, transform .5s cubic-bezier(.2,.75,.2,1);
}
.overview-number { font-size: 5rem; font-weight: 500; line-height: 1; color: var(--service-tint); }
.overview-title { align-self: center; font-size: 2rem; font-weight: 400; line-height: 1.3; text-wrap: balance; overflow-wrap: anywhere; }
.overview-link > .arrow { width: 28px; height: 28px; justify-self: end; filter: invert(1); }
.overview-link:is(.is-active, :hover, :focus-visible) { background: var(--service-tint); color: var(--ink); transform: translateY(-16px); }
.overview-link:is(.is-active, :hover, :focus-visible) .overview-number { color: var(--service-accent); }
.overview-link:is(.is-active, :hover, :focus-visible) .arrow { filter: none; }
.overview-link:focus-visible { outline-color: white; outline-offset: 5px; z-index: 1; }
.overview-progress { display: none; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background: #414942; }
.overview-progress::after { content: ""; display: block; height: 100%; background: var(--brand-yellow); transform-origin: left; transform: scaleX(var(--overview-progress, 0)); }

/* Extra native scroll distance keeps the service selection in view; never intercept input. */
.service-overview.is-sticky { height: 170svh; }
.is-sticky .overview-stage { position: sticky; top: 0; height: 100svh; }
.is-sticky .overview-progress { display: block; }
.services-section { background: var(--brand-yellow); color: var(--ink); padding-block: 56px; }
.services-section .section-heading { margin-bottom: 24px; }
.service-pair + .service-pair { margin-top: 18px; }
.service-pair-stage { padding: 0; }
.service-pair.is-sticky { height: calc(var(--pair-height) + 96px); }
.service-pair.is-sticky .service-pair-stage { position: sticky; top: 24px; }
.service-pair-stage > .services-grid { width: 100%; }
.services-grid-four .service {
  --card-muted: #d0ddd5;
  --card-line: #4b6355;
  --card-accent: #d9e8dd;
  background: #222c26;
  color: #f6faf7;
  border-color: #4b6355;
  border-top: 4px solid #d9e8dd;
  transition: background .3s, color .3s, border-color .3s;
}
.services-grid-four .service:is(.is-current, :has(.service-link:focus-visible)) {
  --card-muted: #525c54;
  --card-line: #c7cec7;
  --card-accent: #183c30;
  background: #fff;
  color: var(--ink);
  border-color: #fff;
}
.services-grid-four .service-description, .services-grid-four .small-label { color: var(--card-muted); }
.services-grid-four .service-kicker > span, .services-grid-four .service li::marker { color: var(--card-accent); }
.services-grid-four .service-result { border-color: var(--card-line); }
.services-grid-four .service-link .arrow { filter: invert(1); }
.services-grid-four .service:is(.is-current, :has(.service-link:focus-visible)) .arrow { filter: none; }
.services-grid-four .service:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.service-result strong { font-weight: 700; }
.experience-section .section-heading h2 { max-width: 820px; }
.experience-section { background: var(--green); color: #fff; border-color: #527361; }
.experience-section .small-label, .experience-item > p:not(.small-label) { color: #d0ddd5; }
.experience-item { border-color: #89a394; }
.about-photo { width: min(100%, 300px); height: auto; aspect-ratio: 1; margin-top: 24px; border-radius: 4px; }

/* A connected route, rather than a second set of service cards. */
.process-section { padding-block: 88px; background: var(--paper); }
.process-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 72px; align-items: start; }
.process-layout > h2 { position: sticky; top: 48px; max-width: 320px; }
.process-list { list-style: none; margin: 0; padding: 0; }
.process-list li { position: relative; padding-bottom: 52px; }
.process-list li:last-child { padding-bottom: 0; }
.process-list li:not(:last-child)::before { content: ""; position: absolute; left: 31px; top: 32px; bottom: -32px; width: 2px; background: #bacbc1; }
.process-list li:has(.is-complete)::before { background: var(--green); }
.process-link { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) 24px; gap: 24px; align-items: start; min-height: 136px; }
.process-number { display: grid; place-items: center; width: 64px; height: 64px; border: 2px solid var(--green); border-radius: 50%; background: white; color: var(--green); font-family: var(--heading-font); font-size: 1.625rem; line-height: 1; transition: background .25s, color .25s; }
.process-copy { padding-top: 9px; }
.process-title { display: block; font-size: 2rem; line-height: 1.3; text-wrap: balance; }
.process-text { display: block; margin-top: 12px; font-size: 1.125rem; line-height: 1.6; color: var(--muted); }
.process-link > .arrow { margin-top: 18px; width: 24px; height: 24px; }
.process-link.is-complete .process-number { background: var(--green); color: white; }
.process-link:is(.is-active, :hover, :focus-visible) .process-number { background: var(--brand-yellow); color: var(--ink); }
.process-link:is(:hover, :focus-visible) .process-title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 6px; }
.process-link:focus-visible { outline-color: var(--green); border-radius: 4px; }

.motion-enabled .hero-line-content { animation: hero-enter .85s cubic-bezier(.2,.75,.2,1) both; }
.motion-enabled .hero-line:nth-child(2) .hero-line-content { animation-delay: .12s; }
.motion-enabled .hero-lead, .motion-enabled .hero-text, .motion-enabled .hero-actions { animation: copy-enter .7s .25s ease-out both; }
.motion-enabled .hero-text { animation-delay: .35s; }
.motion-enabled .hero-actions { animation-delay: .45s; }
@keyframes hero-enter { from { transform: translateY(110%); } to { transform: translateY(0); } }
@keyframes copy-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

@media (max-width: 1120px) {
  .hero h1 { font-size: 6.25rem; }
  .overview-link { padding-inline: 20px; }
  .overview-title { font-size: 1.75rem; }
  .overview-number { font-size: 4rem; }
}
@media (max-width: 860px) {
  :root { --header-height: 125px; }
  .hero .hero-copy { padding-block: 48px; }
  .hero h1 { font-size: 4.5rem; }
  h2, .overview-content h2, .about-heading h2, .contact-section h2 { font-size: 3rem; }
  .hero-lead { font-size: 1.75rem; }
  .process-layout { grid-template-columns: 1fr; gap: 40px; }
  .process-layout > h2 { position: static; max-width: none; }
  .process-section { padding-block: 62px; }
  .service-overview ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .services-grid-four .service { grid-template-areas: "title description" "result bullets" "link bullets"; }
  .services-grid-four .service h3 { grid-area: title; }
  .services-grid-four .service-description { grid-area: description; }
  .services-grid-four .service ul { grid-area: bullets; }
  .services-grid-four .service-result { grid-area: result; }
  .services-grid-four .service-link { grid-area: link; }
  .overview-link { min-height: 300px; gap: 24px; }
  .overview-stage { padding-block: 48px; }
}
@media (max-width: 600px) {
  :root { --header-height: 117px; }
  .hero .hero-copy { padding-block: 38px 48px; }
  .hero h1 { font-size: 3.5rem; }
  h2, .overview-content h2, .about-heading h2, .contact-section h2 { font-size: 2.75rem; }
  .hero-lead { font-size: 1.5rem; }
  .hero-text, .about-story > p, .about-story .about-intro { font-size: 1.125rem; }
  .services-grid-four .service h3, .experience-item h3 { font-size: 1.75rem; }
  .about-heading > p { font-size: 1.5rem; }
  .primary-nav { font-size: 1rem; }
  .process-section { padding-block: 48px; }
  .process-link { grid-template-columns: 48px minmax(0, 1fr); gap: 18px; min-height: 0; }
  .process-number { width: 48px; height: 48px; font-size: 1.25rem; }
  .process-list li:not(:last-child)::before { left: 23px; top: 24px; bottom: -24px; }
  .process-list li { padding-bottom: 40px; }
  .process-copy { padding-top: 4px; }
  .process-title { font-size: 1.625rem; }
  .process-link > .arrow { grid-column: 2; margin: 0; }
  .services-section { padding-block: 44px; }
  .overview-stage { padding-block: 44px; }
  .overview-content h2 { margin-bottom: 32px; }
  .service-overview ol { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr)); gap: 12px; }
  .overview-link { min-height: 270px; padding: 20px 14px; gap: 20px; }
  .overview-number { font-size: 2.5rem; }
  .overview-title { font-size: 1.5rem; line-height: 1.35; }
  .overview-link:is(.is-active, :hover, :focus-visible) { transform: translateY(-6px); }
}
@media (max-width: 380px) {
  .hero h1 { font-size: 3rem; }
  .service-overview ol { grid-template-columns: 1fr; }
  .overview-link { min-height: 180px; grid-template-columns: auto 1fr; grid-template-rows: auto auto; align-items: center; gap: 18px; padding: 24px; }
  .overview-title { font-size: 1.5rem; }
  .overview-link > .arrow { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .motion-enabled .hero-line-content, .motion-enabled .hero-lead,
  .motion-enabled .hero-text, .motion-enabled .hero-actions { animation: none; opacity: 1; transform: none; }
  .service-overview.is-sticky { height: auto; }
  .service-pair.is-sticky { height: auto; }
  .service-pair.is-sticky .service-pair-stage { position: relative; height: auto; }
  .is-sticky .overview-stage { position: relative; height: auto; }
  .is-sticky .overview-progress { display: none; }
  .overview-link:is(.is-active, :hover, :focus-visible) { transform: none; }
}
@media print {
  .service-overview { display: none; }
  .process-layout > h2 { position: static; }
  .process-list li { break-inside: avoid; }
  .service-pair.is-sticky { height: auto; }
  .service-pair.is-sticky .service-pair-stage { position: static; height: auto; display: block; }
  .services-section, .services-grid-four .service { background: white; color: black; --card-muted: #333; --card-line: #999; --card-accent: #333; }
  .experience-section, .experience-section .small-label, .experience-item > p:not(.small-label) { background: white; color: black; }
  .hero .hero-copy { min-height: 0; padding-block: 24px; }
  .hero-line { overflow: visible; }
  .motion-enabled .hero-line-content, .motion-enabled .hero-lead,
  .motion-enabled .hero-text, .motion-enabled .hero-actions { animation: none; opacity: 1; transform: none; }
}
